Skip to main content

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.

PyPI License: MIT Python 3.10+

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]

# Optional desktop window mode
pip install refmatch[desktop]

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

# Launch browser UI
refmatch app

# Launch always-on-top desktop window (requires refmatch[desktop])
refmatch app --desktop

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+ professionally mixed reference tracks across 28 genres. The seed database loads automatically on first use — no setup needed.

The included seed is intended for personal and educational use.

Supported Formats

WAV, MP3, FLAC, OGG, AIFF, M4A

For Developers

# Install with dev dependencies
pip install -e ".[dev,clap]"

# Run tests
pytest

# Run tests with coverage
pytest --cov=refmatch --cov-report=term-missing

# Lint
ruff check src/ tests/

Roadmap

  • VST3/AU 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

Release files for refmatch 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for refmatch 0.3.1
File Size Uploaded
refmatch-0.3.1.tar.gz 290.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for refmatch 0.3.1
File Interpreter ABI Platform
refmatch-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 435.4 kB

Release files / refmatch-0.3.1.tar.gz

Download URL refmatch-0.3.1.tar.gz
Size 290.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a2ea92b08adc9e4869b5848b8801b6e8ca63924f8a170420d5178e09c1917c10
BLAKE2b-256 checksum
How to use checksums
c92d70786747366fa3cae2baba2bde78676060522b0f7d92ff098baf712313ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / refmatch-0.3.1-py3-none-any.whl

Download URL refmatch-0.3.1-py3-none-any.whl
Size 145.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7a33cb1179400e5e7521dc885cbab7efb9595281dd38047881a64085602993de
BLAKE2b-256 checksum
How to use checksums
9b8d50c015dc029a2b27600f53b5489b6523e533e47b0da7f33f23e759eede1d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page