LabSound: modern C++ graph-based audio engine

Started by JeGX, November 06, 2019, 05:33:23 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


LabSound is a C++ graph-based audio engine. LabSound originated as a fork of WebKit's WebAudio implementation, as used in Google's Chrome and Apple's Safari.

LabSound implements many aspects of the WebAudio specification while extending its functionality with an improved API, new graph nodes, bugfixes, and performance improvements.

The engine is packaged as a batteries-included static library meant for integration in many types of software: games, visualizers, interactive installations, live coding environments, VST plugins, audio editing/sequencing applications, and more.


    Compatibility with the WebAudio API
    Audio asset loading via libnyquist
    Binaural audio via IRCAM HRTF database
    Additional effect & generator nodes (ADSR, noise, stereo delay, and more)
    Compile-time arbitrary function node for DSP processing
    Basic signal analysis nodes (time & frequency)
    Input node (microphone)
    Non-realtime graph processing & wav export
    Thread safety model for multi-threaded apps (e.g. gui)
    SIMD-accelerated channel mixing routines


LabSound supports a variety of backends, including RtAudio and CoreAudio.

LabSound is currently tested on

    Windows 10
    macOS 10.10 to current
    Ubuntu 18.04, using the ALSA and Pulse back ends.

In the past, LabSound has been demonstrated to work on iOS, Android, and Linux via JACK.


labsound logo