Skip to content

Get started

Choose the smallest integration path that matches the work you need to do. Every path begins with a clean install prefix built from the pinned preview source.

Choose this path when an application needs deterministic transport, routing, media preparation, or batch rendering without opening an audio device. The core APIs are host-neutral and operate without runtime network access. Continue with Build and install, then Link the SDK. For reader/transport/writer composition, see offline rendering.

Choose this path only when the application owns an audio callback and has a supported device backend. CoreAudio is supported on macOS. The Dummy driver is available for device-free tests. Linux has no production device backend in this preview, and Windows WASAPI is not release-supported; compiling a backend is not enough to promote it. After installing, follow Link the SDK and then review realtime hosting and audio devices.

Choose this path when the host cannot consume the C++ package surface or needs a stable table-based boundary. The pinned SDK exposes ABI major 1, minor 0 through forwarding headers. Build the package first, then follow C ABI negotiation.

Choose this path when media import/export is performed outside an audio callback. File open, capability discovery, preflight, probing, hashing, and writing are control/background operations. Build with the required SndFile provider, then follow Audio files for the bounded WAV PCM16 evidence procedure.

  • A clean checkout of the pinned source revision 0238eac1721d820d16ba5390e0e4641391be1d59.
  • CMake 3.22 or newer and a compiler with C++20 support. The documented release toolchains are listed in the support matrix.
  • A build environment that provides the SndFile::sndfile CMake target. The documented evidence build selects the SndFile provider explicitly and fails if that target is unavailable.
  • A separate build and install directory for this revision; do not mix headers, libraries, or package metadata from another 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 the generated target availability and capability results before selecting device-specific behavior.
  4. For callback code, apply the time and threading model and realtime hosting rules.

The upstream examples describe the installed-package learning path and public interfaces in the examples guide.