Skip to main content

FAQ

Why to use Switchboard SDK?

Development with Switchboard SDK means:

  • There is no need to think about low level C++ audio code, we have an SDK in most programming languages for mobile and desktop.
  • You’ll be able to focus on the application features, rather than getting bogged down with common audio problems such as synchronization or volume issues.
  • Access to wide range of DSP processing units, which let you tailor the sound and interactions of audio signals in your application.
  • You’ll still have in depth access to the various audio processing layers if you need, in a neat and convenient way.
  • Mix and match many well known third party audio libraries that are supported, without the need to convert audio formats.

Can I create my own audio nodes?

Absolutely, but you need to use C++ to do so. You can subclass the AudioSourceNode, AudioProcessorNode and AudioSinkNode classes to create your own nodes. To interact with your node from Swift or Kotlin you need to wrap the C++ class.

Can I create my own Switchboard SDK extensions?

If you have developed some audio nodes that you think would be useful to others, please get in touch with us and we are happy to share that on our website. We can also help you with generating all the high-level language mappings and documentation for your extension.

Can I use the Switchboard SDK license key for Switchboard SDK extensions too?

No, the Switchboard SDK license key is only for initializing the core Switchboard SDK. Each extension that requires a license key must be initialized with its own specific key. For example, Switchboard Audio Effects does not require a license key, but the Superpowered Extension requires its own license key. .

How does Switchboard SDK compare to JUCE?

Whether it makes sense to use one, both, or neither really depends on your use case. Use the table below to help you decide, or get in touch if you're still not sure.

JUCESwitchboard SDK
Optimized for easy VST plugin development.Optimized for building audio engines for various-audio heavy applications.
Was developed with a desktop-first mindset.Was developed with a mobile-first mindset.
Can be used only from C++.Built with C++ but high-level language (Swift, Kotlin) bindings are also provided.
Limited access to platform-specific audio features.Optimized control of platform-specific audio features (e.g. bluetooth modes, hardware aec, route switching)
Dealing with the development and build tools can be cumbersome.Easy integration of prebuilt libraries.
Takes over the development workflow (e.g. Projucer)Leaves more freedom for preferred development tools.
Open sourceClosed source with some open-source components.

You can also use both. It is possible to create an audio library with Juce, then use it with the Switchboard SDK. For example, creating an audio node from a JUCE module. It is also possible to use the Switchboard SDK in a JUCE project.

How does Switchboard SDK compare to Superpowered?

Whether it makes sense to use one, both, or neither really depends on your use case. Use the table below to help you decide, or get in touch if you're still not sure.

SuperpoweredSwitchboard SDK
Assumes user is a C++ audio developer.Targeted for users who don't wish to write audio code.
Can be used only from C++.Built with C++ but high-level language (Swift, Kotlin) bindings are also provided.
Limited access to platform-specific audio features.Optimized control of platform-specific audio features (e.g. bluetooth modes, hardware aec, route switching)
Low-level C++ APIs optimized for high-performance DSP code development.High-level APIs optimized for quick development.
No shortcuts to integrate with other audio libraries.Effortless integration of third party extensions.

It's easy to combine the two SDKs and get the advantages of both. The Superpowered extension makes Superpowered's high-performance DSP code easy-to-use in a Switchboard SDK audio graph.

Have more questions?

We are happy to help with any enquiries.

Get in touch at hello@synervoz.com.