Add proper README with feature docs and synth reference

https://claude.ai/code/session_01GdFrFqAe9e2DaJ86jZPEZE
This commit is contained in:
Claude
2026-03-30 12:41:38 +00:00
parent 5280f94882
commit 501f1cfeaf
+61 -1
View File
@@ -1 +1,61 @@
# drum-rhythm-game
# Drum Rhythm Game
A browser-based drum rhythm game. Notes scroll down the screen and you hit the matching drum pad in time — like Rock Band, but it runs entirely in your browser with no server, no dependencies, no install. Just open `index.html`.
Works with **keyboard**, **Wii Rock Band drum kit via USB**, or any gamepad.
## How to Play
1. Open `index.html` in Chrome or Edge
2. Pick a genre and rhythm (or a classical piece)
3. Click **Start**
4. Hit the pads when notes reach the line:
- **F** = Red (Tom)
- **G** = Yellow (Snare)
- **H** = Blue (Hi-hat)
- **J** = Green (Tom)
- **Space** = Kick (Bass drum)
## Features
- **9 Genres**: Rock, Metal, Jazz, Hip Hop, Funk, Latin, Electronic, Country, Classical
- **146 Rhythms**: 120 drum patterns + 26 classical orchestral pieces
- **Classical Mode**: Synthesized orchestra plays automatically while you hit the melody notes on the pads. Choose between drum sounds or orchestral hit sounds.
- **26 Classical Pieces**: Beethoven's 5th, Hall of the Mountain King, O Fortuna, Ride of the Valkyries, Toccata & Fugue, Bolero, Also Sprach Zarathustra (2001), The Blue Danube, Flight of the Bumblebee, Fur Elise, Canon in D, Ode to Joy, 1812 Overture, and more
- **MP3 Jam Mode**: Load your own music and drum along freely
- **Multiplayer**: Take turns on the same rhythm, scores compared at the end
- **Pad Toggles**: Turn pads on/off to adjust difficulty — start with kick+snare, add more as you improve
- **Leaderboard**: Scores saved locally with player name, accuracy, and streak
- **Preview**: Hear any rhythm before playing
- **Gamepad Support**: Wii Rock Band drums via USB, auto-detected
## Synthesizer
All sounds are generated in real-time using the Web Audio API — no audio files needed:
| Sound | Method |
|-------|--------|
| Kick | Sine oscillator, 180Hz to 40Hz sweep |
| Snare | Highpass noise burst + 180Hz tone |
| Hi-hat | Highpass noise burst, very short |
| Toms | Sine oscillator pitch sweep |
| Strings | Sawtooth oscillator + lowpass filter |
| Brass | Square oscillator + lowpass filter |
| Woodwind | Triangle oscillator |
| Bass | Sine oscillator, low frequency |
| Timpani | Sine frequency sweep |
| Choir | Multiple detuned sine oscillators |
## Tech
- Pure vanilla JavaScript — no libraries, no build step, no server
- Single `index.html` file
- Web Audio API for all sound synthesis
- Canvas 2D for the note highway
- Gamepad API for drum kit input
- localStorage for score persistence
- Works on Windows, Linux, and Mac
## License
[MIT](LICENSE)