Orchestra is a Roblox audio framework written in Luau that provides a structured, signal-graph-style API for building audio pipelines in Roblox games. It wraps Roblox's native Audio API instances (AudioPlayer, AudioFader, AudioWire, etc.) in composable components that you wire together — similar to a DAW or audio mixing desk.
Orchestra models audio as a graph of nodes connected by wires. Each node has input/output pins and can be routed to other nodes. This lets you build chains like:
AudioPlayer → AudioFader → AudioEqualizer → AudioDeviceOutput
All cleanup is handled automatically via Trove, and signals use Signal.
Audio sources that produce audio signals.
| Component | Description |
|---|---|
AudioPlayer |
Plays an audio asset. Supports Play, Pause, Stop, and fires Loaded, Ended, Looped signals. |
AudioDeviceInput |
Wraps a microphone / device input. |
AudioListener |
Spatial audio listener. |
AudioTextToSpeech |
Text-to-speech audio source. |
AudioFader— Controls volume (0–3) withSet,Tween,FadeIn,FadeOut, andMute. Tweens return aSignalthat fires on completion.AudioMixBus— Same as Fader but intended as a submix bus. Useful for grouping channels (e.g. music bus, SFX bus).
AudioLayer— A convenience wrapper that pairs anAudioStreamandAudioFadertogether and wires them automatically. Use this as the main building block for a single audio channel.
Effects process the audio signal in-place. All effects support Enable and Disable (via the Roblox Bypass property).
| Effect | Roblox Instance |
|---|---|
Equalizer |
AudioEqualizer |
Reverb |
AudioReverb |
Compressor |
AudioCompressor |
Chorus |
AudioChorus |
Distortion |
AudioDistortion |
Echo |
AudioEcho |
Flanger |
AudioFlanger |
PitchShift |
AudioPitchShift |
Tremolo |
AudioTremolo |
Gate |
AudioGate |
| Component | Description |
|---|---|
AudioChannelMixer |
Mixes multiple channels into one. |
AudioChannelSplitter |
Splits a signal into multiple channels. |
| Component | Description |
|---|---|
AudioDeviceOutput |
Routes audio to the player's audio device (speakers/headphones). |
AudioEmitter |
3D spatial audio emitter attached to a part in the world. |
AudioRouting— Manages the input/output pin state for a node. Tracks which wires are connected and exposes helpers likeWireTo,ClearPin,GetWiresAtPin.Wire— Wraps Roblox'sWireinstance. Created automatically when you callRouting:Wire()orRouting:WireTo().
Wally Install: COMING SOON
| Package | Version |
|---|---|
| sleitnick/component | 2.4.8 |
| sleitnick/trove | 1.5.1 |
| sleitnick/signal | 2.0.3 |
| sleitnick/table-util | 1.2.1 |
| evaera/promise | 4.0.0 |
v0.0.1