mcp_opendaw_transcribe_drums
Convert a drum recording or any percussive audio into MIDI notes on your DAW track. Detects kick, snare, and hi-hat onsets to create playable MIDI patterns.
Instructions
Transcribe drum onsets from an audio file into MIDI notes on a DAW track.
Audio-to-MIDI drum transcription — converts a drum recording (or any audio with percussive content) into MIDI notes. Pure Python, no external deps.
Pipeline:
Parse WAV file
Split into 3 frequency bands (kick <250Hz, snare 250-2500Hz, hat >2500Hz)
Per-band onset detection (energy spike above local average)
Classify each onset: kick (pitch 36), snare (38), hat (42)
Estimate velocity from onset amplitude
Convert onset times to beat positions (if bpm provided)
Create MIDI notes on the specified track via create_notes_batch
Use cases:
Extract a drum groove from a Suno track → reuse as MIDI pattern
Transcribe a real drum recording → edit/quantize in DAW
Replace original drums with a different instrument
filename: WAV file name (in exports dir) or absolute path. bpm: Tempo for beat conversion (0 = auto-detect via detect_bpm first). sensitivity: Onset detection threshold (1.0=more sensitive, 2.0=less, default 1.5). unit_index: AU index with note tracks. track_index: Track to place transcribed notes.
Returns: notes created, onset count, band counts (kick/snare/hat), bpm, duration.
Example:
Transcribe a drum loop from a downloaded Suno track
result = transcribe_drums("suno_track.wav", bpm=120)
Auto-detect BPM first
result = transcribe_drums("drum_loop.wav") # bpm=0 → auto-detect
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bpm | No | ||
| filename | Yes | ||
| unit_index | No | ||
| sensitivity | No | ||
| track_index | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |