Skip to main content

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.

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 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

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

# 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

refmatch-0.3.0.tar.gz (254.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

refmatch-0.3.0-py3-none-any.whl (134.6 kB view details)

Uploaded Python 3

File details

Details for the file refmatch-0.3.0.tar.gz.

File metadata

  • Download URL: refmatch-0.3.0.tar.gz
  • Upload date:
  • Size: 254.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for refmatch-0.3.0.tar.gz
Algorithm Hash digest
SHA256 2b585e49cde5eb7ea389d81c727bd6a22225c846cb93b8036086fcc86c67657e
MD5 7e82554826f2e92a74b6ec111853fa80
BLAKE2b-256 4fde1731816c25d3ab2ad2d01894f5e1d4285def52044a0027c56e845e80bc00

See more details on using hashes here.

File details

Details for the file refmatch-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: refmatch-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 134.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for refmatch-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 08a09df05a360a09cf52d5387cdebe2232548dcb98f609836bbce503e301315b
MD5 e26f821b4124740095d85d23374da47d
BLAKE2b-256 834fdb337e63ff9689bf8c3c5e662055c60caf89061dd6fdc86973f4f05b50af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page