From 6baec25e6b148ec760a285e2aa17aa84c78750ab Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 1 Apr 2026 16:13:05 +0000 Subject: [PATCH] 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