Audio Mixer
Introduction
BroAudio uses a custom Audio Mixer with 32 tracks (matching Unity's default Max Real Voices), plus 4 virtual tracks, 4 dominator tracks, 1 effect track. This design offers great flexibility in controlling sounds and can prevent many common issues (e.g. clipping).
The BroAudioMixer is a fully pre-built asset that requires no additional configuration. This chapter is specifically intended for individuals who:
Need to customize the mixer.
Are eager to understand all the details.
The Mixer Design
To guarantee that all voices can utilize features and be managed by BroAudio. the mixer includes 32 pre-built generic tracks. This number corresponds to Unity's default setting for Max Real Voices, and it should be readjusted if this setting is altered (Bro can rematch them automatically).
Virtual Tracks
Just as the 32 tracks are designated for 'Real' voices, 'Virtual' voices also require tracks to utilize features and be managed effectively. Although they are inaudible initially, they can become audible when a 'Real' voice ceases. To ensure continuity in their current processing or settings, maintaining a number of virtual tracks as a backup is essential.
Customizing The BroAudioMixer.
To customize the BroAudioMixer, you need to pay attention to the following few things:
The Easiest Way
If the current design of BroAudioMixer doesn't block your way, consider adding an additional Audio Mixer and using them simultaneously, as it might perfectly serve your requirements.
Matching the 'Max Real Voices'
If you've changed the Max Real Voices in Project Settings to a value that is greater than 32, or you've deleted some tracks. Locate Tools/BroAudio/Preferences, and you should see a warning that indicates the unmatching voice count issue, and a button appears below, which could help you to match them (increase the track count) automatically, Just hit it!
There are bugs in Unity Audio Mixer (But don't worry about them!)
Yes, there are bugs in Unity which bro has already handled for you! You only need to be aware of the following things when you need further customization of BroAudioMixer; otherwise, it's not necessary.
Error finding Parameter path message in Exposed Parameters
This message will be displayed on the Exposed Parameters of all "Send" units, and this is the result produced by BroAudio after fixing this Unity bug.
The bug causes the "Send" units to be unable to expose more than one Exposed Parameter, as they can only share the same instance and parameter. However, BroAudio requires these "Send" units to have their independent parameter.
BroAudio has corrected this by assigning unique parameter paths to each unit. However, due to the persistence of the bug, the system may "incorrectly" flag these paths as erroneous. Fortunately, despite the error message, the functionality remains intact during runtime.
Although this issue has been resolved in newer versions of Unity, it can still be reproduced if we build the Audio Mixer in a fixed version of Unity and then import it into an older version. Since the BroAudioMixer is a pre-built asset that must ensure compatibility across versions, this workaround is still in use.
Send level beyond 0dB makes Audio Mixer slider disappear at runtime
This may not be a bug, but it has the potential to cause confusion. The problem is the "Send" unit in Audio Mixer can only accept send level from -80 to 0dB, but it's actually capable of handling values up to +20dB, like the "Attenuation" unit's volume.
If you see the send level's editor slider is gone, then again, rest assured that their functions are still working properly!
Audio Reverb Zone issue in Unity 2021
Update: This issue has been solved in ver. 1.01. The bug still exists, but Bro has redesigned the mixer to prevent it from happening. There is a bug that I encountered while developing BroAudio, which has been officially confirmed by Unity (Issue Tracker) after a bug report.
This could only be a concern for individuals who:
Is using Unity 2021.
Need to use AudioReverbZone.
The issue will cause the AudioReverbZone not to work, and it only occurs in Unity 2021. The problem is related to the 'Send' and 'Receive' units in the AudioMixer, and it can be reproduced in more ways than those listed on the issue tracker page.
Last updated