https://github.com/simmsb/dsp-stuff
Some gui audio effects thing
https://github.com/simmsb/dsp-stuff
dsp guitar-effects guitars
Last synced: about 1 year ago
JSON representation
Some gui audio effects thing
- Host: GitHub
- URL: https://github.com/simmsb/dsp-stuff
- Owner: simmsb
- License: mit
- Created: 2022-01-11T22:10:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-08-21T12:39:57.000Z (almost 2 years ago)
- Last Synced: 2024-08-22T12:24:01.064Z (almost 2 years ago)
- Topics: dsp, guitar-effects, guitars
- Language: Rust
- Homepage:
- Size: 458 KB
- Stars: 43
- Watchers: 5
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DSP Stuff
A node based audio effects thing.

# Usage
Run with `cargo run --release --features gpl_effects` (customize the feature
flags as you wish)
If you're using pipewire, you can set the `PIPEWIRE_LATENCY` env var to force
pipewire to give us the lowest latency possible, for example:
```sh
env PIPEWIRE_LATENCY=128/48000 cargo run --release
```
## Feature flags
- `gpl_effects`: Enables building with effects that are gpl licensed. (note:
this will make the built binary gpl licensed)
- `windows`: Enables building cpal with ASIO support
- `console`: Enables the tokio console subscriber
## Plumbing
If you're on linux, the JACK interface of cpal seems to work by creating a
source/sink pair for the application. You'll want to use something like
qjackctl, or [pw-viz](https://github.com/Ax9D/pw-viz/tree/grouped_nodes) to
manage connecting up these interfaces.
## Buffer sizes
Currently the device handling is rather primitive.
The current implementation uses cpal's 'default' buffer size option. I tried
opening devices with the buffer size set to the lowest size specified in the
config range, but alsa seems to lie or just fail when you try to set the buffer
size on some/all devices?
If you're using pipewire you can use the PIPEWIRE_LATENCY env var to lock the
buffer sizes.
## Notes
- This currently assumes the sample rate is 48000hz