Anyone making surround plugins? Asking for tips

Hi all,

First: I have the impression that the forum is getting more and more active and I want to congratulate Jules and thank him for what he is sharing with us!

A pity that we don't have FaceBook likes here ;-)

I am working on a few plugins and now really getting up to speed with C++ (my OO knowledge had become a bit rusty after 20+ years), Juce and all the required literature on filters and reverbs.

My question: my main plugin is a True Stereo convolution tool for positioning orchestral sample instruments on recording "stages", that I capture in high resolution using sine sweeps with the studio's microphone setups and quite some post-pro.

I also want to start with a surround version, because I have access to a lot of sweep recordings meant for surround applications with the now dead (read: killed) GigaStudio platform and its multichannel convo engine.

(jeez, get to the point Peter!)

I have no experience yet with surround routing in Daws, should I focus on 5.0 (5.1. is the limit in Cubase for instance), or also support 4.0 and even 7.0? I am clueless about this... (I think the .1 channel is not interesting for my audience).

When I capture the acoustics at orchestral stages and other venues, I include the surround mics and also record "behind" the conductor, so I have enough material for surround.

If you have worked on surround plugins, have you limited your plugin to routing like {2,4} and {2,5}?

Or should I focus on 5.0 internally for the convo engine and add panning options to also support 7.0?

I hope someone can share some tips, thanks in advance!


PS: here is a demo of what my plugin and my impulse responses from the Teldex Berlin studio can do with completely dry (anechoic) recordings (no further processing, no EQ applied):


Hi Peter!

You demos sound great! I've created a surround capable version of our algorithmic reverb "Verberate" (see I decided to support all routing possibilities, but that is probably much easier when it is all algorithic. I have a structure of 3D input and output speaker positions and the plug-in renders a matrix of input to output early reflection IRs. The late reverberation is quadrophonic with additional decorrelation filters at the channel outputs. Customers have only asked for mono -> 5.1, stereo -> 5.1 and 5.1 -> 5.1 so far, though. The LFE channel should always be bypassed, I guess.

It is probably wise to have a separate stereo version since some VST hosts don't cope with multichannel VSTs (ranging from waste of CPU cycles by processing all channels even for stereo input to crashes and garbage output).


Bumping this, as I have the same questions. Are there any tutorials on how to create effects plugins in Juce? Failing that, any hints, tips, pointers, etc?



Sean Costello

It should work pretty much straight away if you add the additional channel configurations for surround... What's the problem exactly? AAX works very well, but for VST you should have separate plug-ins for stereo and surround as I wrote above (if you want to support a wide variety of hosts).