A simple music clustering tool that groups music based on similarity.
Melodion uses CLAP as the inference model to generate audio file embeddings. Its main purpose is to work with navidrome (our custom version) to queue similar music when playing.
-
Install dependencies:
uv sync
-
Run the server in development mode:
uv run uvicorn src.main:app --reload
Set the following environment variables:
- MUSIC_LIBRARIES: List of music library directories to scan for music files
- SCAN_INTERVAL: Interval in seconds between automatic scans for new music files (default: 3600)
To make it work with navidrome, set MUSIC_LIBRARIES to the same value as you have in your navidrome config/library.