Audio exports like WAV, MP3, and OGG capture how a track sounds. A MIDI export captures what a track is: every note, its pitch, its timing, and its velocity, stripped of the specific synth engine that played it.

That distinction matters the moment a project needs to leave ArcadeComposer for a purpose other than listening: handing a sketch to a live player to read, dropping notes into a notation program to print sheet music, or pulling a composition into another DAW for a final pass with different instruments.

ArcadeComposer generates a real Standard MIDI File entirely in the browser, and it is built specifically around how the app’s pattern sequencer and song timeline actually work, not a generic “record the output” bounce. This post walks through what happens when you click Export MIDI.

What Gets Exported: The Full Arrangement, Not Just a Pattern

A common misconception with MIDI export in any DAW-like tool is that it dumps out one pattern or one loop. ArcadeComposer’s MIDI export instead walks the entire song arrangement — every clip placed on the song timeline, for every instrument — and expands it into concrete, timestamped notes.

That expansion respects:

In short, the exported MIDI file is a faithful transcription of the whole song as arranged, not a single pattern rendered in isolation.

A Standard MIDI File, Built for Compatibility

Under the hood, ArcadeComposer writes its own Standard MIDI File, or SMF, byte-by-byte in JavaScript. There is no server round trip and no third-party conversion service.

The file uses SMF format 1, the widely supported layout where one dedicated tempo/meta track holds the song’s BPM and time signature, and every instrument gets its own named track:

Channels, Drums, and General MIDI Program Numbers

MIDI’s channel and instrument model does not map one-to-one onto ArcadeComposer’s custom synth engine, so the export makes a couple of deliberate, compatibility-first decisions:

Timing Details That Carry Over

A few performance details that are easy to lose in a naive MIDI export are preserved here:

What Does Not Carry Over: The Arpeggiator

One honest limitation worth knowing: ArcadeComposer’s arpeggiator runs as a real-time effect inside the synth voice itself, turning a single held note or chord into a fast repeating pattern at the audio level.

Because of that, MIDI export writes out the underlying held note you actually placed in the sequencer, not the individual fast pitches the arpeggiator generates during playback.

If a project leans on the arpeggiator for its character and you need those exact stepped pitches in another program, you will want to re-create the arpeggio there. Most DAWs and notation tools have their own arpeggiator, rather than expecting the MIDI file to contain pre-arpeggiated notes.

When to Reach for MIDI Export Instead of Audio Export

MIDI and audio exports solve different problems, and it is worth knowing which one fits the task:

A common workflow is exporting both: an audio bounce as the finished, game- or release-ready asset, and a MIDI file as a portable backup of the underlying composition. That backup is useful if you ever want to revisit the same notes with a different instrument, hand them to a collaborator, or notate the piece properly.

Summary

Arcade Composer’s MIDI export reads your entire song arrangement — every clip, pattern loop, and playback direction across the timeline — and writes it as a standards-compliant Standard MIDI File, entirely client-side.

Drum parts land on channel 10 automatically, melodic parts get a safe General MIDI piano placeholder so they play back predictably anywhere, and swing, velocity, and note duration are preserved so the export still feels like your performance rather than a flattened MIDI grid.

The one feature that does not translate is the real-time arpeggiator, which is worth knowing before you export a heavily arpeggiated part expecting the individual steps to show up as notes.