Songs and genres
The library
Section titled “The library”109 annotated songs across 12 genres, built from real MIDI files. Fifteen of the MIDI files ship in the package; the other 94 are fetched from their source sites with one command (see the end of this page). America the Beautiful, arranged in this repository and dedicated to the public domain, is the fifteenth and the folk exemplar. Songs progress through three states:
- Raw — MIDI only, no annotations
- Annotated — musical language has been written by the AI
- Ready — fully playable with bar-by-bar analysis and teaching notes
Genre exemplars
Section titled “Genre exemplars”Each genre has one deeply annotated exemplar with historical context, bar-by-bar harmonic analysis, key moments, teaching goals, and performance tips (including vocal guidance). These serve as templates: the AI studies one, then annotates the rest.
| Genre | Exemplar | Key | What it teaches |
|---|---|---|---|
| Blues | The Thrill Is Gone (B.B. King) | B minor | Minor blues form, call-and-response, playing behind the beat |
| Classical | Fur Elise (Beethoven) | A minor | Rondo form, touch differentiation, pedaling discipline |
| Film | Comptine d’un autre ete (Tiersen) | E minor | Arpeggiated textures, dynamic architecture without harmonic change |
| Folk | America the Beautiful (Ward) | F major | Tonic-dominant hymn harmony, patriotic phrasing, melody in F4–C5 |
| Jazz | Autumn Leaves (Kosma) | G minor | ii-V-I progressions, guide tones, swing eighths, rootless voicings |
| Latin | The Girl from Ipanema (Jobim) | F major | Bossa nova rhythm, chromatic modulation, vocal restraint |
| New-Age | River Flows in You (Yiruma) | A major | I-V-vi-IV recognition, flowing arpeggios, rubato |
| Pop | Imagine (Lennon) | C major | Arpeggiated accompaniment, restraint, vocal sincerity |
| Ragtime | The Entertainer (Joplin) | C major | Oom-pah bass, syncopation, multi-strain form, tempo discipline |
| R&B | Superstition (Stevie Wonder) | Eb minor | 16th-note funk, percussive keyboard, ghost notes |
| Rock | Your Song (Elton John) | Eb major | Piano ballad voice-leading, inversions, conversational singing |
| Soul | Lean on Me (Bill Withers) | C major | Diatonic melody, gospel accompaniment, call-and-response |
Browsing the library
Section titled “Browsing the library”Use the Learn tools to explore:
list_songs— filter by genre, difficulty, or keywordsong_info— full musical analysis for any songregistry_stats— library-wide totals (songs, genres, difficulties)annotation_progress— annotation status across all genressuggest_song— recommendation based on genre, difficulty, and play history
Annotation workflow
Section titled “Annotation workflow”All 109 songs are now fully annotated — written by AI through this exact loop, gated by a quality rubric, and fact-checked against the actual MIDI. The same workflow promotes any newly imported song from raw to ready:
- Use
song_infoorlist_measuresto examine the raw MIDI data - Study the genre exemplar for context and teaching patterns
- Use
annotate_songto write musical language — harmonic analysis, key moments, teaching goals - Use
score_annotationto grade it; the song progresses from raw to ready once it clears the quality bar
Measure-level inspection
Section titled “Measure-level inspection”list_measures— every measure’s notes, dynamics, and existing teaching notesteaching_note— deep dive into a single measure with fingering, dynamics, and musical context
Transposition
Section titled “Transposition”Transpose any song up or down by semitones using transpose_song. The tool shifts all notes and updates the key signature automatically. Useful for matching a singer’s range or practicing in different keys.
Section markers
Section titled “Section markers”Songs can have structural section markers (Intro, Verse, Chorus, Bridge, Coda) for navigation and teaching. Use list_sections to view them and add_section to annotate song structure.
Practice setup
Section titled “Practice setup”Before playing, use practice_setup to get recommended speed, mode, voice settings, and the exact CLI command for a song. This factors in the song’s difficulty and the AI’s current skill level.
Use mute_hand to isolate left or right hand practice. Use preview_teaching_cues to see all teaching notes and key moments before playing.
What ships, and what you fetch
Section titled “What ships, and what you fetch”The annotations are ours and ship with every song. The MIDI files were downloaded from public MIDI sites when the library was built, and a per-file provenance audit found that only 14 of those downloads carry a licence that permits redistribution: Bernd Krueger’s piano-midi.de arrangements (CC-BY-SA-3.0-DE) and the Mutopia Project’s public-domain typesettings. Those 14 are in the npm package and in the repository. America the Beautiful is the fifteenth shipped MIDI: an arrangement made in this repository and dedicated to the public domain. The other 94 downloads are not. Each of their .json files carries a provenance block naming the source site, its terms and the file’s SHA-256, and
ai-jam-sessions library fetch --accept-source-termsdownloads each one from the site that published it, under that site’s terms, refusing any file whose hash no longer matches what the annotations were verified against. Until you fetch, those songs are listed as unfetched and the server plays the 15 that ship. Twelve files that turned out to be a different piece than their name were quarantined, which is why the downloaded library is 108 songs and not the 120 earlier versions claimed. America the Beautiful brings the library to 109. The full audit is in the repository at docs/findings/library-provenance-audit.md.