Skip to content

Get started

Choose the smallest integration path that matches the work in front of you. Build and install the SDK once, then consume the isolated install prefix from your application or tool.

Use this path for transport, routing, media preparation, analysis, or batch rendering without opening a hardware device. These APIs do not require a runtime audio device. Continue with Build and install, then Link the SDK. For reader/transport/writer composition, see offline rendering.

Use this path only when your host owns an audio callback and the package includes a supported device backend. CoreAudio is the shipped production backend on macOS. Dummy is available for device-free tests. Linux has no production device backend, and Windows WASAPI is not release-supported. After installation, link the transport target, then follow realtime hosting and audio devices. Confirm target and runtime capability availability before selecting a device.

Use this path when a host needs the stable table-based C boundary instead of C++ headers. The SDK reports ABI major 1, minor 0 through the forwarding headers. Build and install the package first, then follow C ABI negotiation.

Use this path when import, export, probing, or decoding happens outside an audio callback. File open/close, hashing, decoding setup, and writing may allocate or block. Build with the provider required by your package configuration, then follow Audio files.

  • A clean checkout at source revision b8c8b87540fe585b5c7d5c8f25d193c1a1af93d5.
  • CMake 3.22 or newer and a compiler with C++20 support. Required release toolchains are listed in the support matrix.
  • For the documented audio-file procedure, a provider that exports the SndFile::sndfile CMake target. The explicit SndFile configuration fails rather than producing a package with unavailable file I/O.
  • Separate build and install directories. Do not mix headers, libraries, or CMake metadata from another SDK checkout.
  1. Build and install the SDK.
  2. Discover and link the transport target, or choose Audio files and C ABI negotiation for those surfaces.
  3. Check CMake target availability and runtime capability results before selecting device-specific behavior.
  4. For callback code, apply the time and threading model and realtime hosting rules.

The upstream examples guide covers the runnable source examples and the installed-package learning path.