Commit Graph
7 Commits
Author SHA1 Message Date
Claude e144512450 Add pause, remap, speed/volume, reorder genres, full README
UI improvements:
- Start button now sticky at bottom of viewport — always visible
  without scrolling, with Remap Pads button alongside
- Pause/Resume: press Escape or pause button in HUD. Suspends
  AudioContext to freeze all scheduled audio perfectly.
- Back to Menu button on pause overlay

Gamepad remap:
- Remap Pads button walks through each pad (Red, Yellow, Blue,
  Green, Kick) and captures the button press from any USB drum kit
- Mapping saved to localStorage, survives page reload
- Default mapping still Wii Rock Band

Speed & Volume sliders:
- Speed: 50%-150%, affects BPM for drum patterns and note/bg
  timing for classical pieces. Slow down for practice.
- Volume: 0%-150% master volume, affects both drums and synth
- Both on menu Settings card

Genre tab reorder:
- Synth genres now appear first: Singalong, Christmas, Folk,
  Classical, Video Games, Chiptune Originals
- Drum pattern genres after: Rock, Metal, Jazz, etc.
- Default genre changed from Rock to Singalong

README: Complete song list for all 65 synth pieces + 120 drum
patterns, USB drum kit compatibility table, feature list.

https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
2026-03-30 13:32:17 +00:00
Claude e85e17a499 Add Christmas and Singalong genres (65 synth pieces, 48 min total)
Christmas (10 carols, all public domain):
- Jingle Bells (1857), Silent Night (1818), Deck the Halls (1862)
- We Wish You a Merry Christmas (1500s), O Christmas Tree (1824)
- The First Noel (1823), Joy to the World (1719)
- Away in a Manger (1885), 12 Days of Christmas (1780)
- Hark the Herald Angels Sing (1840)
Uses choir synth for festive choral sound on later passes.

Singalong (10 campfire/pub/shanty songs, all public domain):
- Drunken Sailor (sea shanty), Molly Malone (Irish, 1880s)
- Whiskey in the Jar (Irish trad.), The Parting Glass (Irish/Scots)
- Amazing Grace (1779), Auld Lang Syne (1788)
- When the Saints Go Marching In (spiritual)
- Oh My Darling Clementine (1884), Scarborough Fair (medieval)
- My Bonnie Lies Over the Ocean (Scottish, 1881)

Total: 14 genres, 65 synth pieces, 48 minutes of content
Still a single index.html file with no dependencies.

https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
2026-03-30 13:22:45 +00:00
Claude a63b7b3842 Add 3 new genres: Video Games, Chiptune Originals, Folk (45 pieces total)
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
2026-03-30 13:15:34 +00:00
Claude 18bcb192ab Fix classical playability: louder orchestra, no stacked notes
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
2026-03-30 12:56:28 +00:00
Claude 501f1cfeaf Add proper README with feature docs and synth reference
https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
2026-03-30 12:41:38 +00:00
Claude d533dfc0f5 Fix classical mode: 3x volume boost, Linux audio resume, longer pieces
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
2026-03-30 02:30:55 +00:00
Claude 6765c4aea8 Add Classical genre tab with synthesized orchestra and 3 pieces
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
2026-03-30 02:15:10 +00:00