Conversion audio en MIDI depuis un agent IA, via MCP
Publié en octobre 2026
Transcription de Doseedo et son analyse musicale sont des outils disponibles sur le serveur MCP. Connectez-le et un agent transcrira un enregistrement en notes — hauteur, attaque, fin, vélocité, assurance — avec des modèles par instrument derrière une interface unique, et répond aux questions qui les entourent : quoi clé Est-ce que c'est dans quoi ? tempo et le mètre, où sont les temps forts, quels sont les accordsEt c'est la partie que je viens d'écrire qui sonne harmonieusement. Les outils d'analyse sont synchrones et gratuits ; ils constituent la grille de référence sur laquelle un agent écrit avant de rendre une partie ou de placer des notes dans une session.
Les outils
doseedo_transcribe— Entrée audio (téléchargement ou URL HTTPS, y compris les pistes séparées), sortie des notes au format JSON. Les indications permettent de l'affiner :instrument("piano","sax","vocals","bass"),register,familylorsque l'instrument est inconnu,polyphony—solo,polyousectionavec unrosterdes chaises pour une section de cuivres ("trumpet,trumpet,trombone,tenor_sax"). Avectempo_bpmLes durées des notes sont également renvoyées en temps.want:"f0"renvoie le contour de hauteur continu au lieu des notes, pour les glissandos, le vibrato et l'intonation.doseedo_analyze_song— tonalité, BPM et carte de tempo par temps, mesure, temps forts, sections et accords d'un enregistrement, dans un seul appel synchrone.doseedo_detect_chords— un diagramme d'accords avec les durées en secondes et en temps.doseedo_beat_grid— les temps forts et les temps rythmiques, les temps par mesure, la carte rythmique.doseedo_analyze_midi— l’harmonie des notes que vous avez écrites, avant de les restituer ou de les placer.
La transcription est une tâche asynchrone — la configuration du serveur indique 15 à 60 secondes, jusqu'à deux crédits et souvent aucun — en attente avec doseedo_wait_taskLes quatre outils d'analyse répondent simultanément et sont gratuits.
Un vrai rendement, sur une vraie tige
Pour concrétiser cela plutôt que de le décrire, voici doseedo_analyze_song exécution sur une piste de piano solo extraite de notre jam session publique, enregistrée le 15 octobre 2026, réduite à la forme (la réponse complète comportait 421 accords et 25 points de tempo) :
{
"status": "done",
"kind": "analyze_song",
"bpm": 91,
"key": { "name": "C# major", "root": 1, "scale": "major", "confidence": 0.769 },
"meter": "4/4",
"beats_per_bar": 4,
"chords": [
{ "chord": "F#maj7", "start": 21.03, "end": 24.09, "start_beat": 0, "end_beat": 5, "confidence": 0.73 },
{ "chord": "F#m7", "start": 24.09, "end": 24.79, "start_beat": 5, "end_beat": 6, "confidence": 0.83 },
{ "chord": "Bm", "start": 24.79, "end": 25.55, "start_beat": 6, "end_beat": 7, "confidence": 0.70 },
…
],
"tempo_map": [ { "bpm": 90.35, "time": 21.03 }, { "bpm": 85.91, "time": 53.03 }, { "bpm": 90.65, "time": 64.15 }, … ],
"downbeats": [ 22.19, 24.79, 27.52, 30.20, … ],
"sections": [ { "name": "Section A", "position_beats": 0 }, { "name": "Section A", "position_beats": 33.65 }, … ],
"dynamics": { "fade_in_sec": 21.03, "fade_out_start": 219.82 },
"truncated": [ { "path": "chords", "kept": 105, "total": 421 } ],
"next": "The full result is kept: GET https://api.doseedo.com/api/jobs/ avec votre clé."}
Trois choses à lire dessus. Les chiffres de confiance sont réels — 0,77 sur la tonalité, de 0,6 à 0,87 par accord — et un agent devrait considérer un accord à 0,6 comme une ébauche. dérives de la carte du tempo (86 à 102 bpm sur toute la prise) car un piano solo jouant en rubato n'a pas de grille fixe, c'est précisément pourquoi une partie écrite sur cet enregistrement doit utiliser la grille, et non la grille simple. bpmEt le morceau commence par une longue introduction silencieuse : fade_in_sec: 21 C’est pourquoi le premier accord commence à 21 secondes.
Fonctionne sur la même tige, doseedo_detect_chords — le tableau rythmé — a entendu l'ouverture comme Ebm7 À 166,7 bpm (double tempo, la même harmonie notée à partir de sa relative mineure) avec une grille différente. Cette différence est une information légitime, et non un bug : un enregistrement dense ou rubato représente un défi pour les deux outils, et la note du guide d'utilisation précise de détecter les accords sur une piste harmonique séparée d'un mixage, ou sur une prise propre, pour obtenir un diagramme fiable. Le premier appel au service d'analyse de cette capture a également expiré après 45 secondes d'inactivité du service ; l'erreur a indiqué à l'agent d'attendre 30 secondes et de réessayer, et la nouvelle tentative a abouti en quelques secondes.
Que demander
> What key and tempo is ./ref.wav in, and where do the
sections change?
> Transcribe the sax solo in ./solo.wav — tenor, monophonic —
and show me the notes in beats at the song's tempo.
> Separate ./mix.wav, transcribe the bass stem, and put the
notes on the Bass track of my "Bridge Demo" session.
> Here's the horn section stem: two trumpets, a trombone and
a tenor. Give me each chair's part.
> Check the harmony of this progression I wrote before you
render it.
Le troisième point concerne l'intérêt d'avoir cette fonctionnalité sur le MCP : les notes ne s'arrêtent pas à un fichier. L'agent les enregistre dans une piste de session. set_midi_notes (notes exactes, jouées par l'instrument de la station de travail audio numérique), ou les restitue sous forme audio avec doseedo_render_midi sur un instrument modélisé, ou les transmet à une session de création. Le MIDI reste inchangé ; le serveur ne modifie ni ne corrige jamais les notes à l’insu de l’agent.
Notes, pas un fichier .mid — et pourquoi
doseedo_transcribe Renvoie les notes au JSON structuré plutôt qu'en fichier MIDI standard, car c'est sur ce format qu'un agent intervient : il peut filtrer par niveau de confiance et quantifier selon la grille. doseedo_beat_grid renvoyé, diviser un accord en voix ou vérifier le résultat par rapport à doseedo_analyze_midi avant toute validation. Lorsqu'un fichier est l'objectif, les outils du projet en créent un : doseedo_separate_stems avec include_midi et doseedo_audio_to_session insérer MIDI par piste dans un projet Logic ou Ableton natif, et le outil web téléchargements a .mid directement. Audio converti en partition est la notation finale du même pipeline.
L'analyse est gratuite et synchrone ; la transcription est facturée légèrement (la recette indique jusqu'à deux crédits, aucun lorsqu'un modèle CPU la prend en charge) ; doseedo_quote prix n'importe lequel d'entre eux en premier. Les appels sont révocables par client à partir de Paramètres → Clés API.
Transcrivez-en un de votre agent
Connectez le serveur, indiquez-lui l'emplacement d'un enregistrement et demandez-lui dans quelle tonalité il se trouve — celle-ci est gratuite.
Le serveur Doseedo MCP →FAQ
Existe-t-il un serveur MCP pour la transcription audio-MIDI ?
Oui. Le serveur Doseedo MCP propose doseedo (transcription audio en notes avec indications d'instrument, de registre et de polyphonie, y compris les sections de cuivres par pupitre) ainsi que doseedo, doseedo, doseedo et doseedo. Il est compatible avec Claude, ChatGPT, Cursor, Gemini CLI, Codex et tout client MCP.
Que renvoie la transcription ?
Les notes sont au format JSON : hauteur, attaque et fin en secondes (et en temps si le tempo est spécifié), vélocité et niveau de confiance. Avec l’option `want:"f0"`, vous pouvez obtenir le contour de hauteur continu. Pour obtenir un .mid, utilisez l’outil web ou laissez la séparation ou la génération de sessions écrire le MIDI dans un projet.
Peut-il détecter la tonalité, le tempo et les accords d'une chanson ?
Oui — doseedo renvoie la tonalité, le BPM avec une carte de tempo par temps, la mesure, les temps forts, les sections et les accords en un seul appel synchrone ; detect_chords et beat_grid renvoient respectivement le diagramme et la grille. Ces commandes sont gratuites.
Un agent peut-il intégrer les notes transcrites dans mon séquenceur ?
Oui. Il les enregistre sur une piste de session avec `set_midi_notes`, les convertit en audio avec `render_midi` sur un instrument modélisé, ou laisse `audio_to_session` construire l'ensemble du projet avec MIDI par tige. Avec Dø Desktop en cours d'exécution, les notes écrites dans une session Logic apparaissent dans le projet ouvert.
Gère-t-il la polyphonie et les sections ?
La polyphonie (« poly ») transcrit les accords ; la « section » transcrit une section de cuivres par pupitre, à partir d’une liste telle que « trompette,trompette,trombone,saxophone_ténor » ou de codes de registre. « Solo » désigne une seule ligne monophonique.
Le serveur Doseedo MCP · une URL, chaque client
- Logic Promodifications en direct dans le projet ouvert
- Ableton Liveconstruire, lire, convertir .als
- FL Studiolire, convertir .flp
- Pro ToolsDéplacer les fichiers .ptx entre stations de travail audio numériques (DAW)
- REAPERlire, modifier, convertir .rpp
- Tout agent d'IAce qui fonctionne aujourd'hui
- Code Claude et Claudetéléphone, ordinateur de bureau, terminal
- ChatGPTen tant que serveur MCP personnalisé
- Curseurmcp.json, une entrée
- Gemini CLIajout de Gemini MCP
- Codex OpenAIajout du codex mcp
- VS Code Copilotmcp.json, type http
- Les 33 outilsla référence
- Convertir les projetsdix formats de stations de travail audio numériques, 75 directions
- stems séparéeschant, batterie, basse, et plus encore
- Audio vers MIDItranscription, accords, tonalité
- Générer de la musiquechansons, parties, reprises
- Rebondir hors lignevia de vrais plugins
- Changer un pack de batterieL'audio reste local