From 826b81c00773dfb40d5e45f2c97662f16d86d22c Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 31 Mar 2026 11:52:32 +0000 Subject: [PATCH] Fix rhythm timing across all synth genre pieces MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Changed all 7 helper functions (folk, carol, pub, spirit, world, rhyme, rag) from hardcoded q values to BPM-based timing (q=30/bpm), making duration units represent eighth notes at the given BPM - Scaled all ~93 duration arrays to work correctly with new timing system - Fixed specific rhythm patterns for well-known songs: - Happy Birthday: correct 3/4 pickup rhythm (1,1,2,2,2,4 pattern) - Greensleeves/What Child Is This: proper 3/4 dotted rhythm (3,1,2 pattern) - Joy to the World: correct descending scale rhythm with dotted values - Home on the Range: proper waltz-style quarter/half note rhythm - She'll Be Coming Round the Mountain: correct 2/4 march rhythm - Jingle Bells: corrected verse/chorus rhythm - Fixed Video Game pieces: Turkish March q=0.18→0.227, Can-Can q=0.16→0.197 to match their listed BPM tempos - Fixed duplicate Happy Birthday definition in "Classics from Prime" section https://claude.ai/code/session_01MhCcEPfX3JqAk8zmvLXZ1g --- index.html | 206 ++++++++++++++++++++++++++--------------------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/index.html b/index.html index cb725ea..d0ae460 100644 --- a/index.html +++ b/index.html @@ -3320,7 +3320,7 @@ const VIDEOGAME_PIECES=(function(){ // ── Turkish March (Mozart) ── var turkish=(function(){ - var bg=[],mel=[],t=0,q=0.18; + var bg=[],mel=[],t=0,q=0.227; var theme=[B3,A3,Ab3,A3,C4,D4,C4,B3,A3,B3,C4,D4,E4,D4,C4,B3,A3,B3,A3,A3]; var tLn= [3,0,1,0,2,1,2,3,0,3,0,1,2,1,0,3,0,3,0,0]; for(var rep=0;rep<6;rep++){ @@ -3382,7 +3382,7 @@ const VIDEOGAME_PIECES=(function(){ // ── Can-Can (Offenbach) ── var cancan=(function(){ - var bg=[],mel=[],t=0,q=0.16; + var bg=[],mel=[],t=0,q=0.197; var theme=[C4,D4,E4,C4,E4,C4,E4,D4,E4,F4,E4,D4,C4,D4,E4,F4,G4,A4,G4,E4,C4,D4,E4,C4]; var tLn= [0,1,2,0,2,0,2,1,2,3,2,1,0,1,2,3,0,1,0,2,0,1,2,0]; for(var rep=0;rep<6;rep++){ @@ -3514,7 +3514,7 @@ const FOLK_PIECES=(function(){ // Folk piece helper function folk(name,origin,bpm,theme,lanes,durations,passes,root){ - var bg=[],mel=[],t=0,q=0.25; + var bg=[],mel=[],t=0,q=30/bpm; for(var rep=0;rep