mp3tomidiflowOpen converter

DRUM TO MIDI · TESTED ON 3 DRUM KITS · UPDATED 2026-10-20

Drum to MIDI Converter: Turn a Drum Recording Into MIDI

To convert drums to MIDI, a drum transcriber finds the moment of every hit, decides which drum it was, and writes General MIDI drum notes on channel 10: 36 for kick, 38 for snare, 42 for closed hi-hat. The converter below does this in your browser, with no upload. Use a drum loop or stem, not a full song.

Convert a drum recording to MIDI in your browser

Choose a drum loop or drum stem (MP3, WAV, OGG, FLAC or M4A, up to 10 minutes). The tool finds each hit and writes kick (note 36), snare (38) and closed hi-hat (42) on MIDI channel 10, the General MIDI drum channel. Everything runs on this device; the audio is never uploaded.



Raise it if quiet hits (ghost notes) are missing; lower it if you get extra hits.


Only sets the grid your DAW shows; hit times stay where they were played.

How it works: onset detection in three frequency bands plus a spectral-shape check for each hit (our own code, MIT licence: drum-to-midi.js). Toms, cymbals other than the hi-hat, and drums mixed under bass or guitar are not separated; see the test results below.

Published 2026-10-20. Every accuracy number on this page comes from our own test on 2026-10-20: drum clips we programmed ourselves, so the exact hits are known, rendered with three different drum kits and run through the converter above. The clips, results and scripts are linked so you can check them.

How does drum to MIDI conversion work?

Drum to MIDI conversion works in two steps: find the hits, then name the drum. A hit is a sudden rise in energy, so the converter watches three frequency bands, where a kick (30–120 Hz), a snare (150–1,000 Hz) and a hi-hat (7–16 kHz) put most of their attack. When a band jumps, it checks the shape of the sound just after the jump: a kick has much more low end than midrange, a snare has a strong midrange and less top, a hi-hat is mostly high frequencies. Each confirmed hit becomes a short note on MIDI channel 10, with a velocity that follows how hard it was hit.

That is different from normal audio to MIDI conversion, which looks for steady pitches and harmonics. A drum hit has no steady pitch, so a melody converter mostly ignores it (see the test below).

How accurate is drum to MIDI? Our test on 3 drum kits

On our 7 drum clips the converter found 79 of 83 kicks, 58 of 58 snares and 184 of 184 hi-hats with the FluidR3 kit, and saving the same audio as a 128 kbps MP3 changed almost nothing (81 kicks, 58 snares, 184 hats). A hit counts as found when a note of the right drum starts within 50 ms of it; each found note is used once.

How we tested: we wrote 7 drum patterns as MIDI files (338 hits, 90–140 BPM, all on channel 10), rendered each one with FluidSynth 2.4.4 through three General MIDI drum kits, and ran the converter's detector (the same file the page loads) on the 44.1 kHz audio. Because the patterns are ours, we know the exact time of every hit and can count what was found, missed and added.

All 7 clips together. Found = right drum within 50 ms. Extra = notes with no matching hit (for example toms written as snare). 325 kick, snare and hi-hat hits; the 12 tom hits and 1 crash are not targets.
Drum kit the clips were rendered withKick (83)Snare (58)Hi-hat (184)
FluidR3_GM (148 MB SoundFont)79/83 found, 0 extra58/58 found, 12 extra184/184 found, 6 extra
TimGM6mb (6 MB, the sounds our in-browser player uses)83/83 found, 1 extra54/58 found, 12 extra180/184 found, 28 extra
MuseScore General Lite67/83 found, 0 extra55/58 found, 12 extra184/184 found, 3 extra
FluidR3_GM, saved as 128 kbps MP381/83 found, 0 extra58/58 found, 12 extra184/184 found, 8 extra

Per clip, so you can see where it fails. Each cell shows FluidR3 · TimGM6mb · MuseScore General Lite as found/true, with extra notes in brackets:

Results per clip and kit (2026-10-20). Click a clip name for its MIDI file.
ClipBPMWhat is in itKickSnareHi-hat
1-rock-beat1008th-note hats, kick on 1 and 3, snare on 2 and 48/8 · 8/8 · 8/88/8 · 8/8 · 8/832/32 · 32/32 · 32/32
2-kick-snare-only90syncopated kick and snare, no cymbals12/12 · 12/12 · 12/128/8 · 8/8 · 8/8— · +8 extra · —
3-sixteenth-hats12016th-note hats with accents12/12 · 12/12 · 12/128/8 · 8/8 · 8/864/64 · 64/64 · 64/64
4-hats-only100hats only, open hat on the "and" of 4— · — · —— · — · —32/32 (+1) · 28/32 · 32/32
5-tom-fill1103 bars of beat, then a 16th-note fill on 3 toms and snare, crash7/7 · 7/7 · 7/710/10 (+12) · 10/10 (+12) · 10/10 (+12)24/24 (+4) · 24/24 (+4) · 24/24 (+3)
6-ghost-notes95backbeat at velocity 110 plus ghost snares at velocity 3512/12 · 12/12 (+1) · 12/1220/20 · 20/20 · 20/2032/32 · 32/32 (+12) · 32/32
7-double-kick14016th-note double kick28/32 · 32/32 · 16/324/4 · 0/4 · 1/4+1 extra · +4 extra · —

Can you transcribe drums from a full song?

Only partly: with bass guitar and piano playing over the same beat, the converter still found every snare and hi-hat, but the bass covered kicks. We added a bass line and piano chords to the rock beat (clip 8-beat-with-bass-and-piano, listen) and ran it again:

Rock beat with bass and piano, 8 kicks, 8 snares, 32 hats. Each cell: kick · snare · hi-hat as found/true (+extra).
Drum kitKick · snare · hi-hat
FluidR3_GM (148 MB SoundFont)4/8 · 8/8 (+2) · 32/32
TimGM6mb (6 MB, the sounds our in-browser player uses)8/8 · 8/8 · 32/32
MuseScore General Lite5/8 · 8/8 · 32/32

For a song, split out the drum stem first with a stem separation tool, then convert the stem; the kick then no longer competes with the bass.

Why does a normal audio to MIDI converter miss drums?

A normal audio to MIDI converter looks for pitched notes, so drums mostly disappear. We ran the same 7 FluidR3 clips through this site's regular converter (the Basic Pitch model that runs on the MP3 to MIDI converter): it returned 26 notes for 338 hits, 3 clips gave no notes at all, only 11 notes started within 50 ms of a real hit, and every note was a pitched note (MIDI 30, 33, 36, 56, 71), mostly from the ringing tail of toms, crash and kick.

Same audio, two converters (2026-10-20). Regular converter = Basic Pitch at 22,050 Hz in headless Chrome; drum converter = this page's tool.
ClipReal hitsRegular converter notesPitches it wroteDrum converter notes
1-rock-beat4825648
2-kick-snare-only200—20
3-sixteenth-hats840—84
4-hats-only3287133
5-tom-fill5473657
6-ghost-notes640—64
7-double-kick36930, 33, 3633

So for drums, use the drum converter on this page; for a melody, bass line or chords, use the regular converter.

Does drum to MIDI keep ghost notes and accents?

Yes, as velocity: every ghost snare in our test was found and written softer than the accented backbeat with all three kits. The clip plays accents at velocity 110 and ghost notes at 35; the converter does not copy the original velocity number, it measures how strong each hit is, so the scale is relative.

Clip 6-ghost-notes: snare velocities written by the converter.
Drum kitGhost snares (played at 35)Accented snares (played at 110)
FluidR3_GM (148 MB SoundFont)12 of 12: velocity 50–608 of 8: velocity 102–127
TimGM6mb (6 MB, the sounds our in-browser player uses)12 of 12: velocity 61–698 of 8: velocity 84–127
MuseScore General Lite12 of 12: velocity 52–638 of 8: velocity 104–127

What MIDI notes do drums use?

In General MIDI, all drums are on MIDI channel 10, and the note number chooses the drum sound rather than a pitch. These are the numbers you will see most often in drum MIDI files, from the General MIDI Level 1 percussion map:

General MIDI Level 1 percussion key map (excerpt). Bold = written by this converter.
NoteDrumNoteDrum
35Acoustic Bass Drum45Low Tom
36Bass Drum 1 (kick)46Open Hi-Hat
37Side Stick47Low-Mid Tom
38Acoustic Snare48Hi-Mid Tom
39Hand Clap49Crash Cymbal 1
40Electric Snare50High Tom
41Low Floor Tom51Ride Cymbal 1
42Closed Hi-Hat53Ride Bell
43High Floor Tom55Splash Cymbal
44Pedal Hi-Hat57Crash Cymbal 2

Some drum plugins use their own map. If the kick plays as the wrong sound, change the plugin to a General MIDI map or move the notes.

Free drum MIDI files to download

The 8 drum MIDI files from our test are free to download and use in your own music; we programmed them for this page. Each one is a short General MIDI groove on channel 10, with an MP3 of the FluidR3 render (128 kbps) so you can hear it first. The test is also repeatable: drop an MP3 into the converter above and compare its MIDI with ours.

Drum MIDI grooves made for the 2026-10-20 test. All start 0.5 s into the file.
FileBPMHitsGrooveDownload
1-rock-beat100488th-note hats, kick on 1 and 3, snare on 2 and 4MIDI · MP3
2-kick-snare-only9020syncopated kick and snare, no cymbalsMIDI · MP3
3-sixteenth-hats1208416th-note hats with accentsMIDI · MP3
4-hats-only10032hats only, open hat on the "and" of 4MIDI · MP3
5-tom-fill110543 bars of beat, then a 16th-note fill on 3 toms and snare, crashMIDI · MP3
6-ghost-notes9564backbeat at velocity 110 plus ghost snares at velocity 35MIDI · MP3
7-double-kick1403616th-note double kickMIDI · MP3
8-beat-with-bass-and-piano10048 drum hits + bass and pianoclip 1 with a bass line (program 33) and piano chordsMIDI · MP3

Test files: ground-truth.json (every hit), results.json (all scores), gen.py and gen_mix.py (make the clips), score.js (scoring, Node.js), drum-to-midi.js (the detector).

How do I get a better drum transcription?

When should you not use this converter?

Frequently asked questions

Can I convert drums to MIDI for free?

Yes. The converter at the top of this page turns a drum recording (MP3, WAV and other formats your browser can decode) into a MIDI file with kick, snare and hi-hat notes on the General MIDI drum channel, free and without uploading the file. It found 99% of the kick, snare and hi-hat hits in our FluidR3 test clips.

Why does my audio to MIDI converter not detect drums?

Most audio to MIDI converters, ours included, are built to find pitched notes, not drum hits. On our 7 drum clips (338 hits) the site's normal converter returned 26 notes, 3 clips gave none at all, and the notes came out as pitched notes (MIDI 30, 33, 36, 56, 71) rather than kick, snare and hi-hat.

What MIDI notes are kick, snare and hi-hat?

In General MIDI, drums play on channel 10 and the note number picks the drum: 36 is Bass Drum 1 (kick), 38 Acoustic Snare and 42 Closed Hi-Hat; 46 is Open Hi-Hat and 49 Crash Cymbal 1. The converter writes 36, 38 and 42, so the file plays as drums in any GM player or drum sampler.

Can it transcribe drums from a full song?

Only partly. In our mixed clip with bass and piano, the snare (8 of 8) and hi-hat (32 of 32) were found with every kit, but the bass covered half of the kicks with FluidR3 (4 of 8). Separate the drum stem first with a stem-splitting tool, then convert the stem.

Does it detect toms and cymbals?

No. Toms are written as snare (in our fill test 12 tom hits became extra snare notes) and crashes and rides are not separated from the hi-hat. Move those notes to the right drum in your DAW after converting.

Does drum to MIDI keep ghost notes and accents?

Yes, as velocity. In our ghost-note clip every ghost snare was found and written with a lower velocity than the accented backbeat, so the MIDI keeps the dynamics. Raise the sensitivity slider if very quiet hits are missing.

Is my drum recording uploaded?

No. The file is decoded and analysed by JavaScript in your browser tab, and the MIDI file is created on your device; nothing is sent to a server. The detector source is linked under the converter.

Sources and tools

Related: audio to MIDI converter · WAV to MIDI · MIDI to MP3 and WAV · MIDI converter