Groove DSP removes pops, clicks, surface crackle, and hiss from your vinyl records — in real time, as you play them. It sits between your turntable and amplifier on a Raspberry Pi 5, cleaning up the audio before it reaches your speakers.
No computer required during playback. Control everything from a web dashboard on your phone, tablet, or laptop.
- Fewer pops and clicks — Sharp transient noises from dust and scratches are softened
- Less surface crackle — The continuous "frying" sound of worn grooves is reduced
- Preserved music — Bass, vocals, and cymbals stay intact; only the damage is removed
- Adjustable strength — Dial restoration up or down from the web interface to match your record condition
| Item | What It Is | Why It Matters |
|---|---|---|
| Raspberry Pi 5 (4GB or 8GB) | The small computer that runs everything | Needs the official Active Cooler and 27W USB-C power supply. Undervolting causes audio dropouts |
| HiFiBerry DAC2 ADC Pro HAT | A sound card that adds analog inputs and outputs to the Pi | Captures your turntable's audio and sends restored audio to your amplifier |
| Turntable + Phono Pre-amplifier | Your existing vinyl setup | The pre-amp must have a line-level output (not "phono" output) |
| Audio Amplifier + Speakers | Your existing stereo | Receives the restored line-level signal |
| RCA-to-3.5mm adapter | Connects your pre-amp to the HiFiBerry | The HiFiBerry's 3.5mm jack is the input; the RCA jacks are the output |
Tip
Recommended Pre-amp: iFi Zen Phono 3. Its balanced XLR output can be adapted to RCA, and paired with a passive RCA switch it provides an ultimate hardware bypass — flip the switch to hear the raw vinyl without any DSP in the path.
Important
Wiring: Connect your phono pre-amplifier's output to the 3.5mm jack on the HiFiBerry HAT (using an RCA-to-3.5mm cable). Connect the HiFiBerry's RCA jacks to your amplifier's input.
Your turntable's signal goes into the Raspberry Pi, gets converted to digital audio, runs through cleaning stages, then converts back to analog and goes to your amplifier. The whole process takes less than 3 milliseconds — you won't hear any delay.
The web dashboard lets you turn restoration on or off, adjust how aggressive the cleaning is, and run calibration tools.
Connect to your Raspberry Pi via SSH and run:
curl -sSL https://raw.githubusercontent.com/dubyte/groovedsp/v2.1.1/install.sh | sudo bashThis script checks for the HiFiBerry HAT, installs dependencies, configures the system, downloads the latest release, and enables auto-start services. Once finished, reboot:
sudo rebootAfter reboot, open http://groovedsp.local:5000 in a browser.
- Install the OS — Flash Raspberry Pi OS Lite (64-bit) to an SD card, enable SSH, set hostname (e.g.
groovedsp.local), and boot the Pi 5 - Attach the HiFiBerry HAT — Mount it on the Pi's GPIO header before powering on
- Install dependencies — Run the setup commands (see INSTALL.md for the full step-by-step guide)
- Build the software — Compile the audio processing plugin and install the web dashboard
- Open the dashboard — Visit
http://groovedsp.local:5000on any device on your network
For detailed installation instructions, see INSTALL.md.
Once running, open http://<raspberry-pi-ip>:5000 or http://groovedsp.local:5000.
- Decrackle (ON): Full processing chain — time-domain click repair and frequency-domain noise reduction in one pass.
- Pass-through (OFF): Direct bypass routing — ADC capture connected straight to DAC playback, zero processing.
A single slider from 0% to 100% controls the overall restoration intensity:
| Level | Use case |
|---|---|
| 50 | Everyday listening — safe for clean/medium vinyl, preserves dynamics |
| 85 | Damaged records — handles crackle without crushing punch |
| 100 | Extreme wear — strong noise reduction, some high-end trade-off |
| 0 / pass-through | True bypass — zero processing |
- Learn Surface Noise: Drop the needle on a silent lead-in groove and click this button. The SVNR engine captures a noise profile and surgically subtracts it from the music.
- Snapshot (
/capture_snapshot): Instant 5-second metrics (RMS, crest factor, noise reduction) for quick slider checks. - Tuning Lab: Use
capture_session.py+analyze_captures.pyfor data-driven tuning with real vinyl. See.ai/skills/tuning-lab/SKILL.md.
| Problem | Likely Cause | Fix |
|---|---|---|
| No sound at all | JACK audio server not running | Check systemctl status groovedsp.service and reboot |
| Audio dropouts / stuttering | Insufficient power | Use the official Raspberry Pi 27W PSU, not a phone charger |
| Dashboard won't load | Firewall or wrong IP | Verify the Pi's IP with hostname -I; ensure port 5000 is open |
| Very quiet output | Input gain too low | Use the Auto-Calibrate feature or check INSTALL.md |
| Harsh, metallic sound | Restoration strength too high | Lower the strength slider to 30-40% |
| Component | Language | Purpose |
|---|---|---|
| run.sh | Bash | Main startup script — waits for hardware, starts JACK2, Carla, and the web server |
| deploy.sh | Bash | One-command dev-to-Pi deployment — syncs code, compiles, installs, restarts |
| plugins/svnr/ | Rust | The core noise-reduction audio plugin (LADSPA) |
| backend/ | Python | Web dashboard and audio engine control |
| systemd/ | — | Auto-start services on boot |
| docs/ | — | Technical documentation and DSP mathematics |
For deployment on Debian-based systems, you can build a .deb package:
chmod +x package_deb.sh
./package_deb.shInstall it with:
sudo apt install ./groovedsp.debThe package installs the Rust plugin, Python backend, systemd services, and creates a virtual environment automatically.
- INSTALL.md — Complete step-by-step installation guide with all commands
- docs/technical-overview.md — System architecture, glossary, and advanced topics for developers
- docs/mathematics.md — Deep dive into the DSP algorithms and equations
- CONTRIBUTING.md — How to build, test, and contribute code changes
- CHANGELOG.md — Version history and feature additions
Groove DSP is open-source software. See the repository for license details.