The C++ library sound_math is designed for advanced sound and music computing. It offers a collection of template classes for various sound synthesis and processing tasks. This lightweight library is built to be self-contained, requiring no external libraries, and focuses on providing efficient and flexible tools for audio developers and researchers. A basic documentation of the classes and methods can be found in the docs folder (doxygen).
The sound_math library also includes the following tools:
- pconv: Fast convolution tool for audio processing.
- sparkle: A phase vocoder for time-stretching and pitch-shifting audio.
- soundtypes: Generative sound synthesis for sound hybridizations.
- nebula: Granular synthesis on sound files.
- combsyn: Filter-based resonant synthesis tool for simulating complex resonant structures.
The sound_math library is simple to compile and install. Follow these steps to set up the library:
- Create a build directory:
mkdir build cd build cmake .. make
- C++17 or later: Ensure your compiler supports C++17 or a more recent standard.
- sound_math does not depend on any external libraries, making it easy to integrate into existing projects without worrying about additional dependencies.
Include the required header files and use the template classes in your C++ projects to harness the full capabilities of sound_math. Detailed documentation and examples for each tool will be available in future updates.
Contributions are welcome! Feel free to submit issues or pull requests to improve the library, add new features, or fix bugs.
This project is licensed under the BSD type 2 License. See the LICENSE file for more details.