Search music librarieswithout leaving the terminal.
Search your music library from the terminal. Fast. Local. Built for DJs and producers.
Built for the way you work
Metadata search, BPM filtering, key detection, and a fast local cache — all from the command line.
Metadata + Filename Search
Search title, artist, album, comment, or filename. Fast, case-insensitive, zero config.
BPM & Variable Tempo
Range filters, near-BPM with tolerance, and segment-aware detection for tracks with tempo changes.
Key Detection
Camelot & OpenKey with confidence scores. Use `--key 8A --harmonic` for compatible matches.
Lightning Cache
SQLite cache by content hash. `dubgrep cache status` for runtime info and library stats.
Formats
MP3, WAV, FLAC (and more coming). Full metadata + audio analysis.
Terminal First
Plain text, rich JSON, table output. Pipe-friendly. `--max-workers` for large libraries.
Roadmap
Planned nextStart in seconds
Install the CLI, point it at your library, and start searching. No config needed.
Installation
Install with a single command:
go install github.com/forrest321/dubgrep@latestPre-built binaries & Homebrew coming soon.
Quick Start
Cache your library with dubgrep index, then check stats and recommended workers with dubgrep cache status.
dubgrep index -r ~/Music # cache your librarydubgrep cache status # view stats & recommended workersReal DJ workflows
Harmonic crate search
Find all harmonically compatible tracks in a set folder.
dubgrep "" ~/Sets/current --key 8A --harmonicBPM + genre tagging
Search for tracks by genre keyword within a tempo range.
dubgrep "garage" ~/Music --bpm 138-142 --field title,artist,commentJSON for scripts / Rekordbox export
Pipe structured output to a file or another tool.
dubgrep "techno" ~/Library --json > set.jsonNear BPM
Search around a tempo with an adjustable range.
dubgrep "dubstep" ~/Music --bpm-near 140 --tol 2Pre-scan library
Cache metadata and BPM ahead of time so searches are instant.
dubgrep index -r ~/MusicKey Flags
| Flag | Description |
|---|---|
| --key 8A,9B | Camelot key filter (supports --harmonic) |
| --bpm <range> | BPM range filter, e.g. `128-132` |
| --bpm-near <bpm> --tol <n> | Near-tempo search with adjustable tolerance |
| --field <list> | Limit search fields: `title`, `artist`, `key`, etc. |
| --max-workers 8 | Control indexing parallelism (default = GOMAXPROCS) |
| -r, --recursive | Scan subdirectories |
| --json | Structured output |
| cache status | Show cache stats + hardware recommendations |
Get dubgrep
Install from source with a single command. Pre-built binaries are on the way — follow GitHub for updates.
Install from source
Fastest way to get started
go install github.com/forrest321/dubgrep@latest