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.