A tiny orchestra.
Made of code.
chipvoice is an open-source JavaScript library that recreates classic console sound chips. This site is an instrument you can play to hear what the library does.
From score to sound.
A score becomes notes, notes become chip instructions, and the emulated chip generates the audio. Change the console and the same music takes on a different voice. The complete-arrangement player starts with lossless recordings rendered by these engines. Tempo, pitch and part edits, and your own MIDI files, render locally in a worker while the current music keeps playing.
Pulse waves and noise on Famicom. Wavetables on Game Boy. FM synthesis on Mega Drive. Sample playback, envelopes and echo on Super Famicom. Each engine follows its own hardware rules; Super Famicom uses a small sample bank, just as its sound chip did.
The engines are written in TypeScript and run as JavaScript. Open Make a loop for live synthesis in an AudioWorklet: play notes, trigger effects, record and edit your own score. The same library powers these live instruments and the full-arrangement renders.
The limits are part of the music.
Those consoles had only a handful of voices. A jump or a coin sound could borrow a channel from the music. Try the effect pads in Make a loop and watch it happen. The goal is a small, reusable audio engine for games, instruments and playful websites, with those constraints built in.
Choose a melody or console to start the playground. Your browser needs that first interaction to enable sound. Once playing, console and tempo changes flow into the next sound. Press Pause in the arrangement player to hold your position until you play again.
Familiar notes. Honest comparisons.
Mario, Zelda and Sonic open on their original console with the game’s chip commands and an independent reference to compare. NES commands are verified in CPU cycles; Mega Drive commands follow the original VGM capture. Other consoles and musical edits use adaptations extracted from those commands. No accompaniment is invented.
The listening lab uses versioned lossless recordings for repeatable, level-matched comparisons. It starts only when you press Play. Source checks compare pitches, rhythms and rests; engine checks compare register replay and, for Super Famicom, a native DSP reference. The lab publishes the evidence beside the audio.
The public selector currently features four Japanese consoles. C64 support remains in the library and existing saved scores.
Take it into your own project.
npm install chipvoiceMake a tune in the playground, open “View code”, and use the score in your own project. The library, examples, fidelity methodology and backlog are all on GitHub.
Play with the sound →Credits & sources.
Music by Koji Kondo (Mario and Zelda) and Masato Nakamura (Sonic). Each arrangement’s source, transcription or native reference and exact coverage appear under the console. See the score methodology and reference ledgers.
Console marks are bundled locally from Wikimedia Commons, preserving their source colours: Famicom, Game Boy, Mega Drive (Japan) and Super Famicom. The Game Boy wordmark is monochrome in its source.
Marks identify the emulated consoles. Nintendo and Sega retain their respective trademarks; this independent project is not affiliated with them. Archived marks from HVR88’s Monochrome Gaming Logos remain credited in the asset manifest.