How it works

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

The Switchboard SDK is a modular audio framework organized into containers called 'Nodes'.

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.

Go to Switchboard Editor ⬈
  • 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 come in different shapes and sizes. This example illustrates one where music can be played through a stem separation process such that the music can be split into individual stems such as vocals, guitar, and drums. The vocals could be reduced in volume to allow for the user to sing through the recorded microphone. Autotune could be used to improve the user’s performance, and unique effects could be applied to the instrumental stems and mixed back together to create a truly unique performance. This could be done as a recorded performance or in near-real-time. Additional tools would likely be required for synchronization, accepting music in different formats, connecting to streaming services, etc. All of these tools are available in Switchboard and we have helped to build several karaoke apps.

Watch Parties and Listen parties that only permit texting are a thing of the past. Voice and video chat were previously difficult to integrate due OS limitations making it difficult to combine VoIP audio with the audio from a media player without sounding aweful. Switchboard solves that problem, in part due to the low level audio engine that allows for this mixing without limiting sample rates, as well as features such as Voice Activity Detection, Smart Ducking, Noise and Echo suppression, the ability to apply Gain to better balance volumes, and to spatialize audio (e.g. the voice chat is positionally different from the music or video). Such graphs are complex and require even more features to work well. With Switchboard these can be built ones and target multiple platforms.

Let’s suppose you’re building a device such as headphones, a watch, or smart speaker, and you want that device to have hands-free controls. You’d like for these controls to be able to control not only the media player, but also to control voice communication features. For example, you want your user to be able to say things like: “Hey Device, what’s James listening to? Ok listen along with him. And try connecting to him through the intercom. Or else just let him know I’m around and chilling to music too and ask if he wants to hang.” Or perhaps your use case is something similar, but targets watching TV together. If that all sounds futuristic, it was, before Switchboard. Many Switchboard features can also target embedded devices including smart TVs, soundbars, wearables, and even tiny devices like True Wireless In Ear headphones.

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. 



Get started for free

Sign up to get free access to Switchboard’s basic prototyping license.

Sign up free →