← All posts

Adapting chiptune originals (NES, Game Boy) to motor music

· chiptune · nes · game boy · arrangement

Chiptune was already four-voice polyphony on tiny speakers. It maps onto motor music almost perfectly — but there are a few translation tricks worth knowing.

Chiptune is the secret cheat code for motor music. The NES sound chip had four voices: two pulse-wave channels for melody, one triangle for bass, one noise channel for percussion. The Game Boy had two pulse, one wave, one noise. Both architectures are basically what a four-motor quadcopter does — monophonic voices stacked into polyphonic arrangements.

So when you take a chiptune MIDI and convert it for ESCs, you're translating from one square-wave polyphony engine to another. The match is shockingly good.

Why this works

The original NES Mario theme was already designed to be split across four monophonic voices. Each voice was a constraint. Nintendo's composers got very good at writing music that sounds rich within that constraint — and that means MIDIs ripped from NES games tend to translate to motor music with almost no editing.

By comparison, an orchestral MIDI has 20+ instruments doubling and harmonising. Most of that doesn't fit into 4 motor lanes. You spend time pruning. Chiptune originals don't need pruning. They're already the right shape.

Best sources for game MIDIs

  • VGMusic.com — huge archive, very well organised by system / game.
  • The MIDI Shrine — fewer files but higher-quality transcriptions.
  • NSFE / VGM files converted to MIDI — search Bandcamp / GitHub for tools.

Always check the file's track count. NES MIDIs usually have exactly 4–5 tracks (one per voice + sometimes metadata). If you load a "Mario theme" MIDI and it has 17 tracks, it's not the chiptune original — someone re-arranged it for orchestra.

Translation tips

Triangle bass usually wants an octave down

NES triangle channel notes are usually written one octave above what your ear expects, because the NES would play them as a low triangle wave naturally. When you convert to motor playback, the motor reproduces the literal MIDI pitch, not the chip's interpretation. So bass lines from NES MIDIs often need Octave shift = -1 to sound right.

The noise channel usually gets dropped

NES games used the noise channel for drums (kick, snare, hi-hat). Motors can't play noise — they can only play pitched tones. The MIDI sometimes maps noise hits to specific MIDI notes that you can convert as if they were melody notes, but it usually sounds bad. Just uncheck the noise track in the converter.

Tempo usually wants to be slightly slower

NES games ran their music engine at 60 Hz, and most chiptune sounds best when played a notch slower than the original tempo on physical motors. Try BPM around 140–160 even if the MIDI says 180.

Songs that work brilliantly

In rough order of how reliably they impress people at meetups:

  1. Super Mario Bros. main theme — the four-bar opening fits beautifully.
  2. Tetris (Korobeiniki) — fits comfortably with bass on motors 3 and 4.
  3. Megaman 2 — Dr. Wily's Castle — fast and dramatic, surprisingly recognisable.
  4. Pokemon Red — Pallet Town theme — gentle, great for cinewhoops.
  5. The Legend of Zelda — Main Theme — slow, heroic, lots of space.
  6. Castlevania — Vampire Killer — driving rhythm, big bass.

Songs that don't translate

  • Anything from Final Fantasy — these MIDIs are arranged for orchestra, not the original chiptune. Pruning is awful.
  • Mario Kart — the chiptune arrangements are dense with percussion you can't reproduce. Strip down to lead + bass only.
  • Sonic — the Sega Mega Drive had a YM2612 FM synth, not a square-wave chip. Sonic MIDIs sound foreign on square-wave motors.

A worked example: Tetris

Source: standard Korobeiniki MIDI from VGMusic. Five tracks: lead melody, harmony, bass, drums (noise channel mapped to MIDI notes), percussion.

Edits we made:

  • Unchecked drums and percussion tracks.
  • Pinned lead to motors 1 + 2, bass to motors 3 + 4.
  • Bumped tempo from MIDI's 132 BPM to 160 BPM.

Output: 47 notes lead, 22 notes bass, leaving plenty of headroom. Sounds exactly like the game. Total time from MIDI download to ready-to-flash: about 8 minutes.

This is the easiest possible workflow for motor music. If you're starting out and you want a guaranteed-good first build, pick a chiptune original.

← All posts