# AudioCompressor

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Internal
- HTML page: https://rapi.sleaze.dev/classes/AudioCompressor/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/AudioCompressor

Adjusts the dynamic range of input streams.

## Properties

### Attack

```luau
AudioCompressor.Attack: number = 0.100000001
```

- Tags: Read capabilities: Audio

Controls how quickly the compressor will clamp down on volume after it surpasses [`Threshold`](https://rapi.sleaze.dev/classes/AudioCompressor.md).

### Bypass

```luau
AudioCompressor.Bypass: boolean = false
```

- Tags: Read capabilities: Audio

Whether audio streams are passed-through unaffected by this effect.

### MakeupGain

```luau
AudioCompressor.MakeupGain: number = 0
```

- Tags: Read capabilities: Audio

A gain value to be applied after compression.

### Ratio

```luau
AudioCompressor.Ratio: number = 40
```

- Tags: Read capabilities: Audio

Ratio of input volume to output volume, to be applied when surpassing [`Threshold`](https://rapi.sleaze.dev/classes/AudioCompressor.md).

### Release

```luau
AudioCompressor.Release: number = 0.100000001
```

- Tags: Read capabilities: Audio

Controls how quickly the compressor will unclamp after the stream volume dips back below [`Threshold`](https://rapi.sleaze.dev/classes/AudioCompressor.md).

### Threshold

```luau
AudioCompressor.Threshold: number = -40
```

- Tags: Read capabilities: Audio

Gain value at which the compressor will start to modify the input stream.

### Editor

```luau
AudioCompressor.Editor: boolean = false
```

- Tags: Not replicated, Roblox script security, Read capabilities: Audio, Load only

## Methods

### GetConnectedWires

```luau
AudioCompressor:GetConnectedWires(pin: string): { Instance }
```

- Tags: Capabilities: Audio

Returns an array of `Wires` that are connected to the specified pin.

Parameters:

- `pin`: An input or output pin on this instance

Returns: An array of `Wires`

### GetInputPins

```luau
AudioCompressor:GetInputPins(): { any }
```

- Tags: Capabilities: Audio

Gets the list of pins that [`Wire`](https://rapi.sleaze.dev/classes/Wire.md) can use in [`Wire.TargetName`](https://rapi.sleaze.dev/classes/Wire.md) to connect to this instance via its [`Wire.TargetInstance`](https://rapi.sleaze.dev/classes/Wire.md) property.

Returns: An array of strings representing valid pin names.

### GetOutputPins

```luau
AudioCompressor:GetOutputPins(): { any }
```

- Tags: Capabilities: Audio

Gets the list of pins that [`Wire`](https://rapi.sleaze.dev/classes/Wire.md) can use in [`Wire.SourceName`](https://rapi.sleaze.dev/classes/Wire.md) to connect to this instance via its [`Wire.SourceInstance`](https://rapi.sleaze.dev/classes/Wire.md) property.

Returns: An array of strings representing valid pin names.

## Events

### WiringChanged

```luau
AudioCompressor.WiringChanged: RBXScriptSignal<(connected: boolean, pin: string, wire: Wire, instance: Instance)>
```

- Tags: Capabilities: Audio

Fires when another instance is connected to or disconnected from the [`AudioCompressor`](https://rapi.sleaze.dev/classes/AudioCompressor.md) via a [`Wire`](https://rapi.sleaze.dev/classes/Wire.md).

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
