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.
Choose an integration path
Section titled “Choose an integration path”Offline or host-neutral processing
Section titled “Offline or host-neutral processing”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.
Device-backed playback
Section titled “Device-backed playback”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.
C ABI integration
Section titled “C ABI integration”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.
Audio-file utilities
Section titled “Audio-file utilities”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.
Prerequisites
Section titled “Prerequisites”- 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::sndfileCMake target. The explicitSndFileconfiguration 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.
Recommended order
Section titled “Recommended order”- Build and install the SDK.
- Discover and link the transport target, or choose Audio files and C ABI negotiation for those surfaces.
- Check CMake target availability and runtime capability results before selecting device-specific behavior.
- 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.