Metadata-Version: 2.4
Name: refmatch
Version: 0.1.0
Summary: AI-powered reference track suggestions for music producers
Project-URL: Homepage, https://github.com/AdelElo13/refmatch
Project-URL: Repository, https://github.com/AdelElo13/refmatch
Project-URL: Issues, https://github.com/AdelElo13/refmatch/issues
Author-email: Adel <adel@refmatch.dev>
License-Expression: MIT
License-File: LICENSE
Keywords: audio,mastering,mixing,music,production,reference
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
Requires-Python: >=3.10
Requires-Dist: click>=8.0.0
Requires-Dist: librosa>=0.10.0
Requires-Dist: numpy>=1.24.0
Requires-Dist: pyloudnorm>=0.1.1
Requires-Dist: rich>=13.0.0
Requires-Dist: soundfile>=0.12.0
Provides-Extra: dev
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: ruff>=0.4.0; extra == 'dev'
Provides-Extra: faiss
Requires-Dist: faiss-cpu>=1.7.0; extra == 'faiss'
Description-Content-Type: text/markdown

# RefMatch

AI-powered reference track suggestions for music producers.

Stop searching for reference tracks. Let RefMatch analyze your audio and suggest the best matches.

## Install

```bash
pip install refmatch
```

## Usage

### Analyze a track

```bash
refmatch analyze my_track.wav
```

Shows BPM, key, loudness (LUFS), dynamic range, brightness, and spectral balance.

### Find reference tracks

```bash
refmatch match my_track.wav
```

Returns the top 5 most similar tracks from the database with match scores and explanations.

### Dimension-specific matching

```bash
refmatch match my_track.wav --dimension low-end
refmatch match my_track.wav --dimension loudness
refmatch match my_track.wav --dimension brightness
refmatch match my_track.wav --dimension rhythm
refmatch match my_track.wav --dimension harmony
```

### Manage your library

```bash
# Add a track or folder
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
```

## How it works

RefMatch extracts a 43-dimensional audio feature vector from your track using:

- **MFCCs** (timbral characteristics)
- **Spectral features** (centroid, bandwidth, contrast, rolloff)
- **Loudness** (integrated LUFS, dynamic range)
- **Rhythm** (tempo detection)
- **Harmony** (chroma features, key estimation)

It then finds the most similar tracks using cosine similarity, with optional dimension-specific matching to focus on particular aspects of the mix.

## Supported formats

WAV, MP3, FLAC, OGG, AIFF, M4A

## License

MIT
