
How it works
A modular audio framework that allows you to assemble new features and products in record time.

Without containers, building, customizing, and connecting audio features requires significant time and effort because they don’t fit together easily.
Switchboard packages audio features (e.g. noise reduction, voice changers, WebRTC) as nodes— AudioNode making them easy to assemble into audio graphs— AudioGraph.
Audio graphs are then passed to natively compiled C++ code that runs them quickly, while simultaneously generating production-ready native code for multiple platforms, including iOS, Android, web, and more.
There are a wide variety of nodes to choose from including popular open-source and third party extensions.
Under the hood
Most of the code in Switchboard is compiled C++ code
Switchboard lets you configure nodes and define audio graphs using JSON. The Switchboard Editor even allows you to do this visually, without writing code.
-
At runtime, the JSON configuration is passed to natively compiled C++ code which runs your graph fast (unlike Python).
-
This approach allows you to benefit from optimal performance, cross-platform architecture, and third-party C++ libraries without having to write C++ code yourself.
-
You can alternatively write your graph in C++ or using a platform specific language, allowing for complete flexibility to change the configuration of your graph at runtime (e.g. to allow user input to dynamically update the graph).
A high level structure of Switchboard
The dependency diagram illustrates how Switchboard enables you to work with high-level languages like Swift and Kotlin while running the audio pipeline in C++.
Why not build a custom pipeline?
Either you’ll spend a lot of time building it in C/C++ or you’ll put things together with higher level tools and face performance issues and audio bugs that are time-consuming to resolve.
You would also need to create a different pipeline for each platform you support.
Switchboard simplifies this by automating the creation of robust, modular and high-performance audio pipelines that are easy to modify and maintain across all platforms with a much smaller team.
Building an audio pipeline with Switchboard
Here is a simplified audio graph example for a karaoke app. It illustrates how you can assemble graphs using our Switchboard Editor or with our SDKs and documentation.
Karaoke apps vary widely, but a common feature is music stem separation—splitting audio into vocals, guitar, drums, etc. This example illustrates how the music is split into stems—vocals, guitar, drums—so vocals can be lowered, allowing the user to sing into their mic. Autotune and effects enhance the performance, and the stems are mixed back together to create a truly unique performance. Sync tools, streaming connectivity, and format handling are also required—all supported by Switchboard, which has powered several karaoke apps like this.
This setup solves the long-standing issue of mixing VoIP audio with media player audio. Switchboard’s low-level audio engine enables clean integration of voice and video with music or video streams, without compromising quality (e.g., sample rates). Features like voice activity detection, smart ducking, gain control, noise and echo suppression, and spatial audio enhance the experience. These audio graphs are inherently complex—but with Switchboard, they only need to be built once and can run cross-platform.
This diagram shows a hands-free device—such as headphones, a watch, or a smart speaker—handling both media playback and voice features. A user might say, “Hey Device, what’s James listening to? Listen along with him or just let him know I’m here.” This natural voice interaction is made possible by Switchboard, which supports embedded platforms ranging from TVs and soundbars to in-ear buds, enabling rich, social audio experiences across hardware.
Why is C++ so common in audio?
What about the tools provided on iOS, Android, and other operating systems?
What other audio tools are out there?
Check out our Audio Dev Hub for these insights and more.

Switchboard adds value to other SDKs and services
Why use Switchboard instead of another service such as a VoIP SDK or another audio library? In many cases the answer is “you should use both” unless the project is so simple that it doesn’t need a more capable audio graph.
Below are just a few examples of how Switchboard can be used with other services. Note that we already have Extensions for many of these services.
Switchboard + VoIP
LiveKit, Agora, Vonage, Chime, IVS, Dolby.io, etc.
For projects with simple audio needs, a VoIP / streaming service and its extensions marketplace may suffice. But projects requiring more audio features, more platforms, better performance, and more flexibility need a capable client-side audio graph. Therefore you should use Switchboard together with these services. Unless you want to spend a lot of time writing your own audio graph and dealing with hard-to-pin-down bugs for the next year.
Switchboard + Media
Spotify, Netflix, all streaming audio / video.
Switchboard can open up new ways to interact with these services. Listen parties and watch parties with voice and video chat. Easily add features such as audio mixing, gain control, noise suppression, voice detection, and auto-ducking. Or voice changers, an AI friend to chat with, and other fun features.
Switchboard + AI models
OpenAI, LLama, Audioshake, Voicemod, or any AI model that has audio as an input or output.
There’s been an explosion in audio and audio-adjacent AI models. From speech to text and text to speech to LLMs, voice changers, stem separation, and more. If it touches audio, it fits into Switchboard. By integrating it through Switchboard, you’ll save yourself a lot of effort building a wrapper, formatting audio, connecting it to necessary inputs and outputs from the OS, etc.
We might already have the extension you’re looking for. In other cases we can build it for you, or help you bring your own model to Switchboard.
Example AudioGraph
Get started for free
Sign up to get free access to Switchboard’s basic prototyping license.