Pixel-art SID sound chip

CHIPCRUSH

Turn any song into 8-bit game music. Chip synth listens for the melody, chords, bass and drums and plays them again on square, triangle and noise voices, like an old console. Then crush the bits, warp it on worn cassette tape or dusty vinyl, change the tempo, play it through a phone or radio, tune between up to eight songs on an old radio dial, beat-juggle them in DJ mode matched in tempo and key, spin the motor down or drop the call into a busy signal, and save it as FLAC, WAV or MIDI. Or queue up a stack of songs and let Autopilot play them its own way. It also works as a plain audio converter.

Runs in your browser. Files never leave this device.

or drop them anywhere on the page
Loading demo clip…
 
MP3 · WAV · FLAC · OGG · M4A
Track decks

Click a name to tune to it. Drag the pink flag to set the start, Shift-drag to sweep a loop, double-click to reset. Focused deck keys: arrows nudge the start, I and O set the loop, L loops, R cycles direction, M mutes, S solos.

Scope
DryWet
0:00 / 0:00
Starting…

Autopilot

Off

Queue up a stack of songs and let Chipcrush play them its own way: it picks a sound for each song from the kinds you like, brings every song to the same loudness, sometimes changes the sound halfway through, and moves on with a crossfade or a turn of the radio dial. ♥ the sounds you like and it plays them more.

No songs queued yet.

Order
Between songs
Each song
What it plays

Presets

Console

Chip synth

On

Melody
Chords
Bass

Scale quantizer

Off

Snaps every transcribed note to a scale on the song's own key, so a major song can come out minor, pentatonic or bluesy. Applies to the chip synth, the note views and MIDI.

Sound chip

On

Tempo & pitch

Each one moves without the other

Tape & vinyl

Off

Robot & mangle

Beat sync

Off

Chipcrush measures each song's tempo and where its beats fall. Locked to the beat, Echo time snaps to a note length, the Chopper cuts on the beat and Stutter skips land on 16ths.

EQ & compression

Speaker & space

Off

Radio dial

Off
Dial follows

Record: arm ● Rec, play, and tune by hand. A new take replaces only the stretch it covers. The take shows as a line on the waveform strip and goes into the export.

Drag the dial, or use the arrow keys, to tune by hand while it plays. Page Up and Page Down jump between stations. Use + Add track above to load up to eight songs.

Static samplesDrop static recordings here. They take turns at each station change. The ones that come with Chipcrush load the first time the radio is on.

DJ mode

Off

Beat-juggles your decks, in the spirit of Daft Punk's Face to Face or Porter Robinson and Madeon: every deck is matched to the tuned deck's tempo and key, then cut up on one beat grid with repeats, stabs from the other songs, rolls and jumps. Each deck's start flag picks where its part begins.

Ambience

Off

Story FX

Off

Sounds from inside the story. For the party next door or the TV downstairs, pick the Through the wall or TV downstairs speaker above.

Tunnel radio

Off

A car radio going through a tunnel. Pair it with the AM radio speaker, or the radio dial.

PA announcement

Off

Tape stop

Off

Call drop

Off

How the sound is made

Chip synth
The song is cut into 17 ms frames and turned into a spectrum. Each possible note gets a score from its overtones (harmonic sum). The best-scoring high note becomes the melody and the best low note becomes the bass. The three strongest pitch classes make the chord, which is played as a fast arpeggio, the old chip way to fake a chord. Voices update 60 times a second with 16 volume steps, like an NES.
Drums and MIDI
A short spectrum watches three bands for sudden energy jumps: lows for kicks, mids for snares and highs for hats. Kicks are falling triangle tones and the rest is LFSR noise. The same notes can be saved as a MIDI file, so you can load them into a tracker or DAW.
Four sound chips
Every chip plays from the same 60 Hz stream of notes. NES: pulse waves, a stepped triangle and LFSR noise. C64 SID: a sawtooth lead with a ring-modulated triangle edge and a pulse arpeggio whose width sweeps, with lead and bass through one resonant state-variable filter that closes after each note. Mega Drive FM: two-operator phase modulation whose depth decays after each note (1:1 slap bass, 1:2 lead with feedback, 1:3.5 chimes) on a 9-bit DAC. PC speaker: one bit; the voices take turns 120 times a second by weighted round robin.
Scale quantizer and note views
The key is found by correlating how long each pitch class sounds with the Krumhansl–Kessler major and minor profiles. Each note then snaps to the nearest note of the chosen scale on that tonic, ties going down, so a major third becomes a minor one. Pattern view shows the result like a FastTracker II pattern: 0.12 s rows, notes, instruments, hex volumes, and chords as 0xy arpeggio effects.
Track decks and loops
Each track plays from its start flag to its loop out point, repeats the loop as many times as set, then plays on, with 3 ms crossfades at the seams. The transport loop instead loops part of the finished mix gaplessly in the player, and can be exported on its own.
Diegetic FX
Battery dying slows the clock along a squared curve so pitch droops, holds samples longer, drops bit depth, adds brown-out gaps and shrinks the headroom. Bad cell keeps 300 Hz to 3.4 kHz, keeps only the strongest partials of each 23 ms frame (the metallic codec sound) and drops 20 ms packets in bursts from a two-state channel, covering them by repeating the last one. Through the wall is a steep low-pass with room modes at 62 and 125 Hz plus a clipped, band-passed buzz driven by the bass.
Story FX
Hot-car cassette reads the tape through one shared, wandering read head: three slow wow sines, a speed sag that grows to 3% as the tape stretches, and random pinches that dip the speed and drop the level and highs. Tunnel radio fades the station on a ramp, flickers it in 40–90 ms steps (multipath), closes a low-pass, and brings in AM static and engine rumble. The diner runs the music through a small Schroeder reverb (four combs, two all-passes) over talkers made of vowel formants. The PA chime is two inharmonic bell tones a major third apart; the voice goes through a 350 Hz–3.8 kHz horn with a 180 ms slap-back while the music ducks.
More sound chips
SNES: one-cycle samples squeezed to 4-bit BRR blocks (16 samples share one power-of-two shift), read through a soft four-point B-spline (the muffled SNES tone), at 32 kHz with a 14-bit pitch register, ADSR envelopes and a 240 ms echo fed back through an eight-tap FIR low-pass. Amiga: 8-bit samples played at whole-number periods of the 3.55 MHz PAL clock with no interpolation, loops shortened for high notes to stay under the 28 kHz DMA limit, 0–64 volume, then the 4.4 kHz RC filter. FM patches set each operator pair's ratio, index sweep, feedback and envelope.
Melody focus
While the melody sounds (with a 0.2 s tail), chords and bass are turned down and, on FM, their modulation index is lowered so they darken. Chord tones within a semitone of the melody's pitch class are dropped, and at high settings a chord that reaches into the melody's register moves down an octave.
Speak & Spell and the chip vocoder
Speak & Spell is LPC as in the TMS5100: 25 ms frames at 8 kHz, ten reflection coefficients from Levinson–Durbin quantized in the arcsine domain to 5, 5, 4, 4, 4, 4, 4, 3, 3 and 3 bits, a 16-step energy and an autocorrelation pitch; a ten-stage lattice filter re-speaks it from a ringing pulse or noise, with parameters stepped eight times a frame. The vocoder splits the recording into 16 bands from 120 Hz to 7 kHz and uses each band's envelope to open the same band of a whitened chip carrier playing the melody, with noise in the top bands.
Tempo, key and DJ mode
Spectral flux at 11 kHz gives an onset curve. Its autocorrelation, weighted toward 120 BPM, gives a rough tempo, refined to 0.02 BPM by sliding a beat grid along the whole song; the beat position with the most low-band onset is the downbeat. The key is Krumhansl–Kessler on the same spectra. DJ mode stretches every deck (WSOLA) to the tuned deck's tempo, counting half- or double-time songs in 8ths or half notes, shifts it the fewest semitones onto the tuned deck's key (minor keys by their relative major), evens out loudness, then rebuilds the mix beat by beat from seeded choices, with 4 ms crossfades at every cut.
Autopilot and ambience
Autopilot decodes one song ahead, renders it with a sound drawn from your taste weights (or one you loved), and sets each song's gain from its gated RMS to about −18 dBFS without letting peaks clip. Ambience beds are generated for the mix's length: filtered stereo noise with slow swells, plus decaying sine ticks for drops, cups and keys, formant babble for the café, and Doppler-shifted engine tones for passing cars.
Bit depth and sample rate
Each sample snaps to one of 2n levels with round(x · 2ⁿ⁻¹) / 2ⁿ⁻¹ and is held until the chip's slower clock ticks again. Fewer levels add grain. A slower clock drops the highs and folds the rest back as aliasing.
Tempo without pitch
Tempo uses WSOLA. The track is cut into overlapping 42 ms grains, each grain slides up to 12 ms to line up with the one before it, and then they are blended back together. Pitch shift stretches first and then resamples.
Tape and vinyl
Wow and flutter drive a cubic-interpolated fractional delay line with slow capstan sway and fast motor quiver. Dropouts model creased oxide lifting off the tape head, rolling off high frequencies before ducking the volume. Vinyl dust combines a 33⅓ RPM groove swoosh, platter rumble, and impulses through a 2.1 kHz phono pickup resonance.
Robot voice
Ring mod multiplies the sound by a sine tone, which smears every note into metallic sidebands. Metal is a feedback comb filter tuned to the same robot pitch. Glitch flips the chip's lowest bits.
Radio dial
Each station sits on its own spot of a 540 to 1600 kHz AM dial, and all of them play on one timeline from their start flags, looping if they are shorter. As the needle moves off a station, that station fades on a bell curve and gets muffled, a heterodyne whistle rises in pitch, and AM static fills the gaps. Auto tune holds each station, then sweeps on with a little overshoot, like a hand on the knob. The static styles fill the gaps differently: Tuning sweep scatters weak carriers that chirp as their beat tone falls to zero and rises again, plus thin, far-off copies of your other tracks; Shortwave adds Morse, slow fading and sideband voices shifted by a ring modulator; Thunderstorm adds lightning crashes.
Tape stop and call drop
Tape stop cuts motor power so the read head decelerates along a (1 − t)¹·⁶⁵ braking curve to a dead halt while rolling off highs, ending with a relay clunk. Call drop cuts the line dead with a click, silence, and the North American 480 + 620 Hz fast busy signal.
Speaker and space
Each speaker is a chain of band filters, compression and soft clipping. Telephone keeps 300 Hz to 3.4 kHz and AM radio about 200 Hz to 4.5 kHz. Room is a convolution reverb and Echo is a filtered feedback delay.