Skip to main content

Switchboard Overview

What is Switchboard?

If you haven’t already, we suggest reviewing the Switchboard website for a higher level overview, including our How it works page. As outlined on that page, Switchboard comprises many audio building blocks for building audio software. Note that Switchboard is geared towards real time audio software development, though we do have non-real time features as well.

The diagram below shows you how Switchboard is structured. Pay attention to the following major aspects of its organization

Switchboard overview

Two ways to use Switchboard

There are two primary ways to use Switchboard.

  1. Go to our Downloads page and access the individual libraries you want to work with.
  2. Use the Switchboard Editor, our no-code tool which helps to build and test audio pipelines in the browser.

These are not mutually exclusive. Think of the Switchboard Editor as a tool that makes it easier to work with the individual libraries. When you create your audio pipelines using the Switchboard Editor, we automatically generate JSON which can then be used by the platform specific libraries to build the same audio graph on that platform.

The idea being that you can construct an audio pipeline and test it in the browser, then when it works / sounds the way you want it to, you can replicate that on each platform very easily and it will sound the same on all platforms

In reality, the Switchboard Editor does not support 100% of the capabilities that the individual libraries support. Therefore:

You should expect to use Switchboard as a combination of #1 and #2.

Moreover, our documentation portal and SDKs are under active development. Should you have questions or requests for features, don’t hesitate to Get in Touch. Note that while we strive to answer all inquiries, support is very limited in the free tier. We do our best to provide tools that allow you to generate your own key and get started without needing to reach out.

We also provide a free tier (see Licenses / Pricing), open source libraries and example code that should help you get pretty far on your own. Nevertheless, our team is available to help you integrate and customize Switchboard as needed.

Who should use Switchboard and why?

To summarize

Who? -- Potentially anyone building audio software. Music and real time communication (RTC) apps are popular examples but anyone building audio apps or audio features stands to benefit, especially as the number of features or number of target platforms increases.

Why? -- It will save you time because it’s easy to use and saves you from getting into the weeds of C++ and real time audio programming; you will get high performance, robust code without spending months debugging common audio issues; it’s flexible, customizable, and extensible; instant cross platform capabilities; quickly test and prototype different third party offerings; and we can help you with anything that isn’t clear from the documentation vis a vis customizations and custom development services.

We’ve answered these questions in more detail over at switchboard.audio.

Key Features

The Switchboard SDK can help you with the following tasks:

  • Building a complex audio engine for your app without writing C++ and real-time audio code.
  • Running the same audio pipeline on different platforms.
  • Quickly integrating and testing various audio libraries.
  • Developing audio DSP code without implementing everything from the ground up.

Cross-Platform

The Switchboard SDK provides an easy way to use the same audio components on multiple platforms.

Some platforms provide high-level audio APIs, such as AVAudioEngine on iOS, but if you build your app on top of these platform-specific frameworks, it will be difficult to add support for another platform later. Another problem is that the platform-provided audio components might sound different on different platforms. For example, using a specific built-in low-pass filter on iOS might sound different than on the Web.

The Switchboard SDK is available for these platforms:

  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web

Easy-to-Use

Writing real-time audio code in C++ can be very challenging and you might not want to dive that deep if your goal is just to put together already existing audio components for your app. Besides the C++ interfaces, the Switchboard SDK provides high-level language bindings (e.g. Swift, Kotlin), so you can quickly put together a working audio engine in the language you prefer.

Every audio component is provided as an AudioNode in our SDK and you can wire these together inside an AudioGraph. This graph then can be run in an AudioEngine that makes sure that all advanced platform-specific features are utilized. You don't need to worry much about audio formats and conversions, just connect these audio blocks together and see them working.

Take a look at our examples to see how easy it is to put together audio graphs.

High-Performance

Behind the high-level abstractions that make our SDK easy-to-use, we take extra care to run optimized code. Our audio algorithms are vectorized so they can run super fast on all devices without producing any glitches.

Our SDK also comes with a set of profiling and diagnostics tools that you can use to track down limitations and bottlenecks in your app.

Extensible

The Switchboard SDK comes with many audio functions and processing nodes that might be enough for your app, but it's also possible to extend its capabilities. By integrating extensions you can get access to high-quality advanced audio features such as noise filtering, echo cancellation and voice effects.

You can find the list of available nodes here. We can also help you to develop your own node extension.