https://github.com/janwilczek/wolfsound-dsp-utils
A collection of C++ utilities for digital signal processing of audio signals.
https://github.com/janwilczek/wolfsound-dsp-utils
audio audio-processing audio-test cmake cpp dsp signal-processing
Last synced: 2 months ago
JSON representation
A collection of C++ utilities for digital signal processing of audio signals.
- Host: GitHub
- URL: https://github.com/janwilczek/wolfsound-dsp-utils
- Owner: JanWilczek
- License: mit
- Created: 2024-10-30T08:59:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-27T14:59:32.000Z (over 1 year ago)
- Last Synced: 2025-02-27T19:56:15.129Z (over 1 year ago)
- Topics: audio, audio-processing, audio-test, cmake, cpp, dsp, signal-processing
- Language: C++
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# WolfSound DSP Utils
A collection of header-only utilities for audio signal processing in C++.
> [!WARNING]
> This repository is a work-in-progress. 🛠️ Some features are not tested, others are subject to change. Use at your own risk!
## 🚀 Usage
This repository supports the CMake-based workflow. You can use it as a submodule or with a C++ package manager like CPM.
Once on your disk, you should `add_subdirectory()` on it and then link against `wolfsound::wolfsound_dsp_utils` target.
```cmake
target_link_libraries(
MyAwesomePlugin
PRIVATE wolfsound::wolfsound_dsp_utils
)
```
The library does not automatically manage JUCE so if you're receiving compiler or warning errors, it means that you're using features that need JUCE. You may need to link against some JUCE modules (see below).
## 🔗 Dependencies
- `ProcessorFileIoTest`, `WavFileReader` and `WavFileWriter` depend on `juce::juce_core` and `juce::juce_audio_formats`. You need to link against them yourself. See _tests/CMakeLists.txt_ for usage example.
```cmake
target_link_libraries(
MyAwesomePlugin
PRIVATE wolfsound::wolfsound_dsp_utils
juce::juce_core
juce::juce_audio_formats
)
target_compile_definitions(MyAwesomePlugin PUBLIC JUCE_WEB_BROWSER=0 JUCE_USE_CURL=0)
```
- `callOnMessageThreadIfNotNull()` depends on `juce::juce_events`.
## 🐸 Conan
To create and validate a Conan package from the library, run
```bash
# "Debug" and "gnu20" are used for tests only
conan create -s build_type=Debug -s compiler.cppstd=gnu20
# Verify the package was created successfully
conan list "wolfsound-dsp-utils"
```
## 📋 License
This repository is MIT-licensed.