Fix melody note sequences for 6 songs verified against lead sheets

Songs corrected:
- Amazing Grace: fixed C5→E5 errors in multiple positions, fixed missing
  G5 repeat, corrected phrase structure (was 31 notes, now correct 28)
- Greensleeves: fixed G3→Ab3 (G#3) at position 17 in the descending
  phrase (B3,G#3 pattern should match the B3,G#3 at position 14-15)
- Deck the Halls: fixed B4→Bb4 at position 1 (key is F major, all B's
  should be Bb except accidentals)
- When the Saints Go Marching In: removed duplicate F4 at index 25
  (standard has F4 whole note then E4, not F4-F4-E4)
- Auld Lang Syne: removed extra G4 at position 9 that shifted all
  subsequent notes, fixed garbled second half of verse
- Scarborough Fair: rewrote melody to correct register (standard melody
  reaches D5/E5, game was stuck below C5), now matches lead sheet

Verified correct (no changes needed): Jingle Bells, Silent Night, Oh! Susanna

Songs not in the PDF (need different reference): Red River Valley,
Home on the Range, Yankee Doodle, Turkey in the Straw, Danny Boy,
Bella Ciao, Clementine, Molly Malone, Whiskey in the Jar, First Noel,
Hark the Herald, 12 Days of Christmas, Wellerman, Drunken Sailor,
Skye Boat Song, Away in a Manger, Joy to the World

Reference: music-for-music-teachers.com lead sheet images

https://claude.ai/code/session_01ELEFwNKTnZvM39VK9wsYd4
This commit is contained in:
Claude
2026-03-30 20:28:44 +00:00
parent db7069336e
commit 24e9f0ec3a
+14 -14
View File
@@ -1818,7 +1818,7 @@ const FOLK_PIECES=(function(){
// ── Greensleeves ──
var greensleeves=folk("Greensleeves","English Traditional (1580)",100,
[A3,C4,D4,E4,F4,E4,D4,B3,G3,A3,B3,C4,A3,A3,Ab3,A3,B3,G3,A3,C4,D4,E4,F4,E4,D4,B3,G3,A3,B3,C4,B3,A3],
[A3,C4,D4,E4,F4,E4,D4,B3,G3,A3,B3,C4,A3,A3,Ab3,A3,B3,Ab3,A3,C4,D4,E4,F4,E4,D4,B3,G3,A3,B3,C4,B3,A3],
[0,1,0,2,1,2,0,3,3,0,3,1,0,0,1,0,3,3,0,1,0,2,1,2,0,3,3,0,3,1,3,0],
[2,1,2,2,1,2,2,1,2,1,1,2,2,1,1,1,2,2,2,1,2,2,1,2,2,1,2,1,1,1,1,3],
4,A3);
@@ -1905,7 +1905,7 @@ const CHRISTMAS_PIECES=(function(){
[2,1,2,3,2,1,2,3,2,1,3,2,1,3,2,1,2,1,2,2,1,2,3,2,1,2,1,2,2,1,2,3,2,1,2,1,3,2,2,2,2,1,1,1,1,4],
3,C4);
var deck=carol("Deck the Halls","Welsh (1862)",130,
[C5,B4,A4,G4,F4,G4,A4,F4,G4,A4,Bb4,G4,A4,G4,F4,E4,D4,E4,F4,G4,A4,G4,F4,E4,F4,G4,A4,Bb4,C5,A4,G4,F4],
[C5,Bb4,A4,G4,F4,G4,A4,F4,G4,A4,Bb4,G4,A4,G4,F4,E4,D4,E4,F4,G4,A4,G4,F4,E4,F4,G4,A4,Bb4,C5,A4,G4,F4],
[0,3,0,3,1,3,0,1,3,0,2,3,0,3,1,2,1,2,1,3,0,3,1,2,1,3,0,2,0,0,3,1],
[2,1,1,2,1,1,1,2,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,2,1,1,4],
4,F4);
@@ -1992,19 +1992,19 @@ const SINGALONG_PIECES=(function(){
[1,1,2,1,1,1,2,1,1,1,2,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2,3],
4,E4);
var amazing=pub("Amazing Grace","J. Newton (1779)",80,
[G4,C5,E5,C5,E5,D5,C5,A4,G4,G4,C5,E5,C5,E5,D5,G5,E5,E5,C5,E5,D5,C5,A4,G4,G4,C5,E5,C5,E5,D5,C5],
[3,0,2,0,2,1,0,0,3,3,0,2,0,2,1,0,2,2,0,2,1,0,0,3,3,0,2,0,2,1,0],
[1,2,1,1,1,2,1,2,2,1,2,1,1,1,2,2,1,1,1,1,2,1,2,2,1,2,1,1,1,2,4],
[G4,C5,E5,E5,D5,C5,A4,G4,G4,C5,E5,E5,D5,E5,E5,G5,G5,E5,C5,C5,A4,G4,G4,C5,E5,E5,D5,C5],
[3,0,2,2,1,0,0,3,3,0,2,2,1,2,2,3,3,2,0,0,0,3,3,0,2,2,1,0],
[1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,2,1,2,1,2,1,2,1,2,1,2,1,4],
4,C4);
var auld=pub("Auld Lang Syne","R. Burns (1788)",95,
[C4,F4,F4,F4,A4,G4,F4,G4,A4,G4,F4,F4,A4,C5,D5,D5,C5,A4,A4,F4,G4,F4,G4,A4,G4,F4,D4,D4,C4,F4],
[0,1,1,1,0,3,1,3,0,3,1,1,0,0,1,1,0,0,0,1,3,1,3,0,3,1,1,1,0,1],
[1,2,1,1,2,1,1,1,2,1,1,1,1,1,3,2,1,2,1,1,1,1,1,2,1,1,2,1,2,4],
[C4,F4,F4,F4,A4,G4,F4,G4,A4,F4,F4,A4,C5,D5,C5,D5,C5,D5,C5,A4,F4,G4,A4,G4,F4,G4],
[0,1,1,1,0,3,1,3,0,1,1,0,0,1,0,1,0,1,0,0,1,3,0,3,1,3],
[1,2,1,1,1,2,1,1,1,2,1,1,1,2,1,2,1,1,1,2,1,1,1,2,1,4],
4,F4);
var saints=pub("When the Saints Go Marching In","Spiritual (Trad.)",120,
[C4,E4,F4,G4,C4,E4,F4,G4,C4,E4,F4,G4,E4,C4,E4,D4,E4,E4,D4,C4,C4,E4,G4,G4,F4,F4,E4,F4,G4,E4,C4,D4,C4],
[0,2,1,3,0,2,1,3,0,2,1,3,2,0,2,1,2,2,1,0,0,2,3,3,1,1,2,1,3,2,0,1,0],
[1,1,1,3,1,1,1,3,1,1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,1,1,1,1,2,1,1,1,4],
[C4,E4,F4,G4,C4,E4,F4,G4,C4,E4,F4,G4,E4,C4,E4,D4,E4,E4,D4,C4,C4,E4,G4,G4,F4,E4,F4,G4,E4,C4,D4,C4],
[0,2,1,3,0,2,1,3,0,2,1,3,2,0,2,1,2,2,1,0,0,2,3,3,1,2,1,3,2,0,1,0],
[1,1,1,3,1,1,1,3,1,1,1,2,1,1,1,2,1,1,1,2,1,1,2,1,2,1,1,2,1,1,1,4],
4,C4);
var clementine=pub("Oh My Darling, Clementine","P. Montrose (1884)",110,
[C4,C4,C4,G3,E4,E4,E4,C4,C4,E4,G4,G4,F4,E4,F4,G4,G4,F4,E4,F4,E4,D4,C4,D4,E4,F4,F4,E4,D4,E4,C4],
@@ -2012,9 +2012,9 @@ const SINGALONG_PIECES=(function(){
[1,1,1,2,1,1,1,2,1,1,2,1,1,1,2,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,4],
4,C4);
var scarborough=pub("Scarborough Fair","English (Medieval)",85,
[D4,D4,D4,A4,A4,E4,F4,E4,D4,A4,G4,A4,C5,B4,A4,B4,A4,G4,E4,D4,D4,A3,D4,E4,F4,E4,D4],
[0,0,0,0,0,2,1,2,0,0,3,0,0,3,0,3,0,3,2,0,0,4,0,2,1,2,0],
[2,1,2,2,1,1,1,2,2,1,1,1,2,1,2,1,2,1,1,2,1,2,1,1,1,2,4],
[D4,D4,A4,A4,D5,D5,C5,D5,E5,D5,C5,A4,Bb4,A4,G4,B4,A4,G4,F4,F4,G4,A4,F4,E4,D4,E4,F4,D4,D4,F4,G4,A4,G4,F4,E4,D4],
[0,0,0,0,1,1,0,1,2,1,0,0,2,0,3,3,0,3,1,1,3,0,1,2,0,2,1,0,0,1,3,0,3,1,2,0],
[3,3,2,1,3,1,1,1,3,2,1,1,1,1,2,1,3,3,1,2,1,1,1,1,2,1,3,3,1,1,1,3,1,1,1,4],
4,D4);
var bonnie=pub("My Bonnie Lies Over the Ocean","Scottish (1881)",120,
[G4,F4,E4,F4,G4,A4,G4,F4,E4,C4,D4,E4,F4,G4,F4,E4,F4,G4,A4,G4,F4,E4,D4,C4,E4,G4,E4,C4],