AI-powered reference track suggestions for music producers
Project description
RefMatch
AI-powered reference track suggestions for music producers.
Stop searching for reference tracks. Drop in your audio, get instant matches based on how it actually sounds — not just metadata.
Why RefMatch?
- Spotify suggests by vibe. RefMatch matches by mix characteristics. Spectral balance, loudness, dynamics, rhythm — the things that matter when you're mixing.
- CLAP neural embeddings understand how your track sounds, not just its frequency stats. Hybrid matching combines perceptual + technical similarity.
- Works offline. No API calls, no cloud. Your audio stays on your machine.
- Open source. The engine is free. Bring your own library or use the built-in seed database.
Install
# Core (DSP matching only)
pip install refmatch
# With neural embeddings (recommended)
pip install refmatch[clap]
Quick Start
# Analyze your track
refmatch analyze my_track.wav
# Find reference tracks
refmatch match my_track.wav
# Match on specific dimensions
refmatch match my_track.wav --dimension low-end
refmatch match my_track.wav --dimension loudness
refmatch match my_track.wav --dimension brightness
How It Works
Two matching engines
DSP Features (43 dimensions) — always available:
- MFCCs (timbral fingerprint)
- Spectral features (centroid, bandwidth, contrast, rolloff)
- Loudness (integrated LUFS, dynamic range)
- Rhythm (tempo detection)
- Harmony (chroma features, key estimation)
CLAP Neural Embeddings (512 dimensions) — with refmatch[clap]:
- Pretrained audio model (laion/clap-htsat-fused)
- Captures perceptual similarity — tracks that sound alike even with different spectral stats
- Segment-based averaging for full-track analysis
Hybrid scoring: 60% CLAP + 40% DSP when both are available. Falls back to DSP-only gracefully.
Dimension-specific matching
Focus on what matters for your mix:
| Dimension | What it matches on |
|---|---|
low-end |
Sub/bass energy, spectral contrast in low bands |
loudness |
LUFS, dynamic range, RMS energy |
brightness |
Spectral centroid, rolloff, high-frequency contrast |
rhythm |
Tempo, transient density |
harmony |
Chroma features, key similarity |
Manage Your Library
# Add tracks (CLAP embeddings extracted automatically)
refmatch library add my_reference.wav
refmatch library add ~/Music/References/ --artist "Various" --genre "Hip-Hop"
# List your library
refmatch library list
# Match against your own library only
refmatch match my_track.wav --library
# Remove a track
refmatch library remove 42
Seed Database
RefMatch ships with 500+ CC-licensed tracks across 25 genres from Jamendo. The seed database loads automatically on first use — no setup needed.
Supported Formats
WAV, MP3, FLAC, OGG, AIFF, M4A
For Developers
# Install with dev dependencies
pip install -e ".[dev,clap]"
# Run tests
pytest
# Lint
ruff check src/ tests/
Roadmap
- VST3/CLAP plugin for in-DAW matching
- Natural language queries ("find something with heavy sub-bass and airy vocals")
- User feedback loop for personalized ranking
- Segment-based matching (intro/verse/chorus/drop)
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file refmatch-0.2.1.tar.gz.
File metadata
- Download URL: refmatch-0.2.1.tar.gz
- Upload date:
- Size: 271.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e74a86f277eeeb207fe6bbb2f4734908759d5bdd6e806d0de372203528e177f8
|
|
| MD5 |
dcd5b041ed65b3d78e38c110148a6d0b
|
|
| BLAKE2b-256 |
06b89d26b1477c3e2e5069f5b8fdab75e2612cb452caa9f830b39ed770176a7f
|
File details
Details for the file refmatch-0.2.1-py3-none-any.whl.
File metadata
- Download URL: refmatch-0.2.1-py3-none-any.whl
- Upload date:
- Size: 132.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3075488b228b54fcf8e95374176539eb03e0e295e29d5e39aa9a09dbb227ab42
|
|
| MD5 |
9b9180a286604d61d88235b25cc3c2c8
|
|
| BLAKE2b-256 |
65e1407588939f98d71c0a4b7e153415d21bf8ac2b503c4c7db94cc0b370a04e
|