Route any audio input to any output bus. Per-input and per-send gain, real-time metering,
per-bus DSP, and preset snapshots. Built for streaming, podcasting, and complex routing.
Features · Signal Flow · Getting Started · Streaming · Docs
| Capability | What it does |
|---|---|
| 4 fixed output buses | A1 A2 B1 (Stream) B2, each with volume, mute, enable, and live metering |
| Routing matrix | Send any input to any combination of buses, independently |
| Per-input controls | Master gain and mute for each capture device |
| Per-send controls | Volume, mute, and enable on every input to bus connection |
| Per-bus DSP | High-pass, noise gate, compressor, EQ, soft limiter, ducking |
| Advanced metering | Peak, RMS, LUFS, and clip detection |
| Per-bus output routing | Assign each bus to any playback device |
| Preset snapshots | Save and load full routing configs (V2 format, V1 migration) |
| Wireless phone input | Pair a phone over Wi-Fi and use it as a routable mixer input |
| B1 stream output | Built-in guidance for virtual cable routing to OBS, Discord, Zoom |
| Feature | Description |
|---|---|
| Phone remote control | Mute, adjust gain, and toggle effects on the desktop mixer directly from the paired phone's browser — no app install required |
| Live sound gate — stream buses | Per-input noise gate exposed as a one-click control on stream buses, pre-tuned for voice; threshold, attack, hold, and release adjustable without leaving the routing view |
| Live sound gate — phone inputs | Same gate applied per wireless phone input — silences the room between sentences so background noise never bleeds into the stream |
| Multi-phone proximity gating | When multiple phones are connected in the same room, each phone's gate listens for the loudest nearby voice and opens only for it. If two phones pick up the same person, the quieter input is suppressed automatically — eliminating echo, phasing, and duplicate audio on the mix. Each participant is captured by the phone closest to them; everyone else is gated out. |
Inputs pass through the routing matrix into four buses. Each bus runs its own DSP chain and metering, then drives an output device, a virtual cable, or a file.
| Layer | Stack |
|---|---|
| Frontend | React + TypeScript + Vite |
| Desktop shell | Tauri 2 |
| Audio backend | Rust with CPAL and WASAPI for low-latency capture and playback |
| Storage | JSON presets stored locally |
For the full design and audio pipeline, see ARCHITECTURE.md.
Prerequisites: Windows 10/11 x64, Node.js 18+ with pnpm, Rust 1.70+.
# Install dependencies
pnpm install
# Dev mode (live reload; uses the development CSP)
pnpm tauri:dev
# Build for release
pnpm tauri build
# Run tests
cargo test --manifest-path src-tauri/Cargo.tomlFor detailed setup, see SETUP.md.
Use B1 (Stream Output) with a virtual audio cable to send audio into OBS, Discord, Zoom, or any app.
- Download and install VB-CABLE from VB-Audio as an administrator, then restart Windows
- Assign B1 to the cable's playback device (usually CABLE Input)
- In your streaming app, select the matching recording device (usually CABLE Output)
- Route audio to B1 in the input matrix
- Start streaming
Naming gotcha: the AudioManager playback side (CABLE Input) is the recording side in OBS/Discord.
For setup and troubleshooting, see STREAMING_SETUP.md.
After launching the app:
- App opens without errors
- A1, A2, B1, B2 buses are visible
- Assign A1 and B1 to output devices
- Add a microphone input
- Enable microphone to A1 and to B1
- A1 and B1 show "running" status
- Microphone meter moves when speaking, bus meter updates
- Send volume sliders and bus mute work
- Clip indicator appears when loud
- Preset save / load / delete works
- No console errors
⚠️ Always use headphones during testing to prevent feedback loops.
- Keep input volume below 50% when testing a microphone near speakers
- B1 stream output does not play on your computer, it only routes to the virtual cable
- Audio routes exactly as configured: input to B1 with B1 assigned to speakers will feed back
AudioManager supports VB-CABLE for sending B1 to OBS, Discord, Zoom, and similar apps. VB-CABLE is a separate third-party Windows driver: it is not included, installed, or managed by the AudioManager installer. Download it from VB-Audio, run its setup as an administrator, and restart Windows before selecting its devices in AudioManager.
- VB-CABLE is installed separately; the AudioManager installer does not include third-party audio drivers
- No ASIO support (uses WASAPI)
- No sample-rate conversion (device sample rates must match)
- Windows first (macOS / Linux untested)
| Doc | Contents |
|---|---|
| ARCHITECTURE.md | Technical design and audio pipeline |
| SETUP.md | Installation and development |
| STREAMING_SETUP.md | Virtual cable workflow |
| TROUBLESHOOTING.md | Common issues and solutions |
| ROADMAP.md | Planned features and phases |
| DEVELOPMENT.md | Dev environment setup |
| CHANGELOG.md | Release history |
AudioManager source code is licensed under the Apache License, Version 2.0. See NOTICE for the AudioManager name, logo, product artwork, website content, and third-party attribution boundaries.
AudioManager is licensed under Apache-2.0, but external code contributions are not accepted during the current pre-1.0 phase. Non-security bug reports and suggestions are welcome through GitHub Issues; see CONTRIBUTING.md and SECURITY.md.