Video Games (5 pieces):
- Korobeiniki / Tetris Theme (Russian folk, 1861) — public domain
- Turkish March (Mozart) — used in countless retro games
- Hungarian Rhapsody No. 2 (Liszt) — classic boss/cartoon music
- Can-Can (Offenbach) — bonus stage energy
- Kalinka (Russian folk) — Tetris B-side vibes
Chiptune Originals (6 pieces, composed by Claude.ai):
- Pixel Quest — bouncy platformer theme
- Starfield — space shooter pulse
- Dragon's Keep — RPG overworld adventure
- Turbo Dash — fast racing theme
- Dungeon Crawl — dark adventure in D minor
- Victory Fanfare — boss defeated celebration
All use square wave (brass) oscillator for authentic 8-bit character
with pulse bass and arpeggiated accompaniment building per pass.
Folk (8 pieces, all public domain):
- Oh! Susanna, Camptown Races (Stephen Foster, 1848-50)
- Greensleeves (English Traditional, 1580)
- Red River Valley, Home on the Range (American, 1870s)
- Yankee Doodle (American, 1770s)
- Turkey in the Straw (American, 1820s)
- Danny Boy (Irish Traditional, 1910s)
Architecture: Replaced hardcoded "Classical" checks with generic
SYNTH_GENRES lookup object. Adding new synth genres now requires
only defining the piece array and adding one entry to SYNTH_GENRES.
Genre tabs now show: Rock, Metal, Jazz, Hip Hop, Funk, Latin,
Electronic, Country, Classical, Video Games, Chiptune Originals, Folk
Total: 12 genres, 45 synth pieces, 31 minutes, 5604 melody notes
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
Three fixes for classical mode:
1. Louder background orchestra: bg volume boosted 1.5x in
beginClassical so the full orchestra is clearly audible
during gameplay, not drowned out by hit sounds
2. No more impossible stacked notes: buildClassicalNotes now
enforces a 0.12s minimum gap between consecutive hittable
notes. This removes physically impossible simultaneous hits
while keeping 94-100% of notes in most pieces. Flight of the
Bumblebee goes from 206 to 140 notes (still 4 notes/sec).
3. Balanced hit volumes: drum hits during classical mode reduced
from gain 8 to gain 3 so they don't overpower the orchestra.
Orchestra hit sounds boosted (strings 0.7, brass 0.4). Miss
feedback reduced to gain 2.
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
Audio fixes:
- Multiply all synth volumes by 3x in playSynth() — previous gains
(0.25-0.65) were 10-30x quieter than drum sounds (gain 1.5-4)
- Add explicit ac.resume() in beginClassical(), startGame(), and
preview to fix Linux/Chrome AudioContext suspension
- Add 0.15s scheduling offset so AudioContext fully resumes before
first oscillator fires
Piece duration increases:
- Beethoven's 5th: 28s → 54s (113 melody notes). Added soft string
echo, extended scalar passages, sustained choir chords, 5 final
chords, and a fff motif restatement
- Hall of the Mountain King: 18s → 38s (117 melody notes). Expanded
from 5 to 8 acceleration passes (0.55s → 0.095s per note), added
repeated finale chords and final sustained chord
- O Fortuna: 22s → 43s (78 melody notes). Added second chant phrase,
quiet string interlude, second ascending passage, extended 12-note
climactic reprise, and double finale chords
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
Implements the Classical mode with a Web Audio synthesizer engine
supporting strings (sawtooth+lowpass), brass (square+lowpass),
woodwind (triangle), bass (sine), timpani (sine sweep), and choir
(detuned sines). Adds three playable pieces:
- Beethoven's 5th (Opening): The iconic G-G-G-Eb motif with full
orchestral backing, scalar passages, and power chords (~28s)
- Hall of the Mountain King (Grieg): 5-pass accelerating theme that
starts slow with woodwinds and builds to a frantic brass finale
- O Fortuna (Orff): Dramatic choral piece with choir synth, ascending
and descending passages, and climactic D-minor finale
Background synth plays automatically while melody notes scroll as
hittable targets. Scoring, pad toggles, preview, and multiplayer
all work with classical pieces.
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE