tanh-lib#

Modular, real-time-safe C++20 audio library. Six independently buildable components, all in namespace thl:

  • tanh::Core — Dispatcher, Logger (with a real-time path), RCU, lock-free queue, generic buffers, header-only WAV decoder

  • tanh::State — hierarchical parameter storage with RCU lock-free reads and JSON serialization

  • tanh::DSP — processors, effects, filters, granular engine, Rings resonator model (also available alone as tanh::Resonator)

  • tanh::Modulation — modulation matrix with change-point sub-blocking

  • tanh::AudioIO — audio device I/O over miniaudio (desktop, iOS, Android)

  • tanh::Net — verified HTTPS asset delivery (off by default)

Platforms: macOS 12+, iOS 14+, Android, Linux, Windows, WebAssembly.

Where to start#

New to tanh-lib? Getting Started covers building, consuming the CMake package and running the tests.

Components describes the library targets and how they depend on each other; Real-Time Safety lists the rules every process() path follows. Symbol visibility, Modulation: input events and AudioIO: Android notes are the design notes that used to live in the README.

The API Reference is generated from the public headers under include/tanh/.