Suggestions for how to deal with multichannel convolution reverb

266 views
Skip to first unread message

Michael Norris

unread,
Jul 25, 2013, 3:43:13 AM7/25/13
to cec-conference
Hi there

I'm writing a Max/MSP patch and custom external that performs multichannel (currently octophonic) spatialized granular synthesis, and I'd like to add convolution reverb to simulate grain distance. I'm not really sure of the best way to do this, however.

I could just do a stereo convolution on the speaker pair in which the grain is situated but this would give an odd sense of the reverb moving around as the grain does.

Ideally, I should have some reverb signal coming out of all channels, but I can't just reproduce the stereo pair x 4 either.

What would be the best way to take a stereo impulse response, a stereo convolution algorithm, a mono sound file that is being spatialized to a stereo pair (out of 8) through VBAP, and create a convincing 8-channel reverb?

Thoughts?

M

————————————————
MICHAEL NORRIS
Senior Lecturer, Composition & Sonic Art
Editor, Waiteata Music Press
New Zealand School of Music
PO Box 2332
Wellington
NEW ZEALAND

ph +64 4 463 7456
mob +64 21 211 0138
web www.michaelnorris.info








Monty Adkins

unread,
Jul 25, 2013, 3:46:42 AM7/25/13
to cec-con...@googlegroups.com
You should mail P.A.Tr...@hud.ac.uk and A.Ha...@hud.ac.uk
They probably have the answer as they have just produced the HISStools -
which includes the HIRT - Huddersfield Impulse Response Toolkit. I know
Alex has been taking lots of multi-channel impulse responses and coded the
whole lot in Max.

M
>--
>You received this message because you are subscribed to the Google Groups
>"CEC-Conference" group.
>To unsubscribe from this group and stop receiving emails from it, send an
>email to cec-conferenc...@googlegroups.com.
>To post to this group, send email to cec-con...@googlegroups.com.
>Visit this group at http://groups.google.com/group/cec-conference.
>For more options, visit https://groups.google.com/groups/opt_out.
>
>



---
This transmission is confidential and may be legally privileged. If you receive it in error, please notify us immediately by e-mail and remove it from your system. If the content of this e-mail does not relate to the business of the University of Huddersfield, then we do not endorse it and will accept no liability.

Michael Norris

unread,
Jul 25, 2013, 3:53:11 AM7/25/13
to cec-con...@googlegroups.com
Thanks Monty - I will do, although ideally I'd not want to have to have a multichannel IR... some kind of faking would be fine!
————————————————

Trond Lossius

unread,
Jul 25, 2013, 3:53:39 AM7/25/13
to cec-con...@googlegroups.com
Hi,

One option would be to in addition to the direct spatialisation, also encode the grains as 1st order ambisonics, and then run a verb on the mix of all of the Bformats from the grain. That leave with you with only four channels that need to be reverberated, and for that the HISSTools would be great.

Cheers,
Trond

Paul Doornbusch

unread,
Jul 25, 2013, 3:58:07 AM7/25/13
to cec-con...@googlegroups.com
Hi Michael, 

A stereo impulse response is fundamentally not suitable for 8 channel spatialisation and reverb, you need an 8 channel impulse response. Monty's advice is probably the best, or there are some good quality multi-channel reverb tools that are not convolution based...

Hope that helps,
Paul
--

Australian College of the Arts
Dr. Paul Doornbusch  Associate Dean, Program Leader Audio Production
55 Brady St South Melbourne Victoria 3205 Australia
p  03 9281 8888
e  pdoor...@collarts.edu.au
www.collarts.edu.au



Pierre Alexandre Tremblay

unread,
Jul 25, 2013, 3:58:15 AM7/25/13
to cec-con...@googlegroups.com
Hey

Alex has done such thing or similar in his clarinet piece Fluence, where each grain is intelligently manipulated. As for multichannel convo, all our objects are super-optimized so I regularly run 8 convo without noticing... I also run real 5.0->5.0 reverbs too (25 convo) with a little cpu dent only... lots of fun!


2013/7/25 Trond Lossius <trond....@bek.no>

peiman khosravi

unread,
Jul 25, 2013, 4:02:52 AM7/25/13
to cec-con...@googlegroups.com
Surely one simple cheat would be to do stereo reverb and let some of the wet signal bleed into the other speakers, with user-defined control over how much wet is mixed in each speaker pair. You can also EQ each pair differently and add small amounts of delay to different pairs, revers the stereo image (of the reverb), or do some FFT phase randomisation to add some decorrelation for a more 'organic' result.

  

Pierre Alexandre Tremblay

unread,
Jul 25, 2013, 4:23:05 AM7/25/13
to cec-con...@googlegroups.com
and we also have multi-point bformat IRs coming out one day!


2013/7/25 peiman khosravi <peimank...@gmail.com>

Richard Dobson

unread,
Jul 25, 2013, 4:38:16 AM7/25/13
to cec-con...@googlegroups.com

There are a few things to try: dense reverb by its nature has directional information so spread out that for most practical purposes it can almost be treated as mono. However, it is certainly good to decorrelate the channels - this can be as simple as adding one or two first-order allpass filters to each extra channel, with (the usual trick) mutually prime delay lengths. A more sophisticated approach might use Gardner-style nested allpasses.
The bulk of the directional information in reverb is found in the early reflections, which in principle must be distinct for each channel. Of course a m/c impulse response will record these for given recording and source positions, but in the absence of that, tricks such as synthesising a small number of early reflections (tapped delay lines - using convolution would be overkill) per channel might help. In effect, each reflection must be spatialised (naively – same time, different gains). It may even work simply to add a random v short delay (of the source) to each of the secondary reverb channels - leaving the primary stereo reverb signals unaltered. A possible disadvantage of the allpass approach is that if you have a recorded IR and cannot separate out the earlies from the dense reverb, the allpasses (which should for this task ideally be applied only to the dense reverb) will smear out the earlies too (depending on your point of view, that might even be an advantage). A more general trick for decorrelation is simply to convolve each channel with a v short (a few msecs) burst of white noise.

And then, of course, there is "spat"...?

Richard Dobson

Kevin Austin

unread,
Jul 25, 2013, 7:37:01 AM7/25/13
to cec-con...@googlegroups.com

Slightly OT ... this doesn't really address your question

Do you consider the reverb to be part of the grain sound or part of the environment into which the grain is placed? I am assuming the second. My thinking is to 'visualize' the wave field to be created. This leads me to consider the continuum from creating a single 'real' reverb characteristic where the point source channel reverbs have some kind of time correlation, to a fantastical reverb situation where reverb characteristics from each speaker are different, and changing in time -- an Alice in Wonderland space. I'm not sure how practical this is until powerful computers are available.

I imagine that an ideal would be to map a unique spherical path for the original source, and then to map each refection as a spherical path, the number of paths being dependent upon the number of surfaces, their distance, absorption characteristics and angle of incidence. The speakers would likely best have vertical elements as well, seven probably being a minimum -- four front L, R, LA[bove], RA, LS [Midheight], RS, CBA. This is a modified shoebox. The addition of a CM would likely be the [next] best speaker placement.



The height of the Midheight speaker being asymmetrical to take advantage of the ears' vertical sensitivity to midline sources.


Kevin

peiman khosravi

unread,
Jul 25, 2013, 8:50:29 PM7/25/13
to cec-con...@googlegroups.com
Hi Richard, 

That's very interesting about convolution with a burst of noise, it's definitely going in my tool box. Does the noise burst itself need to be decorrelated for each channel? Or is it literally the same sample?

Thanks!

Peiman

Trond Lossius

unread,
Jul 26, 2013, 2:23:57 AM7/26/13
to cec-con...@googlegroups.com
Hi,

> and we also have multi-point format IRs coming out one day!

That sounds exciting. Out of curiosity: How do you go along recording them?

Thanks,
Trond

Richard Dobson

unread,
Jul 26, 2013, 3:08:55 AM7/26/13
to cec-con...@googlegroups.com
I think for the present purpose they need to be different. But NB this is a technique I have heard/read about, but not something I have got around to trying myself yet! The people on musicdsp may be able to say more about it.

Richard Dobson

Ian Stevenson

unread,
Jul 26, 2013, 4:28:51 AM7/26/13
to cec-con...@googlegroups.com
The Decorrelation of Audio Signals and Its Impact on Spatial Imagery. Gary S. Kendall Computer Music Journal Vol. 19, No. 4 (Winter, 1995), pp. 71-87

I implemented this on a DSP in RT for my Masters research back in 1996. You need to create an impulse from the IFFT of a flat amplitude and random phase spectrum. Not all random phase signals are created equal though and you need to tune to get acceptable results. This work was done by Gary Kendall and Bill Martens. Read the above for more. 

You might also like to look at Miller Puckette's paper: Stautner, J. , & Puckette, M. (1982). Designing Multi-Channel Reverberators. Computer Music Journal, 61, 52 - 55. 

This shows you how to modify the YAFR2 reverb in Max to make it multichannel.


Regards,
Ian

Ian Stevenson
Music Academic Course Advisor
Lecturer in Sound Technologies
School of Communication Arts, University of Western Sydney
Room O.G.07 Kingswood Campus
Locked Bag 1797, Penrith NSW 2751
t:  02 4736 0497, f: 02 4736 0166, mailto://i.ste...@uws.edu.au
***************************************************************
This email is confidential correspondence. If you are not the intended recipient of this message as set out in the distribution fields above, please contact the School of Communication Arts on 61 2 9852 5570 to advise. Please remove the message from your system and consciousness, and do not forward the message to any other person or entity. The views expressed herein are not necessarily coherent or those of the University of Western Sydney.
***************************************************************

Michael Norris

unread,
Aug 1, 2013, 8:52:36 PM8/1/13
to cec-con...@googlegroups.com
Hi everyone

Just to follow up on the spatialized granular synthesis: after some thought, it seems that the easiest - and most accurate - solution is to make the object encode the grains in b-format and then convolve these with a b-format IR. Thereafter I can decode both the wet and dry signals to whatever setup I have (8-channel, for this instance).

But a quick question, as I've never done it before: to convolve one b-format audio stream with a b-format IR, do you just convolve the matching channels - so W is convolved with W, X with X, etc? Or is it more complicated than that?

Cheers
Michael

Trond Lossius

unread,
Aug 3, 2013, 12:44:03 PM8/3/13
to cec-con...@googlegroups.com
Hi Michael,

With 4 inputs and 4 resulting channels, you ideally need 4x4 = 16 channels of impulses. Yu might get workable results with 4 channels only, but this will be somewhat similar to what you'd get if you convolve a stereo signal with two impulses only: The right channel would never be able to produce reflections coming from the left.

Cheers,
Trond

Richard Dobson

unread,
Aug 7, 2013, 7:01:22 PM8/7/13
to cec-con...@googlegroups.com
It is important to remember that convolution ~is~ filtering - whether the IR is a filter response or a reverb is immaterial, the process is the same (convolution in time domain = multiplication in frequency domain).  So, yes, you can simply convolve the wxyz channels of a B-format IR with the corresponding channels of your source wxyz file, giving a wxyz output. Note that this is of course not decoding to speaker arrays; convolution does not itself do any form of spatialization or panning, any more than a simple filter does.

So, depending on the materials, you can use a single IR (such as a linear phase filter response) and apply it identically to all channels, or convolve a quad IR with a quad source making a quad output, and so on.

Which is not to say you cannot try anything unconventional, just for fun...

Richard Dobson

Pierre Alexandre Tremblay

unread,
Aug 8, 2013, 5:21:10 AM8/8/13
to cec-con...@googlegroups.com
I heard that TC electronics was using some type of Bformat for the tail of their amazing sounding reverb in the serie6000… anyway, we have some cool halls coming as multi-point-source-to-B-format to make public as soon as I am back from holidays - watch this space in october ;-)

p
Reply all
Reply to author
Forward
0 new messages