From 6baec25e6b148ec760a285e2aa17aa84c78750ab Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Apr 2026 16:13:05 +0000 Subject: [PATCH 1/3] Rewrite Flight of the Bumblebee in conductor-style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced 5-line tp() call with full conductor-style arrangement: - chromRun() helper plays fast chromatic scales in background, only every 4th note is hittable (conducting the accent peaks) - 7 sections: intro → first chromatic runs → development → E minor modulation → fff recapitulation → climax → coda - Three speed tiers (0.09s, 0.065s, 0.055s per note) for increasing intensity across sections - Continuous Am harmonic bed with strings/bass - Duration expanded from ~35s to ~88s https://claude.ai/code/session_01TFVkxq4PYhkSFGYHEi4uqY --- index.html | 267 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 262 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index f13de3a..1bdf53b 100644 --- a/index.html +++ b/index.html @@ -1816,11 +1816,268 @@ const CLASSICAL_PIECES=(function(){ })(); // ── Flight of the Bumblebee ── - var bumblebee=tp("Flight of the Bumblebee","Rimsky-Korsakov",180, - [E5,Eb5,D5,C5,B4,Bb4,A4,Ab4,G4,Gb4,F4,E4,F4,Gb4,G4,Ab4,A4,Bb4,B4,C5,D5,Eb5], - [2,1,0,2,3,2,1,0,3,2,1,0,1,2,3,0,1,2,3,2,0,1], - [{d:0.20,v:0.2,i:'strings'},{d:0.16,v:0.26,i:'strings'},{d:0.14,v:0.32,i:'strings'},{d:0.12,v:0.38,i:'strings'},{d:0.11,v:0.44,i:'strings'},{d:0.10,v:0.48,i:'strings'},{d:0.09,v:0.52,i:'strings'},{d:0.08,v:0.56,i:'strings'},{d:0.07,v:0.6,i:'strings'}], - [E4,Ab4,B4,E5]); + // Conductor-style: ~80s, A minor, famous chromatic runs + // Fast chromatic passages play in background; player hits accent peaks/valleys + var bumblebee=(function(){ + var bg=[],mel=[]; + function tutti(time,freq,dur,v){ + bg.push({t:time,f:freq,d:dur,i:'strings',v:v}); + bg.push({t:time,f:freq,d:dur,i:'brass',v:v*0.5}); + if(freq>200)bg.push({t:time,f:freq/2,d:dur,i:'bass',v:v*0.4}); + } + function timp(time,v){bg.push({t:time,f:A3,d:0.4,i:'timpani',v:v||0.5});} + + // Chromatic scale note arrays + var chromDown=[E5,Eb5,D5,Db5,C5,B4,Bb4,A4,Ab4,G4,Gb4,F4,E4]; + var chromUp=[E4,F4,Gb4,G4,Ab4,A4,Bb4,B4,C5,Db5,D5,Eb5,E5]; + + // Helper: play a fast chromatic run (background) with accent hits + // Every 4th note is hittable — player conducts the peaks + function chromRun(t0,notes,lanes,v,speed){ + var ct=t0; + notes.forEach(function(f,i){ + bg.push({t:ct,f:f,d:speed*0.85,i:'strings',v:v*0.6}); + bg.push({t:ct,f:f,d:speed*0.85,i:'woodwind',v:v*0.3}); + if(i%4===0){ + mel.push({t:ct,l:lanes[Math.floor(i/4)%lanes.length]}); + bg.push({t:ct,f:f,d:speed*2,i:'strings',v:v}); // accent + } + ct+=speed; + }); + return ct; + } + + // === CONTINUOUS HARMONIC BED === + var harmony=[ + [0,5,[A3,C4,E4],0.06], // Am - intro + [5,20,[A3,C4,E4],0.1], // Am - first runs + [20,35,[A3,C4,E4],0.14], // Am - development + [35,50,[E4,G4,B4],0.12], // Em - modulation + [50,65,[A3,C4,E4],0.18], // Am - recapitulation + [65,80,[A3,C4,E4],0.22], // Am - climax + [80,88,[A3,C4,E4],0.14] // Am - coda + ]; + harmony.forEach(function(h){ + for(var ht=h[0];ht Date: Wed, 1 Apr 2026 16:18:09 +0000 Subject: [PATCH 2/3] Add visual melody editor for classical pieces New editor screen lets users fix incorrect melodies without editing code: - Canvas-based timeline with 5 lane rows (Red/Yellow/Blue/Green/Kick) - Click to add notes, click existing notes to select, drag to move - Delete/Backspace to remove selected note - Arrow keys to nudge timing and lane - Beat grid snapping (1/4 beat resolution) - BPM adjustment - Zoom slider for timeline scale - Preview with orchestral background + melody clicks - Save to localStorage (auto-loaded when playing the piece) - Copy JSON to clipboard for sharing corrections - Reset button to restore original melody - Edit button appears in menu only for classical pieces Edits are loaded in buildClassicalNotes() so saved corrections are used during gameplay automatically. https://claude.ai/code/session_01TFVkxq4PYhkSFGYHEi4uqY --- index.html | 340 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 338 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 1bdf53b..c459629 100644 --- a/index.html +++ b/index.html @@ -131,6 +131,7 @@ canvas{display:block;}
+
@@ -179,6 +180,25 @@ canvas{display:block;} + +
+
+ + Editing: — + + + + + + + +
+
+ Click = add note | Click note = select | Drag = move | Delete/Backspace = remove selected | Scroll = pan timeline +
+ +
+