Multichannel routing?

We’ve made some use of ‘baked effects’, for example baking a nice reverb and proximity effect to a sound and having it in a separate channel so that it can be mixed in real time according to situation. This works well as long as you use Channel Mix and pan everything with a single 3D Panner.

However we’ve had cases where you’d prefer to use different 3D Panners for different channels of the mix, to give them custom spread and attenuation. And this is when it becomes tricky. You’ll need to place the sounds on separate timeline locked tracks to keep them in sync, and to get the random variations to match. And then randomizing becomes fiddly because you need to use transition logic for random variations.

Does the FMOD API support “channel rerouting”, so you could take specific channels from a multichannel wav, and send them to different tracks while keeping them in sync? Would a “channel router DSP” be feasible?

The simplest way to do this is to use pre-fader sends on the same audio track as the instrument to send copies of that instrument’s output to multiple different audio tracks in the same event, and then to use channel mix effects on each of those tracks to mask out all but one channel of the signal. You can then set the fader of the original track to -oo dB to ensure its post-send output is silent. Optionally, you can also change the output destinations of each of the tracks to another audio track rather than the master bus, if you want to create a submix before their outputs go to the master bus.

This method uses more CPU than baking each channel into a different audio file outside of FMOD Studio, but it removes the need to set up extra transition logic or other workarounds to make random variation work, and avoids the need to create multiple streams if your assets are set to stream.

[quote=“joseph, post:2, topic:14343”]
use pre-fader sends on the same audio track as the instrument to send copies of that instrument’s output to multiple different audio tracks in the same event[/quote]
Would this be done with Transceivers? Using Returns causes a delay of one mix block (?). Transceivers seem to have no latency within an event (or between one event and another, as long as it doesn’t go to the mixer) but then if you do this in several sound events that need to be playing simultaneously, you’ll start running into Transceiver channel number limitations, and the difficulty of keeping track of the channel numbers.

Thank you for the suggestion, good to know there is a way to do this even if it isn’t fully feasible except in some special cases.

Back to one of the original questions, would it even be technically possible API-wise in FMOD to have a “channel router DSP” that sends channels to different tracks within the event while keeping sync?

Would this be done with Transceivers?

No, it would be done using sends. As you have observed, transceivers have numerous limitations that could be inconvenient in this context.

It’s true that sends have a small amount of latency, but the amount of latency per send is fixed and cannot vary, so the channels will always remain in sync as long as each channel goes through the same number of sends.

Back to one of the original questions, would it even be technically possible API-wise in FMOD to have a “channel router DSP” that sends channels to different tracks within the event while keeping sync?

It’s not impossible, but given that it is possible to get the same effect by using a collection of sends and channel mix effects, it’s not a feature we’re likely to add any time soon. Would you like me to note your interest in this feature in our feature/improvement tracker?

Hi!

I came across with this topic since I was looking for a way to route Audio tracks from events into the mixer. I followed Joseph’s advice on this and just want to attach some screenshots that could help somebody else to get the idea more clearly.

Cheers

1 Like