The short answer: drum transcription on this converter catches almost nothing a drummer would call a drum. The engine is a pitch finder, so it can read a kick’s low sweep down to about 65 Hz and it can reach a tone as high as 1800 Hz in monophonic mode or 4000 Hz in polyphonic mode — but every cymbal, hat and sub-kick falls outside that band, and the 11.61 ms frame grid throws away the onset timing that makes a groove. We ran each limit on this converter’s own analysis code, and the numbers are below. If you want the per-piece breakdown (kick becomes a bass line, snare becomes 156 notes, hi-hat becomes 360), that is Drums to MIDI: what a pitch detector does with no pitch to find — this page is the ceiling those numbers hit.
1. The three boundaries, stated up front
Before any measurement, the converter’s own constants set the field. Every file is resampled to 22 050 Hz, read with a 2048-sample window stepped 256 samples at a time, and searched for pitch inside a fixed band:
- F_MIN = 55 Hz (about A1) — the lowest pitch the search will even consider.
- F_MAX = 1800 Hz — the monophonic search ceiling.
- P_MAX = 4000 Hz — the highest spectral peak the polyphonic mode will keep.
- HOP = 256 → 11.610 ms per frame, about 86 frames per second.
Those four numbers are the whole story. A drum sound is a transient: it has no sustained fundamental, and its energy is spread across frequencies. So the question “what does drum transcription catch?” reduces to “which parts of a drum fall inside 55–4000 Hz and last longer than one 11.6 ms frame?” Almost none of it does. The three measurements below put numbers on that.
2. The floor: anything below 55 Hz is invisible
We synthesised a kick that sweeps down from 70 Hz to 30 Hz with an 85 ms decay — a sub-heavy kick whose lowest portion dips well under the 55 Hz floor — and ran it through the converter’s own analyze(). Result:
| What we looked for | Measured result |
|---|---|
| Notes with a fundamental below 55 Hz | 0 |
| Lowest note actually returned | MIDI 36 ≈ 65 Hz |
| Total notes from the sweep | 1 |
The sweep spent most of its decay under 55 Hz, but the converter never reported a single note there — the sub-bass tail simply does not exist inside the search band. What it did catch was the kick’s highest instant, around 65 Hz, as one note. The practical meaning: an 808 sub, a deep tom, or any kick tuned below ~55 Hz leaves no trace at all. The converter is not “missing a few low notes” — it is mathematically blind to that register.
3. The ceiling: cymbals live above the band
The opposite boundary matters more, because cymbals and hi-hats carry most of a kit’s energy up at 2–8 kHz. We fed two pure tones — one at 1500 Hz (inside the band) and one at 5000 Hz (where cymbal energy actually lives) — through both detection modes:
| Tone | Monophonic mode | Polyphonic mode |
|---|---|---|
| 1500 Hz (inside band) | 1 note | 1 note |
| 5000 Hz (cymbal range) | 0 notes | 0 notes |
A 1500 Hz tone is caught in both modes; a 5000 Hz tone is caught in neither. The monophonic ceiling is 1800 Hz and the polyphonic ceiling is 4000 Hz, so even polyphonic mode — the one that reaches higher — stops 1000 Hz short of where a ride cymbal’s shimmer sits. The takeaway: the brighter half of a drum kit is completely outside the capture band. A hi-hat or crash does not come back “wrong” — it comes back as nothing, or as a few stray low partials dragged down from the band edge. This is why the companion page shows a hi-hat becoming hundreds of notes: the converter is grabbing the noise below 4000 Hz, not the cymbal you hear.
4. The timing grid: a groove is not a groove
Drums are about when, not what pitch. But this converter measures pitch frame by frame and groups frames that share a pitch into notes; it has no onset detector. We fed a 16th-note snare roll — 8 hits at 140 BPM, evenly spaced 107 ms apart, each 20 ms long — and looked at what came back:
| What we put in | What came out |
|---|---|
| 8 hits, 107 ms apart | 11 notes |
| Distinct onset times | 8 clusters |
| Closest two onsets | 12 ms apart |
| Onset spacing in the source | 107 ms, perfectly even |
The roll went in as eight identical, metronomic hits and came back as eleven notes at eight irregular onsets — the closest two only 12 ms apart, where the source had them 107 ms apart. The 11.61 ms frame grid is the finest time resolution the converter has, and a note must also persist for at least the shortest-note setting (60 ms by default) to be written at all. A 20 ms snare transient is shorter than that floor, so it survives only as a smeared, pitch-guessed blob. The result is that drum timing is not preserved: the converter chases pitch continuity and discards the transient edges that are the entire point of percussion.
5. What this means for a real kit
Put the three boundaries together and a kit falls apart:
- Kick: only its highest instant near the 55 Hz floor survives, as one low note — the sub portion is gone (section 2).
- Snare / toms: broadband noise smeared across frames; the converter scatters each hit into many wrong-pitched notes rather than one onset (section 4, and the per-piece counts on the drums page).
- Hi-hat / crash / ride: energy sits above 4000 Hz, outside the capture band entirely (section 3).
None of this is a tuning problem. The sensitivity slider changes the threshold at which a frame counts as a note; it cannot lower 55 Hz, raise 4000 Hz, or add an onset detector that is not in the code. Mono vs poly changes which wrong notes you get, not whether they are wrong. A drum kit is the one source this converter is structurally unable to read.
6. How to confirm the ceiling on your own file
You do not have to trust the table. The constants above are the same for every file, so the ceiling repeats on your audio. Drop a kit recording in and read the .csv it writes — the header is index,midi_note,note_name,start_sec,end_sec,duration_sec,velocity:
- Sort the note names. If everything sits between MIDI 33 (55 Hz) and MIDI 86 (about 1800 Hz), you have confirmed the band — nothing above or below exists in the output by construction.
- Count notes per hit. One snare hit returning eight or ten notes is the section-4 smear, not a transcription.
- Look at onset spacing. A tight roll that comes back with onsets 12 ms apart, where you played them 100 ms apart, is the timing grid erasing your groove.
- Switch to monophonic mode. The cymbals will drop to zero — visible proof that their energy was above the 1800 Hz ceiling all along.
Questions people actually ask
Can this converter give me a usable drum track?
No, and the reason is structural, not a setting. The engine is a pitch finder locked to a 55–4000 Hz band with an 11.61 ms frame grid and no onset detection. A kick reads as one low note, snares and toms smear into many wrong notes, and cymbals fall outside the band entirely. None of that is fixable with the sensitivity or mode sliders.
Why do my hi-hats disappear?
Because their energy is concentrated at 2–8 kHz, and the highest frequency this converter keeps is 4000 Hz in polyphonic mode (1800 Hz in monophonic). We measured a 5000 Hz tone returning zero notes in both modes. The shimmer you hear is above the ceiling, so it is simply not in the output.
Will raising sensitivity recover the low end of a kick?
No. Sensitivity changes the energy threshold for counting a frame as a note; it cannot move the 55 Hz floor set by the analysis constants. A kick tuned below 55 Hz is invisible to the search regardless of sensitivity, as the sweep test in section 2 showed.
Why does my drum roll come back uneven?
The converter measures pitch on an 11.61 ms grid and groups same-pitch frames into notes; it does not detect onsets. We fed eight perfectly even 16th-note hits and got eleven notes at eight irregular onsets. The transient edges that define a groove are shorter than the frame and the default 60 ms shortest-note floor, so they are smeared rather than placed.
Is there any part of a kit this converter handles well?
Only the kick’s uppermost instant, which can read as a single low note near 65 Hz — useful, at most, as a rough bass-line guide under a kit-heavy mix, not as drums. For real percussion you need an onset-based tool, which is a different kind of engine. Song to MIDI covers what a full mix comes back as when pitched material is also present.
Drop a recording in and watch the piano roll — the Audio to MIDI Converter runs entirely in your browser, so every number above is yours to reproduce on your own kit in a few seconds. If the notes you get need tidying afterwards, How to clean up a converted MIDI before you use it walks the passes that turn a raw export into a usable part.