A custom AI instrument, trained from a recording
Published October 2026
The instrument catalog covers the orchestra, the band and a shelf of World instruments, and it will never have everything: your grandfather's banjo, a prepared piano, a folk instrument nobody sampled, the player in your band. doseedo_train_instrument takes 30 seconds to 3 minutes of a recording of one instrument and trains a private model of it in about a minute or two. From then on doseedo_render_midi plays any notes you write in that sound, at your tempo, with takes to choose from. Two lighter options sit beside it: a recording's tone applied to one render (timbre transfer), and a recorded line played back by another instrument.
Three ways to bring your own sound
| You have | Tool | What comes back |
|---|---|---|
| A recording of the instrument, and you will write many parts for it | doseedo_train_instrument, then render_midi with lora_id | A private, reusable instrument. Any notes, any time, in that sound. |
| A short recording whose tone one render should take on | doseedo_render_midi with timbre_audio_url | Your notes in that tone, for this render only. No training. |
| A recorded line (humming, a riff, a solo) to hear on another instrument | doseedo_cover_stem | The same line, re-played by the instrument you name. No MIDI needed. |
All three are on the same MCP server, with the same key, as every other tool. Connect it once:
claude mcp add --transport http --scope user doseedo https://api.doseedo.com/mcp
Train it: doseedo_train_instrument
Upload the recording with doseedo_get_upload_url (a presigned PUT that returns an audio_key), or pass any https URL, including a separated stem from doseedo_separate_stems. Then name the closest catalog instrument: it picks the instrument model the new one is trained on. A shamisen trains as acoustic_guitar, a whistle as flute, a hand drum as percussion with drum_mode:true.
doseedo_train_instrument {
"audio_key": "ingest/…/harp_the_swan.wav",
"instrument": "acoustic_guitar",
"name": "Concert harp"
}
- The recording. One instrument, solo, as clean and dry as you have it. Up to 8 files of the same instrument (
audio_keys/audio_urls). The first 3 minutes are used and at least 8 seconds are required. A model learns the notes it hears, so record the register you plan to write in. - The notes are transcribed for you. To skip that, pass
notesas one list per file, in seconds. That helps on material a transcriber struggles with. - Training. 300 steps for up to 60 seconds of audio and 400 above, adjustable from 50 to 800 with
steps. It runs as an async job:doseedo_wait_taskuntil it is done.
This is a real result from October 22, 2026, trained on 21.9 seconds of a solo harp recording, trimmed to the fields an agent uses:
{
"status": "completed",
"kind": "train_instrument",
"lora_id": "37bf54234a326620",
"instrument": "acoustic_guitar",
"seconds_of_audio": 21.91,
"windows": [
{ "source": "harp_the_swan.wav", "start_s": 0, "len_s": 10.96, "notes": 73 },
{ "source": "harp_the_swan.wav", "start_s": 10.955, "len_s": 10.96, "notes": 53 }
],
"steps": 300,
"loss": { "first": 0.5976, "last": 0.4273 },
"timings": { "total_s": 62.04, "train_s": 57.27 },
"use": {
"tool": "doseedo_render_midi",
"args": { "lora_id": "37bf54234a326620", "instrument": "acoustic_guitar", "lora_strength": 1 }
}
}
Sixty-two seconds from submit to a usable instrument. The use block is the render call, ready to copy.
Play it: render_midi with lora_id
doseedo_render_midi {
"instrument": "acoustic_guitar",
"lora_id": "37bf54234a326620",
"bpm": 66,
"takes": 3,
"notes": [ { "pitch": 67, "start_beats": 0, "duration_beats": 1, "velocity": 70 }, … ]
}
- Pass the instrument it trained as. The adapter belongs to that instrument model.
result.lora.appliedon the render confirms it played. - Too strong? A small training set can overshoot.
lora_strengthgoes from 0 to 2 (default 1), and about 0.6 is the usual fix. - It is yours. Only the account that trained it can render with it. Find it again later with
doseedo_list_jobs {kind:"train_instrument"}. - Everything else still applies: takes, the per-take check against your notes,
tempo_map,revise_take_url. Indoseedo_render_scorea part takes alora_idtoo, but only one custom or World instrument per call. The server applies an adapter to the whole batch, so two different ones in one call would play neither.
No training: a recording's tone, or a line re-played
Timbre transfer. timbre_audio_url on doseedo_render_midi is a short recording (up to 24 MB, the first 30 seconds are used) whose sound the render takes on. The notes stay yours and the tone comes from the recording. Use it for a one-off: a reference violin sound, a guitar tone you like, a synth you can't install.
A recorded line, another instrument. doseedo_cover_stem takes a recording of a line (a stem, a solo, humming, a whistled tune, a guitar riff) and plays it back on the instrument you name, straight from the audio. It is the fastest way from "I can sing it" to "here it is on a cello".
What it costs
Training is a flat 20 credits per run, refunded if it fails. Rendering with the trained instrument afterwards is priced like any render: 10 credits per 30-second window, with up to four takes in one call at no extra cost. doseedo_quote prices both before anything runs. It needs no sign-in, and for a training run its whole answer is "flat 20 credits per training run (refunded if it fails)".
Honest limits
- One instrument per model. Training expects one instrument playing alone. For an instrument inside a mix, separate it first (stem separation) and train on the stem.
- It inherits the base model's habits. The adapter is trained on the closest catalog instrument, so choose the one that plays the most like it: plucked with plucked, bowed with bowed, blown with blown.
- Takes are performances. As with any render, check the takes against your notes and listen before you ship.
Train your first instrument
Connect the server, upload a minute of one instrument playing, train it, and ask the agent to write eight bars for it.
The Doseedo MCP server →FAQ
Can I train an AI model on my own instrument?
Yes. doseedo_train_instrument trains a private model (a LoRA adapter) on 30 seconds to 3 minutes of a recording of one instrument, in about one to two minutes. doseedo_render_midi then plays any notes you write in that sound by passing its lora_id.
How much audio do I need?
30 seconds to 3 minutes of one instrument, clean and solo, works best; at least 8 seconds is required and the first 3 minutes are used. Several files of the same instrument (up to 8) help. A real run on 21.9 seconds of solo harp trained in 62 seconds.
What does training cost?
A flat 20 credits per training run, refunded if it fails. Rendering with the trained instrument afterwards costs the same as any render: 10 credits per 30-second window, several takes included.
Can anyone else use my custom instrument?
No. A trained instrument is owner-only: only the account that trained it can render with its lora_id.
What if I only want a sound once?
Use timbre transfer instead: pass a short recording as timbre_audio_url on doseedo_render_midi and that one render takes on its tone, with no training. To hear a recorded line on another instrument, use doseedo_cover_stem.
Which instrument should I train it as?
The catalog instrument that plays most like it, from doseedo_instruments: a plucked instrument as acoustic_guitar, a whistle or flute-like instrument as flute, a hand drum as percussion with drum_mode true. Pass the same instrument when you render.
The Doseedo MCP server · one URL, every client
- Logic Proedits written into your project
- Ableton Livebuild, read, convert .als
- FL Studioread, convert .flp
- Pro Toolsmove .ptx between DAWs
- REAPERread, edit, convert .rpp
- Any AI agentwhat works today
- Claude & Claude Codephone, desktop, terminal
- ChatGPTas a custom MCP server
- Cursormcp.json, one entry
- Gemini CLIgemini mcp add
- OpenAI Codexcodex mcp add
- VS Code Copilotmcp.json, type http
- All 42 toolsthe reference
- Convert projectsten DAW formats, 75 directions
- Separate stemsvocals, drums, bass, more
- Audio to MIDItranscription, chords, key
- Generate musicsongs, parts, covers
- Render MIDIyour notes, 40+ AI instruments
- Custom instrumentstrained from a recording
- Sound effectshits, loops, textures
- Score a filmspotting to stems
- Bounce offlinethrough real plugins
- Swap a drum packaudio stays local