https://github.com/somecho/dsp-stuff
https://github.com/somecho/dsp-stuff
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/somecho/dsp-stuff
- Owner: somecho
- Created: 2025-07-03T18:59:56.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-04T18:52:28.000Z (12 months ago)
- Last Synced: 2025-07-04T19:41:22.770Z (12 months ago)
- Language: C++
- Size: 8.79 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DSP / Audio Programming
Experiments and examples to learn and play with DSP concepts and audio programming.
## Building
Requirements:
- CMake >= 3.25
- C++ 23
Dependencies:
- libsndfile
- portaudio
- JUCE
These are automatically pulled. You do not need to download or install them.
``` sh
cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j8 # the number of cores your CPU has
```
### CMake Options
- CMAKE_BUILD_TYPE - `Debug` or `Release`
- JUCE_PROJECTS - fetches JUCE and includes targets that require JUCE
## Targets
| Target | Description | Run (after building) |
|--------------------|-----------------------------------------------------------------|-----------------------------------------------------|
| [sine][1] | Writes a 4 second 440hz sine wave using libsndfile. | `./build/sine` |
| [pa_sine][2] | Plays a 440hz sine wave with PortAudio | `./build/pa_sine` |
| [jucewindow][3] | Simple JUCE window | `./build/jucewindow_artefacts/Debug/jucewindow` |
| [attackrelease][4] | Attack Release Envelope | `./build/attackrelease` |
| [jucegraphics][5] | Example using main content component and graphics class in JUCE | `./build/jucegraphics_artefacts/Debug/jucegraphics` |
| [adsr][6] | | `./build/adsr_artefacts/Debug/adsr` |
[1]:./sine/sine.cpp
[2]:./pa_sine/pa_sine.cpp
[3]:./jucewindow/jucewindow.cpp
[4]:./attackrelease/attackrelease.cpp
[5]:./jucegraphics/jucegraphics.cpp
[5]:./adsr/adsr.cpp