Picking the right tempo for ESC playback
The default BPM from your MIDI file is rarely the best one for motor playback. Here's how to think about tempo when you're scoring for ESCs.
When you load a MIDI into the converter, the BPM field auto-fills from the file's first tempo event. That's a fine starting point but it's almost never the right tempo for motor playback. A few simple guidelines will give you better results.
Why MIDI tempo and ESC tempo aren't the same
A MIDI file's tempo is what the composer wrote for the original instrument. A piano playing Bohemian Rhapsody at 72 BPM sounds great. The same MIDI played on four brushless motors at 72 BPM sounds slow — because motors have a kind of mechanical inertia in how they ramp up to each tone, and slow notes give that inertia time to make every note feel laboured.
Conversely, a chiptune that was written at 180 BPM for a Game Boy speaker can sound frantic and indistinct on motors, because each motor's note attack has a fixed minimum duration that doesn't shrink with tempo.
The sweet spot
In my experience, 140–170 BPM is where most motor melodies sound their best. Faster than that and you start losing the note transitions. Slower and the song drags.
You can go up to 200 BPM if the song is sparse (Mario at 200 still works fine). You can drop to 110 BPM if the song is full of held notes and chords (Imperial March benefits from being slow).
But the default MIDI tempo, especially for classical pieces, is often something like 80 BPM, and that's almost always wrong.
What changes when you adjust tempo
Two things, both important:
- The song shrinks or grows in real seconds. At 120 BPM your 32 quarter notes take 16 seconds. At 160 BPM they take 12 seconds. This affects how much hook fits in the 62-note budget of perceived song time.
- The note transitions feel different. Each motor needs a few milliseconds to settle into a new frequency. Fast tempos make this audible as smearing; slow tempos make it inaudible but make each note feel held too long.
So tempo affects both perception and budget.
Practical approach
- Convert the MIDI at its default tempo and listen.
- If it feels sluggish, bump tempo up by 20 BPM and re-listen.
- If notes are mushy and you can't make out the melody, drop tempo by 10–20 BPM.
- Iterate. Each tempo change reconverts in real time.
Tempo by genre
Rough starting points if you're not sure:
- Movie themes (orchestral): 130–150 BPM. Most are written slow, motors want them faster.
- Pop songs: usually fine at the MIDI's native tempo, maybe +10 BPM.
- Chiptune (NES, Game Boy): drop 10–30 BPM from native.
- Classical (Bach, Beethoven): bump 30–50 BPM from native.
- Folk / lullaby: don't bother. They sound terrible at any tempo.
- Electronic / synthwave: native tempo usually fine.
A note on rests
When you speed up a tempo, the rests get shorter too. If your song has a lot of dramatic pauses (Imperial March, Inception, Jaws), bumping the tempo kills the drama. Don't do it. Those songs are written slow on purpose.
The drama comes from the silences, not the notes.
Tempo affects the Song Library entries
If you grabbed an RTTTL from our song library and it sounds off on your build, try editing the b= value in the string up or down by 20 and pasting again. Different motor / frame combos have different sweet spots — the library tempos are what worked on our reference build, not the universal optimum.