Table of Contents

SoundTags are resources that allow users to pause, resume, and stop a group of SoundInstances; control their volume, EQ, and compression; and get a list of tagged SoundInstances to change other properties in NadaScripts.

Common Uses

  • Controlling the volume or EQ of certain types of sounds (such as setting volume for music separately from sound effects)
  • Using the TagForDucking and compressor properties to reduce the volume of one group of sounds when another group is playing (for instance, making sound effects quieter when dialog is playing)
  • Using the compressor settings to keep a type of sound effect from getting too loud

Using SoundTags

SoundTags can be added to SoundCues using SoundTagEntries. When a SoundCue is played, the resulting SoundInstance will be automatically added to all SoundTags that are on the SoundCue. Users can also add and remove SoundInstances from SoundTags in scripts at runtime. Unlike other audio objects, SoundTags exist across all Spaces, so the same SoundTag can be used for SoundInstances in different SoundSpaces.

Volume

The Volume and Decibels properties set the volume adjustment that is applied to all tagged SoundInstances. Volume uses floating point values, while Decibels uses the logarithmic decibel scale commonly used in audio. These properties are linked, so changing one will also change the value of the other.

Note that these volume changes will be combined with any other volume modifications applied by objects such as SoundEmitters, SoundCues, and SoundSpaces. If a SoundCue's Volume is set to 0.5 and it is played with a SoundTag which also has a volume of 0.5, this effectively sets the resulting SoundInstance's volume to 0.25.

Volume can be interpolated over time using either floating point or decibel values with the InterpolateVolume and InterpolateDecibels methods. Using these methods ensures that the volume changes are applied smoothly by the audio engine.

Equalizer

If the UseEqualizer property is set to true, the EQ properties will be applied to all tagged SoundInstances. These settings control the volume of the audio at different frequency ranges. SoundTags have properties for EQLowPassGain, EQBand1Gain, EQBand2Gain, EQBand3Gain, and EQHighPassGain. See the EqualizerNode for explanations of how these properties work.

Compressor

If the UseCompressor property is set to true, the Compressor properties will be applied to all tagged SoundInstances. A compressor reduces the volume of the sound if it goes above a specified decibel level, or threshold. SoundTags have properties for CompressorThreshold, CompressorAttack, CompressorRelease, CompressorRatio, and CompressorKneeWidth. See the CompressorNode for explanations of how these properties work.

If the TagForDucking property is set to another SoundTag that tag's volume level will be used to trigger the compressor settings of this SoundTag.

Nada Events

  • The AddedInstanceToTag SoundEvent is sent when a new SoundInstance is added to the SoundTag.
  • The TagHasNoInstances SoundEvent is sent when all SoundInstances have been removed from the SoundTag.

Resources

Manual

Reference