FAQ
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.
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.
JUCE | Switchboard 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 source | Closed 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.
Superpowered | Switchboard 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.