Multichannel convolution with mc.buffir~

Peter Dodds's icon

I am looking for a way to convolve a mono sound file with multiple IRs in the MC environment. Say I have an 8ch IR in a buffer. Could I instantiate an mc.buffir~ @chans 8 and route my mono source so that it convolves with each of the channels in the buffer and could be mc.unpack~'ed in to 8 convolved audio streams? Right now it seems as though the audio is only convolving with the first channel of the target buffer. This would save some major patching time.

Thanks.

Peter Dodds's icon

Here's an example. It appears that I'm getting the same output out of both channels of mc.unpack.

Max Patch
Copy patch and select New From Clipboard in Max.

Peter Dodds's icon

Thanks for your insight! Hopefully someone else may have a solution, but I think you're right.

Andrew Benson's icon

If you split the IRs into more than one buffer~, you can use @values test1 test2 (etc) to set the buffer uniquely for each wrapped buffir~. Check the "MC Wrapper Features Help" patch for more info.

Max Patch
Copy patch and select New From Clipboard in Max.

Joshua Kit Clayton's icon

Another possibility is to look at doing whatever you like with mc.gen~. Below isn't in and of itself a solution, but it is an example that demonstrates getting audio data in and out of mc.gen~ using buffer objects, as well as how to make use of the mc_channel variable to address the different channels.

If you take some of the general techniques in this patch and combine them with the gen.buffir.maxpat example in the distribution, you should be able to cobble together what you're looking for.

These techniques can also be used to reference multiple input channels in a single output channel and vice versa, and other things, so they are well worth cribbing from.

Max Patch
Copy patch and select New From Clipboard in Max.