AudioCompressor
AudioCompressor adjusts the dynamic range of audio streams. Any momentary bursts of loudness will be clamped down according to the compressor's properties.
AudioCompressor provides Input and Sidechain pins that can be targeted by Wire.TargetName, and an Output pin that can be used by Wire.SourceName.
Code Samples
local deviceOutput: AudioDeviceOutput = Instance.new("AudioDeviceOutput")
deviceOutput.Parent = workspace
local explosionPlayer: AudioPlayer = Instance.new("AudioPlayer")
explosionPlayer.Parent = workspace
explosionPlayer.AssetId = "rbxassetid://1835333184"
local ambiencePlayer = Instance.new("AudioPlayer")
ambiencePlayer.AssetId = "rbxassetid://9112854440"
local compressor = Instance.new("AudioCompressor")
local wireToCompressor = Instance.new("Wire")
local wireToSidechain = Instance.new("Wire")
local wireToOutput = Instance.new("Wire")
ambiencePlayer.Parent = workspace
compressor.Parent = workspace
wireToCompressor.Parent = workspace
wireToSidechain.Parent = workspace
wireToOutput.Parent = workspace
wireToCompressor.SourceInstance = ambiencePlayer
wireToCompressor.TargetInstance = compressor
wireToSidechain.SourceInstance = explosionPlayer
wireToSidechain.TargetInstance = compressor
wireToSidechain.TargetName = "Sidechain"
wireToOutput.SourceInstance = compressor
wireToOutput.TargetInstance = deviceOutput
ambiencePlayer:Play()
Summary
Properties
Controls how quickly the compressor will clamp down on volume after it surpasses Threshold.
Whether audio streams are passed-through unaffected by this effect.
A gain value to be applied after compression.
Ratio of input volume to output volume, to be applied when surpassing Threshold.
Controls how quickly the compressor will unclamp after the stream volume dips back below Threshold.
Gain value at which the compressor will start to modify the input stream.
Methods
Returns an array of Wires that are connected to the specified pin.
Events
Fires when another instance is connected to or disconnected from the AudioCompressor via a Wire.
Properties
Attack
Time, in seconds, denoting how quickly the compressor will clamp down on volume after it surpasses Threshold. Ranges from 0.001 to 0.5.
MakeupGain
Gain value to be applied after compression, in decibels. After limiting the dynamic range, the resulting stream may be very quiet and this property can be used to compensate. Ranges from -30 to 30.
Ratio
Ratio of input volume to output volume, to be applied when surpassing Threshold. For example, a value of 2 will cut the amount by which the input stream exceeds the threshold in half whenever the input stream does so. Ranges from 1 to 50.
Release
Time, in seconds, denoting how quickly the compressor will unclamp after its stream volume dips back below Threshold. Ranges from 0.01 to 0.5.
Threshold
Gain value at which the compressor will start to modify the input stream, in decibels, with a range of -60 to 0. When the input stream's volume surpasses Threshold, the compressor will take Attack seconds to kick in. When the input stream's volume recedes below Threshold, the compressor will take Release seconds to stop acting.
If any Wires are connected to the Sidechain pin of the compressor, this threshold analyzes those streams instead of the Input streams; this can be used to duck the volume of one stream in response to another.
Methods
GetConnectedWires
Returns an array of Wires that are connected to the specified pin. AudioCompressor has one "Input" pin, one "Sidechain" pin, and one "Output" pin.
Parameters
Returns
Events
WiringChanged
Event that fires after a Wire becomes connected or disconnected, and that Wire is now or was previously connected to a pin on the AudioCompressor and to some other wirable instance.
Parameters
Whether the instance got connected or disconnected.
The pin on the AudioCompressor that the Wire targets.
The Wire between the AudioCompressor and the other instance.