Pokémon Synthesizer
PokéSynth
A synthesizer where every Pokémon plays as its own instrument, tuned to its real stats.

Overview
PokéSynth is a synthesizer where every Pokémon is its own instrument. A creature’s base stats and typing shape the sound it makes, from the warm sine of a Water type to the harsh FM bite of a Dragon. There are 898 Pokémon in play, so 898 instruments, all generated from real game data in the browser.
Highlights
- Type picks the synth. Fire, Fighting and Dragon get aggressive FM. Ghost, Dark and Poison get an unstable, eerie FM. Electric, Steel and Psychic shimmer with AM. Water, Ice and Flying are pure sine. Grass, Bug, Fairy and Normal are soft triangle.
- Stats shape the tone. HP is sustain, Attack is distortion, Defense darkens the filter, Special Attack opens the reverb, Special Defense widens the chorus, Speed sets how fast a note snaps. A fast, frail Pokémon sounds fast and frail. A tank sounds muffled and sustained.
- A keyboard you can play. Fifteen keys, by mouse, touch or A through L on your keyboard, with octave shifting.
- The whole UI retints. Pick a Pokémon and its type recolors every border, background and LED, over a Game Boy shell with scanlines and pixel sprites.
- See the stats drive the sound. A bar chart pulses while notes play, each bar labeled with the parameter it controls.
How It’s Built
React and TypeScript with Tone.js doing the synthesis, and PokéAPI supplying the data with nothing running on a server. Three ways to pick: fuzzy search, a browsable sprite grid, or random. The signal path runs synth, filter, distortion, chorus, EQ, compressor, reverb and limiter, with per-type EQ presets for the last bit of character.
Outcome
Proof that real game data can drive something creative. Charizard sounds unmistakably different from Blastoise, and not because I decided it should. The stat spreads already carry each Pokémon’s character. The synth just lets you hear it.