A C++ audio digital processing toolbox for building modular audio filter pipelines with Python bindings.
AudioTK is a C++ audio digital processing toolbox that enables developers to build modular audio filter pipelines for real-time and offline audio processing. It provides a wide range of optimized audio filters—from basic EQ and dynamics to advanced distortion and reverb—that can be connected into custom workflows using a port-based architecture. The project solves the need for a flexible, high-performance audio processing library that balances low-level control with ease of use through Python bindings.
Audio software developers, DSP engineers, and researchers building audio plugins, real-time audio applications, or audio analysis tools who need a modular, performant filter library with both C++ and Python interfaces.
Developers choose AudioTK for its extensive, optimized filter library, modular pipeline design that simplifies complex audio graph construction, and strong cross-platform support with SIMD acceleration. Its Python bindings enable rapid prototyping without sacrificing the performance of a native C++ core, making it uniquely suited for both research and production audio applications.
An audio digital processing toolbox based on a workflow/pipeline principle
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables building custom audio workflows by connecting independent filter components without feedback loops, allowing flexible and efficient processing chains as described in the workflow principle.
Includes a wide range of filters from basic EQ (Butterworth, Bessel) to advanced effects like distortion and reverb, covering most audio processing needs out of the box.
Leverages SIMD instructions for performance-critical filters like EQ and gain processing, ensuring low-latency performance suitable for real-time applications, though support has evolved per the changelog.
Offers Python wrappers via pybind11 for scripting and rapid prototyping, bridging high-level experimentation with the C++ core's performance, as highlighted in the features.
Requires multiple external libraries like Boost, FFTW, Eigen, and libsndfile, making installation and setup more involved and prone to compatibility issues.
Focuses on low-level filter components; lacks built-in support for common audio tasks like synthesis engines, plugin format wrappers, or GUI development, requiring additional integration effort.
The README is primarily a changelog with minimal tutorials or API references, which can steepen the learning curve for new users despite the technical depth.