Audio to MIDI (transcribe notes)
doseedo_transcribeAUDIO TO MIDI transcription: a melody, a bass line or a part as notes (pitch, onset/offset seconds, velocity, confidence as JSON — not a MIDI file; for .mid files per stem use doseedo_separate_stems with transcription or doseedo_audio_to_session). Works from an uploaded audio_key or an audio_url — any public https URL, including a result URL from another doseedo job (a generate take, a stem) as it was returned. Async: returns a job_id — poll with doseedo_wait_task (usually ~15–60s). For the KEY / tempo / chords of a whole mix use doseedo_analyze_song instead. Cancel: the plane has no stop for a running transcription — it runs to completion (credits spent), the job ends as canceled and its output is discarded. Only a job still queued at the plane is refunded by the plane's own failure refund.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| want | No | What to return: "notes" (default), "f0" (the continuous pitch contour — frame-rate Hz values, for glides/vibrato/intonation), or both. | |
| chairs | No | polyphony="section": register codes per chair, as an alternative to roster. | |
| family | No | Optional instrument family (e.g. "brass", "reeds", "strings") when the exact instrument is unknown. | |
| roster | No | polyphony="section": the chairs on the stem, e.g. "trumpet,trumpet,trombone,tenor_sax". Omit for the family default. | |
| backend | No | Advanced: force a transcription backend. Omit — the server routes by instrument. | |
| strikes | No | With tempo_bpm: also return the harmony_strikes attack grid. | |
| register | No | Optional register hint for the instrument (e.g. "soprano", "tenor", "bass"). | |
| audio_key | No | R2 ingest key of an uploaded audio file (from doseedo_get_upload_url / POST /api/upload/r2/ingest-url; starts with "ingest/"). Provide this or audio_url. | |
| audio_url | No | https URL of the audio to transcribe (alternative to audio_key): any public URL, or a doseedo result URL exactly as a job returned it — no key needed. | |
| polyphony | No | Optional: "solo" (monophonic line), "poly", or "section" (a horn section — see roster/chairs). | |
| tempo_bpm | No | Optional known tempo — enables beat-aligned note times. | |
| instrument | No | Optional instrument hint, e.g. "piano", "sax", "vocals", "bass". | |
| beats_per_bar | No | With tempo_bpm: beats per bar for the beat-domain times (default 4). | |
| idempotency_key | No | Optional. Any unique string for THIS request (e.g. a UUID). Re-sending the same call with the same key after a timeout returns the same job instead of starting a second one. |