ADXTutorials

Down mixing in ADX

 

While many games support audio in multichannel, not everybody has access to such configuration, and mobile platforms are still limited to stereo. Today, we will see what you can do in Atom Craft to down mix your game in stereo.

What is down-mixing?

Down-mixing refers to the process of converting a multichannel mix (quad, 5.1, 7.1) to stereo while preserving the content of the extra channels. Typically, when down-mixing from 5.1 to stereo, the Left and Right Surround channels are routed to the Front Left and Front Right channels with a 3dB reduction; the Center channel is also lowered by 3dB and spread in the Front Left and Right channels, while the LFE channel is usually ignored.

When it comes to down-mixing in ADX, several options are available:

  • It may be done in hardware if the target platform allows it (for example for game consoles such as PlayStation or Xbox). The process is determined by the number of channels of the output destination device (TV, headphones, AV receiver…). But with each platform being different, it is not necessarily the ideal solution for a multi-platform project.
  • Another option is to use the Atom Sound Renderer (ASR). Once the number of channels set in CriAtomAsrConfig::output_channels, the renderer will handle the down-mix automatically. This provides a uniform audio experience for a multi-platform project.
  • Finally, down mixes can also be authored directly in Atom Craft, for situations where the process must be handled manually, e.g. when targeting unusual speaker configurations, or down-mixing a specific group to a sound.

Down-mixing in AtomCraft

When targeting a mobile platform, if the assets are quad or 5.1 ambience files for instance, it is recommended to down-mix the materials at the encoding stage, which will drastically decrease their size.

  • To do that, go to the Project Tree > TargetConfig folder
  • Click on the chosen platform (PC, Android, iOS…) to open the Inspector
  • In the Encode section, locate the Down Mix property and choose Down Mix (4 or 6 or 8 →2)

If the input waveform is 8ch, 6ch or 4ch, the signal will be down-mixed to stereo.

Screenshot 01 - Encoding Down mix

If the project includes Cues spatialized in 3D or Cues that use Pan3D Angle in 5.1, it is likely that they will still be sent to the other channels.

To down-mix them will require some work at the Bus level. A Snapshot can be used to switch between normal and down-mix states, which can be handy to allow multiple speaker configurations. (Of course, it is also possible to create a single dedicated DspBusSetting associated to a specific target platform.)

  • Double-click on the DspBusSetting to open the Mixer view
  • On the Master bus, add the Matrix effect
  • Create two Snapshots for the DspBusSetting, one named “Multichannel” and the other “Stereo Downmix”
  • Select the Stereo Downmix Snapshot and open the Matrix effect window
  • Set every level for In2, In3, In4, In5 to 0
  • Route In2 (Center channel) to both Out0 and Out1 with both levels at 0.71 (it corresponds to -3dB)
  • Route In4 (Left Surround channel) to Out0 with the level at 0.71
  • Route In5 (Right Surround channel) to Out1 with the level at 0.71

For the following video we created a small 5.0 industrial ambience that contains one loop in quad and several Cues that are randomly triggered around the listener. We also automated one Cue to rotate around the listener with an AISAC controlling the 3DPan Angle.

Finally, since the volume tends to rise when down-mixing, we also chose to lower the surround level to 0.6 (instead of the usual 0.71) in the Matrix, and lower the Amb bus to avoid the ambience being too busy, and to keep more headroom for additional sounds.

If you want to experiment with down-mixing, you can download the project.