Skip to main content

Low-Level Audio

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.