Set the tonal center for voicings, playback, and analytics.
Browse Templates
Load a progression template to compare grooves—great for auditioning verses, choruses, or bridges.
Type Chords
Quickly load progressions from text like "C - F - Am - G" or "C, F, Am, G".
Rhythm Pattern
Apply rhythmic patterns to set chord durations (half notes, quick changes, etc.).
Analyze Audio
Upload an audio file (mp3, wav) to detect chords automatically using AI.
Analysis:—
Mood:—
Tension:
Quick Add Chord
No chords in progression yet. Add chords above to begin.
Auto-Bass FillOffOn
Inv
Key:C Major
No chords in progression yet. Add chords above to begin.
How melody notes are chosen
How many notes per chord
Timing of notes
Vertical span of melody
Overall melodic shape
Starting pitch level
Tip: The melody generator analyzes your chord progression and creates a melodic line that follows music theory principles. Experiment with different styles and parameters to find the perfect melody!
Interactive Mode - Each chord in the progression is shown on the staff as a whole note in 4/4 time. When recording, use the Notation Control Panel below to select note durations, rests, accidentals, dynamics, and modifiers. Click notes on the keyboard to add them, or use buttons below to delete/clear.
Automatically fill bass clef from chords
OFF
OFF
Musical Notation
BPM:120
Highlight
Generated Melody
Edit Melody
Melody over Chord Progression
Timeline
0 notes generatedRange: -Duration: -
1. Select Root Note
Scale Info
2. Filter by Category
3. Select Scale Type
Lime keys show the selected scale. Click a scale to see details and hear it.
Loading learning content...
Arp Speed:Medium
RH Octave:Oct: 0
AI Assist
Speed:Medium
Octave:Oct: 0
Analyze Audio for Chords
Upload an audio file to detect its chord progression automatically.
Drop your audio file here
or click to browse
Supports MP3, WAV, OGG, M4A, FLAC
Detection Method
Loading audio...
0%
Detected Chords
Detected Key:--
Key Calibration
If you know the actual key, select it to auto-correct
Pitch Correction
Transpose all chords if detection seems off
0
Enharmonic Spelling
Choose how to display sharp/flat notes (e.g., A# vs Bb)
Compare with Online ChordsFree
Online chord suggestions:
Click a chord to apply it to your detected progression.
Searching for chords...
Tip: Click on a chord to edit or remove it. Consecutive duplicate chords will be merged.
How it works:
1. Upload any audio file (song, recording, etc.)
2. Our AI analyzes the harmonic content to detect chords
3. Review and edit the detected chords
4. Import them as chord cards to your progression
Note: Detection works best on clear recordings. Complex mixes may have lower accuracy.
Bass notes are detected separately for inversion hints.
About Interactive Music Theory Lab
Why Does This Website Exist?
50% of your contribution goes to musical charities like the Detroit Youth Choir.
I'm musical-ish. I can read, learn, and decently play complicated piano songs. I can sight-read pretty well. I have rhythm. I played a decent saxophone through high school and could probably make it sound ok even today. But for some reason, I have absolutely never been able to memorize songs, write songs, or understand why what I'm playing sounds good. My childhood piano teacher, Mrs. Lorio, would have us to her house once a month on Saturday mornings specifically for something like a music theory workshop, but she didn't stand a chance to convince a 10-year-old boy that music theory was important. There were also cookies. In college I was interested enough that I took a music theory class at the University of Michigan which was awesome, but it didn't have anything to do with the practical application of music theory - it just wasn't possible in that environment for non-music majors.
I believe that through interactive music theory exercises directly integrated with songwriting - whether it be a few measures or a complete song - I can begin to close some of my own gaps, and that's why I started to develop this site. At first I just wanted my own interactive chord library, then I wanted to sort, organize, and re-order chords so I could listen to my library. Then, I wanted to use these organized chords to try to write a melody.
Then, I realized I didn't know enough about how to pick, sort, and organize chords or apply a melody - let alone create an entire song - so this project continued to grow. But I only knew how to code in a perfunctory manner, and AI helped me to fill that gap (in my experience AI does seem great for making websites, but is also pretty infuriating. Let me know if you want to talk about it).
And that brings us to where we are now. I think this is one of, if not the most, comprehensive practical and interactive music theory + songwriting things out there. There are many great applications and tools that do a better job at pieces of what I'm trying to provide to you and you should check them out, but I don't think they even try to bring it all together in this way. It's not why they were created. This application is meant to be for the aspiring musician and songwriter who doesn't have "it", but it can also be for those who do. This application isn't meant to be Suno - give Suno a vibe and some lyrics and have it write a whole song for you.
This is meant for the person who wants to get their hands a little dirtier and learn and understand what's going on. Why do these things sound good together and in sequence. And you get to pick how you want it go. If you get stuck with creating music, there are some tunable algorithms (i.e. you can pick whether you want to emphasize voice leading, harmonic function, style/mood, etc.) that are meant to provide guidance and suggestions for chord progressions, melody, texture/harmony, and more, but I think of these - based on your use case - as being somewhere between fun toys for exploration and valuable suggestions for the musician with writer's block or just looking for the spark of an idea. This isn't meant to write the song for you. It's specifically meant for not that.
As far as other features, there are interactive theory and writing lessons that integrate with the rest of the site. You can start from a significant library of progressions and edit them to your desired sound. You can even upload your own .wav or .mp3 files and we can detect with decent accuracy the bass chords and duration of each chord and get those chords down in musical notation. You can do this with your songwriting samples you've recorded and you're trying to streamline getting them down on paper or your favorite band's song (unfortunately I can't point to YouTube links directly for legal reasons. It's gotta be your own files).
Support This Project
If you'd like to contribute to help support active ongoing development, please use one of the buttons below. 50% of your contribution goes to a musical charity or non-profit. Currently I'm thinking the Detroit Youth Choir. I'll provide monthly updates related to this if anyone contributes anything.