About Tonalys

Tonalys is a music analysis web app. From an uploaded audio file or a YouTube link, it detects the chords, tempo and key of a track and displays them in sync with playback — a piano view and guitar tabs — with capo, transpose and manual chord correction.

How it works

An upload or YouTube link creates a track and an analysis job. The job is queued over RabbitMQ; a Python worker downloads or reads the audio, runs tempo/key detection with madmom and chord recognition with chord-cnn-lstm, and writes the results back. The frontend polls the job and then renders the chords synced to playback.

Next.js (App Router)NestJSPythonmadmomchord-cnn-lstmPostgreSQLRabbitMQMinIODocker Compose

A note on YouTube

YouTube audio extraction is provided for personal use only. Tonalys is a single-user project with no public sharing of analyzed tracks. Access is normally behind a login; it may be opened without one for short periods, with a small daily cap on new analyses.

Model licensing

Tempo and key detection use madmom, whose pretrained model weights are licensed CC BY-NC-SA (non-commercial). Tonalys is personal, unmonetized, not a commercial product.

Links