INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Multi channel convolution ?  (Read 8703 times)

mcw

  • Recent member
  • *
  • Posts: 35
Multi channel convolution ?
« on: January 20, 2017, 04:55:10 pm »

Hi,   I'm hoping to use a classic ID to manage a 6 output, stereo 3-way configuration, with FIR filters on each output.

The FIR filters are built and currently in use in miniDSP units; separate files for sub, mid, and high.
I'd sure like to see how convolution works with MC  :)

A few questions please....

Can the ID handle 6 channels of say around 12,000 taps per channel (44.1) ?
If the classic NUC is too slow, but a faster NUC would work with the SSD drive moved over, I'm still interested because the small form factor is very important.

In DSP studio's Parametric Eq, I have Left copied to 3 channels, and the same for Right.
I set Output Format Channels to '2 channels (inside 7.1 channel container)'.
I used 7.1, because I also run the speakers 4-way at times (removing a passive x-over).
I've established how the 6 channels map into the DAC I'm using, and that they appear to be working properly....

But to double check, is this the Channel setting correct (even if using only 6 channels) ?
Any other important settings before getting to the FIR part?

Oh, what is the smallest Delay increment available in Parametric EQ? 

I've searched and read I will need a config file for mapping the FIR files to the output channels.
I think I see how to do it via http://convolver.sourceforge.net/configegs.html
Or is there a better way, and/or better instructional links?

Once I've made the config.txt file, how do I get it and the FIR files into the NUC for MC to access them?
Sorry, I'm a real dummy when I get away from a regular PC....dummy there too haha

Thanks gents,   Mark
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #1 on: January 21, 2017, 03:25:28 am »

Can the ID handle 6 channels of say around 12,000 taps per channel (44.1) ?
For comparison an rpi2 can do 2 channels at 64k taps so I would be v surprised if even the N3050 in the NUC can't do 6 channels at 12k taps. I don't have one though so can't be sure about that.

But to double check, is this the Channel setting correct (even if using only 6 channels) ?
Any other important settings before getting to the FIR part?
sounds fine

I've searched and read I will need a config file for mapping the FIR files to the output channels.
I think I see how to do it via http://convolver.sourceforge.net/configegs.html
Or is there a better way, and/or better instructional links?
it supports a cfg file or a wav though I'm not sure if it supports a multichannel wav file or not

the config format is fairly simple in that it's just a number of paths where each path just describes input channel -> correction filter -> output channel

some features in the cfg spec are not supported, some details (and some examples) in https://yabb.jriver.com/interact/index.php?topic=95806.0

you may want to be aware of https://yabb.jriver.com/interact/index.php?topic=102394.0 with regards to how the cfg is loaded/cached

if you get stuck just post your cfg file and someone will comment

Once I've made the config.txt file, how do I get it and the FIR files into the NUC for MC to access them?
https://wiki.jriver.com/index.php/Id says it exposes a samba share so you should be able to copy files to it from within your network. By regular PC do you mean a windows machine? In which case you go to windows explorer and map network drive.
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #2 on: January 21, 2017, 08:35:52 am »


it supports a cfg file or a wav though I'm not sure if it supports a multichannel wav file or not

the config format is fairly simple in that it's just a number of paths where each path just describes input channel -> correction filter -> output channel



if you get stuck just post your cfg file and someone will comment
https://wiki.jriver.com/index.php/Id says it exposes a samba share so you should be able to copy files to it from within your network. By regular PC do you mean a windows machine? In which case you go to windows explorer and map network drive.

Thanks so much for the reply.  I see you've been a great contributor on this subject.

Here's the config.txt file I'm hoping will work..it uses the same FIR filter on Left and Right for each band-pass.  Really simple I hope...
It's a product of reading this thread...http://yabb.jriver.com/interact/index.php/topic,97359.msg672083.html#msg672083

If the config file is ok, where I'm stuck is trying to get it and the FIR.wav's into MC on the NUC....  what I've called the " NUC:\MC\ " part of the path....

I'm using Win 10 and can explore the ID which only brings up two folders, External Storage and Internal Storage.  I can map Internal Storage as a network drive, and then place a new JRimpulse folder along with config.txt and FIR.wav(s) into InternalStorage\Media. (Permission to place a new folder in other folders in Internal Storage was denied.)
 
But then I can't find that JRimpulse folder on the ID when I look for it directly at the unit, or via remote desktop connection on my PC.
 
I looked at the https://wiki.jriver.com/index.php/Id link where you mention the samba share, but I don't understand what samba share implies or if the sync media instructions are part of the equation or not...so I'm stuck..

Again,  thank you !!







Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #3 on: January 21, 2017, 01:10:45 pm »

cfg seems ok though note that linux paths are of the form /mnt/JRimpulses/sub.wav (i.e. forward slash not back slash & generally spaces are avoided)

can't comment on the id filesystem side of things
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #4 on: January 21, 2017, 01:45:46 pm »

Gotcha.  I put forward / in config.txt location; and left back \ in wav file locations.

And well, I've got it working as long as I just source the files from a USB stick  ;D

The only thing that seems maybe funny is that I was expecting speaker order to come out of the DAC channels in the order of the config file assignment
ie: 0=subL, 1=subR, 2=midL, 3=midR, 4=highL, 5=highR. 
Instead, out of the DAC, the highs came out in order before the mids...

I'm getting close to giving a speaker/amp hookup a go !

Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #5 on: January 21, 2017, 02:06:51 pm »

that does sound odd, it should come out as you expected. Are you using 2 channel in a 7.1 container? if so I wonder if saying you have 6 output channels in the convolver but 8 output channels in jriver causes any funkiness? any other PEQ mixing (move channels) around?
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #6 on: January 21, 2017, 03:16:49 pm »

that does sound odd, it should come out as you expected. Are you using 2 channel in a 7.1 container? if so I wonder if saying you have 6 output channels in the convolver but 8 output channels in jriver causes any funkiness? any other PEQ mixing (move channels) around?

Yes, using 2 channel in 7.1 container.  I added the 7th and 8th channels in DSP mixer, but just didn't give them a FIR wav.  They came out of the DAC full spectrum as expected.

I hooked up the mid and high speaker, and it sounded OK...but something not quite right...

I'm going to redo everything, putting 6 channels in a 5.1 container.

Also should say I have an overly complicated test bed right now...could be some user setup error for sure...will report back.  Pretty happy to have gotten this far already
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #7 on: January 22, 2017, 06:53:37 pm »


I'm going to redo everything, putting 2 channels in a 5.1 container.


OK, tried putting 6 channels in a 5.1 container, and found that the channels continued to output in a different order than specified by the convolution config file. They came out in the same order as 2 in 7.1 container.

So after a lot of just plain trying combinations of mishmash of the below...
: 10 channels vs 2 in 7.1 vs 2 in 5.1 
:  reordering mixing rules in the Parametric EQ module
:  using JRSS vs no upmixing or downmixing
:  different speaker output orders in config file..

I came to this which seems to be working great.
Just 10 channels and convolution....nothing else.
No mixing rules. And it doesn't appear to matter whether using JRSS or not.
   
From posts I've read, not needing mixing rules surprised me
...any definitive info on how this works (or if I need to be using them)?

How about JRSS vs no upmixing/downmixing in this application?

I added 2 channels with small all pass FIR files to the end of the 6 channel config file, so now the ID is processing 8 channels.
6 channels are 6144 taps each, 2 reference unfiltered channels, L, R are 256 taps each. 
Performance stays a little above 8X.

Next step is to double the sub and mid channel tap counts, and see how performance hangs in.

Please do advise if you see I'm missing something or am using sub-optimal settings.  I am sooooo new to DSP studio . 
Thx.   Mark

Oh, big PS.
Is there a way to get external content into the ID? 
for example, REW's test sweep? 
Logged

sorepinky

  • Guest
Re: Multi channel convolution ?
« Reply #8 on: January 23, 2017, 01:32:41 am »

As to the smallest delay increment, I think it needs one more decimal place to enable decent alignment of a tweeter with a midrange so that the summed acoustic amplitude response is flat.  Say you need 75 microseconds of tweeter delay to compensate for the physical offset of the drivers' acoustic centres on a flat baffle, DSP Studio rounds 0.075 up to 0.08 milliseconds.
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #9 on: January 23, 2017, 04:06:50 am »

that seems a little excessive to put it mildly, bear in mind 5micros is a distance of about 1.8mm and is approximately a single sample at 192kHz. In crossover terms, that's approximately a 9 degree phase difference at 5kHz.

I would also not be surprised if achieving microsecond precision on windows is a bit optimistic, certainly it didn't used to be possible but I haven't looked at that in years... something for the devs to comment on.

In DSP studio's Parametric Eq, I have Left copied to 3 channels, and the same for Right.
I only just noticed this, are you still doing it? you don't need to, your cfg file was sufficient.

OK, tried putting 6 channels in a 5.1 container, and found that the channels continued to output in a different order than specified by the convolution config file. They came out in the same order as 2 in 7.1 container.
something is odd but I don't know what, if the only thing active is your convolver then the routing in there is the only thing that shoudl create output anywhere. You can post your cfg and filter files somewhere if you like and I'll give it a try.

From posts I've read, not needing mixing rules surprised me
...any definitive info on how this works (or if I need to be using them)?

How about JRSS vs no upmixing/downmixing in this application?
it just depends what you want to do, if you need to downmix multichannel input to stereo then you can use jrs but if all your sources are stereo then you don't need it.

I added 2 channels with small all pass FIR files to the end of the 6 channel config file, so now the ID is processing 8 channels.
6 channels are 6144 taps each, 2 reference unfiltered channels, L, R are 256 taps each. 
Performance stays a little above 8X.
are you attemping to cascade filters? e.g. pass the L input channel through a bandpass filter and output to channel x and then apply another all pass filter to that output. if so, jriver doesn't support this, you have to combine the 2 filters into 1 yourself.

Is there a way to get external content into the ID? 
for example, REW's test sweep? 
I've been replying to you on diya so I think my answer from there stands, i.e. export the sweep from REW and manually press measure or export pink PN noise and use a high resolution RTA.
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #10 on: January 23, 2017, 02:16:18 pm »


something is odd but I don't know what, if the only thing active is your convolver then the routing in there is the only thing that shoudl create output anywhere. You can post your cfg and filter files somewhere if you like and I'll give it a try.
it just depends what you want to do, if you need to downmix multichannel input to stereo then you can use jrs but if all your sources are stereo then you don't need it.
are you attemping to cascade filters? e.g. pass the L input channel through a bandpass filter and output to channel x and then apply another all pass filter to that output. if so, jriver doesn't support this, you have to combine the 2 filters into 1 yourself.
I've been replying to you on diya so I think my answer from there stands, i.e. export the sweep from REW and manually press measure or export pink PN noise and use a high resolution RTA.


I don't know why the '2 in containers' are reordering, but 10 channels is working so well I don't see the need to investigate.  Thanks for the offer to dig in.

I'm only stereo input. Now that I get JRSS is for multichannel, one less item in the mix.

Not trying to cascade FIRs...would like to get to understand that, but not on today's menu.

Thx for help on diya too!   I'll just use smaart for measurements...I can always import smaart's transfer or impulse files into REW for analysis there, if needed.  I 've checked the two programs measurements against each other.  They are remarkably and happily the same.

Ok, progress report...
As per earlier posts, Performance was showing about 8X,
that was for 6 channels of 6,144 taps, and 2 channels of 256.

The ID is now running 18,432 taps on 4 channels of subs and mids, 6,144 taps on 2 channels of highs, and 256 taps on 2 of reference.
Performance is in the low 7X's.

This is really great news IMO.
 
The only drawback now is the inability to flow external media through the ID.
I hate to think I might be headed down the route of a new small form factor windows box to be in tap heaven, but I sure might be....
Logged

sorepinky

  • Guest
Re: Multi channel convolution ?
« Reply #11 on: January 23, 2017, 03:52:25 pm »

that seems a little excessive to put it mildly, bear in mind 5micros is a distance of about 1.8mm and is approximately a single sample at 192kHz. In crossover terms, that's approximately a 9 degree phase difference at 5kHz.

You might as well go back to passive crossovers if 5% (9 degrees c.f. inversion/cancellation) is your standard "to put it mildly".
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #12 on: January 23, 2017, 04:45:17 pm »

The only drawback now is the inability to flow external media through the ID.
I hate to think I might be headed down the route of a new small form factor windows box to be in tap heaven, but I sure might be....
if you purely want to use it for convolution then you may want to consider a dedicated linux box.

You might as well go back to passive crossovers if 5% (9 degrees c.f. inversion/cancellation) is your standard "to put it mildly".
well no, you'd just use a phase correcting filter for that sort of fine tuning. Out of interest, which software provides microsecond delay resolution ?

Logged

sorepinky

  • Guest
Re: Multi channel convolution ?
« Reply #13 on: January 23, 2017, 06:17:52 pm »

I'm not going to argue with you over a decimal place.  I already use a phase correction (analogue all-pass filter to the tweeter amp).  It is tuned to 71 microseconds at my x-over frequency and absolutely eliminates near-quadrature misalignment at that frequency.

It is non-ideal because even with steep LR24 filters it causes amplitude anomalies up at around 6kHz.  Digital delay could be superior because it would not upset the tweeter's phase response above the crossover point where acoustic summing still occurs, but if it's too hard to add a decimal place then I'm not interested in using DSP Studio to even try it.  It is clearly set up for large dimensions of a room with multiple "surround" speakers - not the close proximity of a tweeter to a mid on the same baffle.

In answer to your question "MC22" could be the answer!  All it would take is a decimal point!
Logged

mcw

  • Recent member
  • *
  • Posts: 35
Re: Multi channel convolution ?
« Reply #14 on: January 24, 2017, 08:14:10 am »

if you purely want to use it for convolution then you may want to consider a dedicated linux box.

My favorite system setup has been to use an Id as my recorded-music source, feeding a x-32 mixer's USB card.  The x-32 then sends an AES output to the bank of three openDRCs that provide my FIR speaker management. 
The x-32 allows me to input guests phones/mp3 players, test signals, live signals, run speaker comparisons, etc etc... I find a digital mixer absolutely invaluable nowadays, but i digress...

Anyway, it seems if I want to go the PC convolution route, there are two main alternatives that keep the mixer and MC in play.

First would be to keep using the ID and get a small form PC for convolution only, that replaces the openDRCs.

Second would be to get a PC that can continue to send MC to the x-32 (via USB), and also receive a stereo digital output from the x-32 to use MC's convolution  (or maybe another convolver?) to provide outputs to the amps.
Ideally this 'do-everything' PC would have an output soundcard with both 8 digital and 8 balanced outputs, but I could live with single ended if necessary.
And it would need to be small enough to fit in a few rack spaces.

I'd appreciate your take on my thinking here....and am very open to alternatives... thx!  :)
   
Logged

mattkhan

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 4226
Re: Multi channel convolution ?
« Reply #15 on: January 24, 2017, 08:39:12 am »

personally I would use option 1, a separate dedicated box. The main reasons being; I don't find jriver's audio inputs to be especially stable or performant though whether this is a function of windows or jriver is hard to say, I'd prefer such a box to run headless and not be something that someone (me) is fiddling with regularly.
Logged
Pages: [1]   Go Up