BlogRecherche

Import MIDI désordonné dans MuseScore : causes et corrections

Un fichier MIDI enregistre comment la musique a été jouée et ne dit rien de la façon de l’écrire. Ce que cela a fait à 12 transcriptions de guitare, et ce qu’il faut régler avant d’importer.

Écrit par
Publié
Mis à jour
Longueur
12 min de lecture

La réponse courte

Un fichier MIDI enregistre une interprétation : quelle touche a été enfoncée, quand, avec quelle force et pendant combien de temps. Ses notes n’ont ni dièses ni bémols, ni voix, ni silences écrits, ni ligatures, et le fichier n’a souvent pas d’armure : MuseScore doit donc les deviner, et ses suppositions sont les moins bonnes quand les notes sont hors de la grille des temps. Sur 12 transcriptions de guitare, notre premier convertisseur n’a écrit aucune armure et a masqué tous les silences ; le module d’import de MuseScore Studio 4.7.5, avec les mêmes notes sur une grille de doubles croches à tempo constant et la tonalité écrite dans chaque piste, a trouvé la bonne tonalité dans 10 cas sur 12 et a montré tous les silences. MuseScore Studio 4 n’a pas de panneau d’import MIDI : ces corrections vont donc dans le fichier MIDI ou dans un fichier d’options en ligne de commande.

Que ne contient pas un fichier MIDI ?

La plupart de ce dont un lecteur a besoin. Une note MIDI est un numéro de touche de 0 à 127 plus une vélocité, envoyé une fois quand la note commence et une autre quand elle s’arrête (MIDI Association). La note 63 est à la fois ré dièse et mi bémol ; lequel écrire dépend de la tonalité, et la note ne le dit pas. Un fichier MIDI standard peut ajouter le tempo, le chiffrage de la mesure et l’armure sous forme de méta-événements, mais il n’a pas d’emplacement standard pour les voix, les silences, les ligatures ou les n-olets. Un silence n’est qu’un vide, et une durée est un nombre de ticks sans valeur écrite attachée.

Les outils d’audio vers MIDI ajoutent un second problème : leur rythme vient d’un enregistrement, si bien que les notes tombent rarement exactement sur un temps. Basic Pitch de Spotify, que ScoreStarling utilise, écrit chaque note dans une seule partie Electric Piano 1 au tempo que vous lui donnez, sans armure (note_creation.py). En faire une notation, c’est choisir pour chaque note une orthographe, une durée écrite, une voix et une portée. Tous les convertisseurs font ces choix, certains mieux que d’autres.

Ce qu’un convertisseur simple a fait à 12 transcriptions de guitare

Notre première étape de notation était un convertisseur que nous avions écrit avec la bibliothèque music21. Nous lui avons fourni le MIDI de Basic Pitch de 12 enregistrements du jeu de données public GuitarSet, avec le tempo de chaque enregistrement, et Verovio a gravé exactement ce que le convertisseur avait écrit. Un audit de ces 12 partitions a montré :

  • Aucun silence visible, dans aucune partition : par défaut, l’export MusicXML de music21 comble les vides avec des silences masqués (m21ToXml.py).
  • Aucune armure, dans aucune partition. Les morceaux en mi majeur n’affichaient aucun dièse, et un accompagnement en do majeur portait des bécarres superflus sur 153 de ses 431 notes écrites (421 notes MIDI, certaines scindées par des liaisons de tenue).
  • Une orthographe fondée sur le seul numéro de note. La note MIDI 63 sortait toujours en mi bémol, même là où mi majeur demande un ré dièse ; dans un morceau en sol bémol majeur, 30 des 49 notes appartenant à la tonalité étaient mal orthographiées.
  • Jusqu’à cinq voix sur une même portée. Le début et la fin de chaque note étaient calés sur la double croche la plus proche, de sorte qu’une corde encore vibrante sous la note suivante imposait une autre voix, avec points et liaisons de tenue à l’avenant.
  • La guitare écrite comme du piano : 10 des 12 partitions sur un système de piano et les 2 autres en clé de fa, aucune dans la clé de sol de la guitare, parce que Basic Pitch étiquette chaque note Electric Piano.

Nous avons relancé ce convertisseur sur les mêmes fichiers MIDI enregistrés le 7 octobre 2026 et obtenu les mêmes chiffres.

La police musicale n’était pas en cause. Verovio et sa police Leipzig ont dessiné exactement ce que disait le MusicXML, et c’est le MusicXML qui était faux.

Avant et après : le module d’import de MuseScore Studio

Nous avons d’abord regardé les solutions open source. partitura gère la tonalité, l’orthographe et les voix, mais n’a pas de quantification et n’écrit aucun silence ; les autres outils de recherche que nous avons trouvés étaient réservés au piano, sans licence, non commerciaux ou non publiés. Nous avons donc confié le travail au module d’import MIDI de MuseScore Studio 4.7.5, lancé comme programme séparé. Mêmes 12 enregistrements, mêmes notes de Basic Pitch, même tempo fourni, préparés comme décrit plus bas, sur un Mac, le 2 octobre 2026 :

12 transcriptions GuitarSet, avant et après
IndicateurConvertisseur music21Module d’import MuseScore
L’armure correspond à l’annotation0/1210/12
Notes de la gamme mal orthographiées par rapport à la tonalité322 sur 2 7030 sur 3 213
Altérations par note écrite0.530.06
Silences visibles0 sur 1 626988 sur 988
Plus grand nombre de voix sur une portée52
Chaque note MIDI écrite12/1212/12
4/4 au tempo fourni12/1212/12

Le nombre de notes écrites diffère parce que MuseScore relie les notes par des liaisons de tenue par-dessus les temps et les barres de mesure d’une autre façon. Les deux tonalités fausses étaient chacune à une quinte de l’annotation : ré bémol majeur pour un morceau en sol bémol, si majeur pour un morceau en mi. Sans notre estimation dans le fichier, la propre supposition de MuseScore ne correspondait que pour 5 enregistrements sur 12 (relancé le 7 octobre 2026) ; écrire notre estimation dans le fichier a donc porté ce nombre à 10. Le module d’import a pris de 1,2 à 4,3 secondes par enregistrement, 2,3 secondes en moyenne.

Avant : notre premier convertisseur

3
3

Après : le module d’import de MuseScore Studio

3
3
Les quatre premières mesures d’un fichier MIDI propre du Menuet en sol majeur, les mêmes notes telles que chaque convertisseur les a écrites. Avant : tout sur une seule portée en clé de sol, avec la main gauche sur des lignes supplémentaires en dessous. Après : un système de piano avec clés de sol et de fa. Ce fichier est parfaitement régulier, il ne montre donc que les portées ; les enregistrements ci-dessus diffèrent sur davantage de points.

Pourquoi MuseScore estime-t-il à nouveau le tempo, le chiffrage de la mesure et la tonalité ?

Un MIDI non quantifié ressemble pour lui à une interprétation en direct. Le module d’import examine les notes proches d’un temps, et si moins de 60 % d’entre elles commencent exactement dessus, il traite le fichier comme une interprétation humaine (importmidi_quant.cpp). Il lance alors son propre détecteur de pulsations, choisit un chiffrage de la mesure et étire les positions des notes pour les caler sur les pulsations trouvées. L’ancien manuel de MuseScore décrit ce mode comme un compromis entre précision et lisibilité et dit qu’il est activé par défaut pour les fichiers non alignés.

La tonalité obéit à sa propre règle. Si une piste autre que de batterie n’a pas d’armure, ou si le fichier compte comme une interprétation, le module d’import estime la tonalité à partir des notes (importmidi_key.cpp). Une armure dans la seule piste de tempo ne suffit pas ; chaque piste contenant des notes doit en avoir une. Avec le MIDI brut de Basic Pitch, nous avons vu le chiffrage de la mesure, le tempo et la tonalité tous estimés de nouveau, même avec l’option d’interprétation humaine réglée sur false.

Comment préparer le MIDI avant de l’importer ?

Prenez dans le fichier MIDI toutes les décisions de notation que vous pouvez, avant que MuseScore ne le voie. C’est ce que nous faisons pour chaque transcription :

  1. Utilisez un seul tempo constant. ScoreStarling utilise le BPM que vous réglez, ou celui qu’il détecte dans l’enregistrement ; dans un DAW, enregistrez sur un clic ou réglez le tempo du projet sur la prise.
  2. Calez le début et la fin de chaque note sur une grille de la plus courte valeur que vous voulez lire. Le test du 2 octobre utilisait ici des doubles croches en 4/4. Quand chaque note est sur la grille, MuseScore lit le fichier comme de la musique écrite.
  3. Mettez le tempo et le chiffrage de la mesure dans la première piste, et une armure dans chaque piste qui contient des notes. Nous estimons la tonalité à partir des notes avec l’algorithme de recherche de tonalité de Krumhansl–Schmuckler de music21 ; si vous connaissez la vraie tonalité, utilisez-la.
  4. Donnez à chaque piste son vrai instrument. MuseScore choisit les portées et les clés d’après le programme General MIDI : une guitare laissée sur Electric Piano atterrit sur un système de piano, tandis qu’un programme de guitare à cordes nylon donne une clé de sol avec un 8 en dessous.
  5. Surveillez les notes répétées. Si une même hauteur est jouée deux fois dans un seul pas de la grille, le calage fusionne les deux attaques ; nous plaçons la seconde une triple croche plus tard.

Quels réglages d’import MuseScore faut-il utiliser ?

MuseScore Studio 4 n’a pas de panneau d’import pour eux. Son manuel dit du panneau d’import MIDI qu’il n’est « pas actuellement implémenté », et le ticket GitHub pour le rétablir (#11918, ouvert en juin 2022) était toujours ouvert quand nous avons vérifié, le 3 octobre 2026. Dans l’application, la seule commande de quantification est la valeur de note la plus courte pour les fichiers MIDI importés, sous « Preferences → Import » [Préférences → Import].

Le module d’import lit toujours ses principales options dans un fichier passé en ligne de commande avec -M ; la page du manuel sur la ligne de commande en renvoie un exemple. C’est le fichier qu’a utilisé le test du 2 octobre ; ScoreStarling écrit désormais une ligne mélodique en une seule voix (VoiceCount 0) et active RecognizePickupBar quand la première mesure est une anacrouse :

<?xml version="1.0" encoding="UTF-8"?>
<MidiOptions>
  <QuantValue>2</QuantValue>
  <VoiceCount>1</VoiceCount>
  <Duplets>false</Duplets>
  <Triplets>false</Triplets>
  <Quadruplets>false</Quadruplets>
  <Quintuplets>false</Quintuplets>
  <Septuplets>false</Septuplets>
  <Nonuplets>false</Nonuplets>
  <HumanPerformance>false</HumanPerformance>
  <MeasureCount2xLess>false</MeasureCount2xLess>
  <SplitStaff>false</SplitStaff>
  <ClefChanges>false</ClefChanges>
  <SimplifyDurations>true</SimplifyDurations>
  <ShowStaccato>false</ShowStaccato>
  <DottedNotes>true</DottedNotes>
  <RecognizePickupBar>false</RecognizePickupBar>
  <Swing>0</Swing>
</MidiOptions>

Convertissez ensuite, en nommant la sortie comme un fichier MusicXML :

mscore -M midi-import.xml -o score.musicxml performance.mid

Le nom et l’emplacement du programme dépendent de votre système ; sous Windows, le manuel utilise MuseScore4.exe. Ce que font les principales options :

Nos options d’import MIDI
OptionValeurEffet
QuantValue2Valeur écrite la plus courte : doubles croches (1 pour les croches, 3 pour les triples croches)
VoiceCount1Deux voix au plus par portée ; le nombre de voix est la valeur plus un
Triolets et autres n-oletsfalsePas de recherche de n-olets, car notre grille n’en a pas
HumanPerformancefalseNe pas traiter le fichier comme une interprétation en direct ; cela ne tient que si les notes sont sur la grille
SplitStafffalse, true pour le pianoRépartit une partie de piano entre les deux mains ; pour les autres instruments, MuseScore crée des parties séparées à la place
SimplifyDurationstrueMoins de silences et des valeurs de notes plus simples
ClefChangesfalsePas de petits changements de clé dans une portée
RecognizePickupBarfalseLa première mesure est une mesure complète
Swing0Pas de détection du swing

Si votre musique a des triolets, ne la calez pas sur une grille droite, et laissez la recherche de triolets activée. Nous n’avons pas mesuré la qualité de leur détection par MuseScore. Dans MuseScore 3, les mêmes choix se trouvaient dans un panneau d’import, avec des colonnes comme « Max. voices » [Nombre max. de voix], « Search tuplets » [Rechercher les n-olets] et « Is human performance » [Interprétation humaine].

Starling Refine peut-il remettre de l’ordre dans une transcription après coup ?

Oui. Starling Refine est une passe de relecture sur la transcription d’un enregistrement, et chaque modification qu’elle apporte est enregistrée comme une version que vous pouvez annuler. Elle est gratuite avec Plus, et sans Plus vous avez un essai gratuit par mois (tarifs, vérifié le 24 octobre 2026). Voici le début d’une transcription de Für Elise, avant et après.

Avant : la transcription

2

Après Starling Refine

L’anacrouse et les mesures 1 et 2 d’un enregistrement de Für Elise du domaine public, de 24 secondes. Avant : mi majeur et 6/8, des copies de la mélodie à l’octave supérieure, un do écrit si dièse, et le la de la main gauche sur la portée du haut. Après, le 12 octobre 2026 : la mineur et 3/8, la mélodie en doubles croches et, en dessous, le la, le mi et le la de la main gauche. Comment fonctionne cette passe et où elle échoue.

Que coûte une partition plus ordonnée ?

Un peu de précision, surtout sur la durée des notes. Voici les compromis que nous avons mesurés ou connaissons :

  • MuseScore a écrit 26 % des notes plus longues que l’interprétation quantifiée, jusqu’à trois doubles croches de plus et jamais plus courtes, et des notes qui sonnent ensemble avec des durées différentes peuvent partager une même valeur. Dans ScoreStarling, la lecture et les exports MIDI gardent le rythme de l’interprétation, mais une ligne mélodique est d’abord nettoyée : parmi les notes jouées ensemble, la plus forte reste, les faibles échos disparaissent, et une note tenue s’arrête là où la suivante commence.
  • La tonalité est estimée à partir des notes et était fausse dans 2 cas sur 12, chaque fois à une quinte de la bonne. Les tonalités à sept dièses ou sept bémols sont écrites sous leur équivalent à cinq altérations.
  • La grille droite de doubles croches de ce test de guitare du 2 octobre ne pouvait pas montrer de triolets ni de swing. C’est toujours le cas quand ScoreStarling transcrit un instrument ou une voix, qui démarre en 4/4 ; pour le piano seul, il suit les mesures de l’interprétation et peut choisir 4/4, 3/4, 6/8 ou 12/8. Si vous préparez un fichier vous-même, écrivez-y le vrai chiffrage de la mesure.
  • MuseScore répartit les accords de piano entre les deux mains selon sa propre règle, et même des accords serrés de deux notes peuvent atterrir sur des portées différentes.

Une partie de tout cela peut se nettoyer après l’import. « Tools → Regroup rhythms » [Outils → Regrouper les rythmes] réécrit un passage sélectionné pour que les notes se groupent par temps, sans changer le rythme lui-même. « Tools → Respell pitches with sharps or with flats » [Outils → Réorthographier les hauteurs avec des dièses ou avec des bémols] change l’orthographe, mais le manuel précise qu’il est prévu pour des notes d’une seule hauteur. Corriger une mauvaise tonalité est plus rapide dans le fichier MIDI avant l’import que note par note après.

MuseScore peut-il transformer un MP3 en partition ?

MuseScore Studio ne le peut pas. Il ouvre des formats de partition comme MusicXML et MIDI, mais aucun fichier audio. Muse Group a annoncé une bêta d’Audio-to-Score sur la plateforme web de MuseScore le 17 août 2026 : piano seul et guitare acoustique, fichiers MP3 jusqu’à 30 Mo (environ trois minutes), gratuite, avec un résultat rendu sous forme de fichier MSCZ pour MuseScore Studio. Nous ne l’avons pas testée.

L’autre voie est celle de cet article : un modèle d’audio vers MIDI, la préparation de son rythme, puis le module d’import de MuseScore. ScoreStarling fonctionne ainsi quand il transforme de l’audio en MIDI ou de l’audio en MusicXML : pour un instrument ou une voix, avec Basic Pitch, et pour le piano seul, avec un modèle de piano dont les notes donnent aussi la pulsation et les barres de mesure ; Verovio dessine la page. Une ligne d’une seule note à la fois est maintenant écrite sur une portée en une voix, et une partie qui joue des accords les garde sur une seule portée. Dans Paramètres de la partition, Réécrire à partir de l’enregistrement peut écrire de nouveau un enregistrement à partie unique comme une ligne mélodique, sur une portée ou sur deux. Les chiffres ci-dessus datent du 2 octobre. Une nouvelle exécution du 4 octobre, après que les mélodies ont commencé à être écrites une note à la fois sur une portée, a de nouveau trouvé la tonalité dans 10 cas sur 12, n’a mal orthographié aucune des 3 158 notes de la tonalité et a montré les 357 silences.

Vous pouvez aussi choisir ou déposer un fichier MIDI dans ScoreStarling et obtenir une partition modifiable. Les pistes de batterie vont sur une portée de batterie, et toute la partition garde un seul chiffrage de la mesure. Un instrument ou une voix et le piano seul couvrent 6 minutes (15 avec Plus) ; Groupe couvre jusqu’à 30 minutes (6 sans Plus), pour un fichier envoyé de 95 Mo au plus. Le PDF est inclus avec tout compte et le MusicXML avec un abonnement Plus actif ; les caractéristiques techniques donnent le reste (vérifié le 24 octobre 2026). L’espace de travail est gratuit pour commencer, et l’article sur la précision garde les chiffres datés mesurés sur la guitare et sur le groupe.

Sources

  1. Summary of MIDI 1.0 Messages, MIDI Association
  2. Meta Message Types, documentation de mido
  3. basic_pitch/note_creation.py, Basic Pitch de Spotify, GitHub
  4. music21/musicxml/m21ToXml.py, music21, GitHub
  5. GuitarSet 1.1.0, Xi et al., Zenodo (CC BY 4.0)
  6. MIDI import, manuel de MuseScore 4
  7. Restore MIDI import panel, issue #11918, MuseScore, GitHub
  8. importmidi_quant.cpp et importmidi_key.cpp, code source de MuseScore, GitHub
  9. MIDI import, ancien manuel de MuseScore (panneau d’import)
  10. Command line usage et son exemple de fichier d’options d’import MIDI, MuseScore Studio Handbook
  11. Preferences, File export, Regroup rhythms et Respell pitches, MuseScore Studio Handbook
  12. Hear It, Play It : MuseScore Introduces New Smart Audio Recognition Features, Muse Group, 17 août 2026

Questions et réponses

Comment convertir du MIDI en MusicXML ?

Ouvrez le fichier MIDI dans MuseScore Studio, choisissez « File → Export » [Fichier → Exporter] et sélectionnez MusicXML ; le format .mxl compressé est choisi par défaut. Depuis un terminal, mscore -o score.musicxml file.mid fait la même chose, et -M ajoute un fichier d’options pour la quantification et les voix. Préparez d’abord le MIDI, sinon le MusicXML portera le même désordre.

Pourquoi tant de liaisons de tenue et de notes pointées après un import MIDI ?

Les notes jouées finissent rarement sur un temps. Calées sur une grille fine, elles chevauchent les temps et les barres de mesure et demandent des liaisons de tenue, et les notes qui se recouvrent débordent dans des voix supplémentaires. Quantifiez sur la plus courte valeur que vous voulez lire, limitez le module d’import à deux voix et laissez-le simplifier les durées. MuseScore écrira alors certaines notes un peu plus longues pour rendre la page plus nette.

Pourquoi MuseScore écrit-il un ré dièse là où j’attendais un mi bémol ?

Le MIDI enregistre la note 63 sans orthographe : MuseScore l’écrit donc d’après l’armure, et si une piste n’en a pas, il estime lui-même la tonalité. Écrivez la bonne armure dans chaque piste avant d’importer. Après l’import, « Tools → Respell pitches with sharps or with flats » [Outils → Réorthographier les hauteurs avec des dièses ou avec des bémols] change l’orthographe des notes sélectionnées qui ont la même hauteur.

Puis-je retrouver dans MuseScore Studio 4 le panneau d’import MIDI de MuseScore 3 ?

Pas quand nous avons vérifié, le 3 octobre 2026. Le panneau n’a pas été repris, et le ticket GitHub #11918 demandant de le rétablir reste ouvert. MuseScore Studio 4 garde une préférence de plus petite note pour le MIDI importé, et sa ligne de commande accepte, avec -M, un fichier d’options qui couvre les principaux choix du panneau.

Puis-je ouvrir une transcription ScoreStarling dans MuseScore ?

Oui. Exportez en MusicXML (.musicxml ou .mxl), qui conserve l’armure, l’orthographe des notes, les silences et les voix, ou en MIDI si vous n’avez besoin que des notes. Les deux sont inclus avec un abonnement Plus actif. ScoreStarling est gratuit pour commencer, et chaque transcription est une première version à vérifier à l’oreille.

Audio en MIDI vérifié à l’oreille