Control Individual Channels from Interleaved Wav File

Can someone explain how I never saw this button? :smiley:

Hi, Joseph!! Thanks for this precious information! :slight_smile:
I was trying with the panner. Didn’t see the option for the Channel Mix.
This is awesome to control the volumes. But I couldn’t get a way to change the pan for each channel.

I saw the option to choose L or R (stereo output), but this have no effect at all to the outputs. I’m listening all channels in the center.
Is there a workaround for this?

I may mistake one more time, I’m not experienced with multichannel source files, but it seems to me FMOD handles multichannel especially for surround purpose (5.1, 7.1), not for multi-stereo stems files, so I’m not sure you’ll find the options you want without breaking down your file. But I may be wrong! We’ll let the staff answer, they work at night (ah, no… in fact they’re Australian and I’m European :smiley: ).

By the way, it is a normal workflow for you, in some industry, to work with those multichannel files with stereo stems inside? (it seems uncommon to me)

Thanks, Joseph!!

I had disabled the stream option, but by itself didn’t solve.

The Priority thing apparently solved the sync issues.
I’ll do extra checking by duplicating the drums track and comparing if there will be any latency between the one I’m tweaking the values and the other one.

Hi. I’m also in Europe!! It was good to sleep and have a comprehensive feedback!!

About my workflow: No. I never used multichannel files before.
I tried it in order to solve the sync problems.

But it looks that with the increase of Priority I still have the things in sync even when zeroing the volume and going back. Before it was terrible.

I double checked it duplicating the drums part and it’s perfectly in sync!! Thanks a ton!!!

So the desync was coming from using parameters to automate volume, wasn’t it? Had you implemented them with the “set by ID” method, since it’s considered to be more performant for continuous parameters with frequent updates?

I’m was using (and still use) the “setParameterByName”.

I’ve made all the volume and pan parameters and they all work perfectly.

For the Global Parameter, I’m using this code (maybe someone will find this useful in the future):

public void ReverbTime(float ReverbTime)
    FMODUnity.RuntimeManager.StudioSystem.setParameterByName("ReverbTime", ReverbTime);

This code is to apply to control the parameter via slider.

It’s an old practice to use stems rendered in one multichannel file to preserve sync for adaptive music (especially in vertical re-orchestration) in game audio. It also makes it easier to manage in case of a fusion between vertical re-orchestration and horizontal re-sequencing. I remember using this technique from a project we did with my team circa 1998.

It’s also a great way for switching between different dialogue responses from NPCs when simple taxonomies are used for the type of response (i.e. friendly, happy, angry, hostile, etc.). Then the programmer can create easy logic switching that opens the channel respective to the NPC’s state.

My favorite, but used in only in a huge MMORPG we did with FMod is to use it to create the extra layers of sound when an armor, weapon, spell, or other item changes rank/level. So 1st channel was for instance level 1-10, the second channel was added when the item was used as a level 11-20, and so on. We got up to 5 channels per sound file because it was a huge project and they loved to have variations in sound. Cool, but useful in games with those kind of systems.

Thanks for the insights, Panagiotis!!

How did you manage to get only the channels you wanted inside the multichannel file?
Could you add reverb or treat each channel independently somehow?

My pleasure.

At the MMORPG we used the Fmod framework completely programmatically, because of the huge world environments and events that had to be configured, so we created all tools from scratch, event editors that linked with animation data, tools for worldbuilders to position ambience, etc. It was a really-really huge project that took 9 years to create.

So it was easy to create the connections to be able to feed individual channels to different processing chains.

In my opinion, the sound design team should always have a tool programmer, and discuss everything with the heads of game design and code architecture. That way, you focus on the sound that best fits the game, can be integrated in the general code, and you do it with the right tools. It takes up to 4 people to do a really good job for the sound in games. You could try to do it with two, sound artist and programmer, but they will lose more time. One person can handle it all and also do a professional level job, but that’s only for very simple games like in the genre of hyper-casual.

To put the channels I want in the multichannel file I use the powerful routing and exporting features of the Reaper DAW. I was using it from the beta many years ago and me and some other people in their forums did a lot of brainstorming and designing when the region rendering became a native feature (which started from the discussions on the older SWS region manager).

For sound effects that will be used in a game, we only need a mono sound. So, I use the free item positioning in each track and create each level of sound as a mono track with layers. The I route all this to different channels of a track that I mark as the render source and put the appropriate channel count in its properties and export preferences, and boom! Instant multi-layered mono sound effect! :slight_smile:

Interesting insight!
I didn’t understand that part:

In FMOD? In Reaper?
“free item positioning” = spatializer?
“each level of sound as mono track with layers” ; what do level and layers mean here?

Hi @Alcibiade,

I’m working on a short video to show my workflows, I will have it ready in about a week or so. It’s an interesting take on how to produce effects that you might find useful (or not, hehehe).

Thanks to @dafar for the inspirational question! As an educator in game audio, there is nothing I find more invigorating than people who ask the odd question.Very cool man, thanks!

I hope to have the video soon and it might be something you can incorporate in your workflow. :slight_smile:


That would be awesome, Panos!!
Thank you for your time and compliment! :slight_smile:

Please let us know when you’ll release this video! :smiley: