Even though the Switchboard SDK comes with a highly abstracted API, it also provides very powerful tools for low-level audio programming. These tools are available to use from C++.
Some examples of the low-level components:
- Audio buffers: Provides a simple interface for an audio data container. It keeps the data and its properties together such as number of channels, number of frames and interleavedness.
- Audio data converters: Makes easy to convert between different audio formats.
- Resampler: Helps with resampling audio data from one sample rate to another.
- Audio codecs: Easy-to-use audio file readers and writers. Supported formats: wav, mp3, ogg
- Thread-safe data structures: Sharing audio data between threads (e.g. ring buffer / circular buffer).
- Logger: Logging messages to flexible log destinations even from a real time thread.
- Mixer: Mixing multiple audio signals and handling audio level.
- Signal generators: Generates multiple sinusoidal and non-sinusoidal audio waves.
- Analysis: A set of classes that are useful for audio testing and diagnostic data collection.
Read more about the C++ classes in our API reference.