blip_blip is a high-performance, terminal-based granular synthesizer and audio workstation written in Rust. It transforms your local .wav files into a multi-track soundscape, allowing for real-time manipulation of grain size, playback speed, and spatial effects through a neon-styled TUI.
- Granular Synthesis Engine: Real-time grain generation with adjustable size and scatter.
- Multi-Track TUI: Neon-inspired interface (Magenta/Cyan/Green) with live Unicode level meters.
- Audio Processing:
- Variable playback speed (0.0x to 4.0x).
- Tanh-based distortion/saturation.
- Global stereo reverb with per-track mix control.
- Live Recording: Capture your session directly to a high-quality
.wavfile. - Low Latency: Powered by
cpalandfundspfor efficient audio processing.
- Rust: You will need the latest stable Rust toolchain.
- Audio Drivers:
- Linux: Requires
alsa-libandpkg-config(standard for ALSA/PipeWire). - Windows/macOS: Should work out of the box with system default drivers.
- Linux: Requires
Clone the repository and build using Cargo:
cargo build --releaseThe binary will be located at target/release/blip_blip.
- Place one or more
.wavfiles in the same directory as the executable (or your project root). - Run the application:
cargo run
- Use the keyboard controls to manipulate the audio in real-time.
| Key | Action |
|---|---|
↑ / ↓ |
Select Track |
Tab |
Cycle Parameters (Volume, Speed, Grain, etc.) |
← / → |
Adjust Selected Parameter |
Space |
Play / Pause Selected Track |
a |
Play / Pause All Tracks |
r |
Restart Playhead for Selected Track |
b |
Bypass Effects for Selected Track |
w |
Start / Stop Session Recording |
q |
Quit |
This project is licensed under the MIT License - see the LICENSE file for details.
