Convertir MIDI en CSV
Convertissez les événements MIDI en lignes CSV modifiables pour les feuilles de calcul, les scripts et l’analyse de données.
Convertir des fichiers MIDI en ligne
Nous n’avons pas encore de convertisseur en ligne dédié pour MIDI vers CSV, mais vous pouvez convertir des fichiers MIDI en ligne vers ces formats et bien d’autres :
Comment convertir midi en fichier csv
- Composition musicale
- Aucune note pour l'instant.
Un tableur, une base de données ou un script d’analyse ne peut pas utiliser directement la structure binaire des événements d’un Standard MIDI File. Sa conversion en CSV expose les notes, le timing, les contrôleurs, les changements de tempo et les métadonnées sous forme de lignes qui peuvent être inspectées ou traitées avec des outils de données ordinaires.
Qu’est-ce que le format MIDI ?
MIDI est un format d’événements qui stocke des instructions musicales plutôt que du son enregistré. Un Standard MIDI File peut contenir des pistes, des événements note-on et note-off, des changements d’instrument, des contrôles de pédale sustain, des changements de tempo, des signatures temporelles et d’armure, des données system-exclusive et des métadonnées textuelles.
Les stations de travail audio numériques, les programmes de notation, les séquenceurs matériels et les applications de composition créent ou exportent des fichiers MIDI, généralement avec les extensions .mid ou .midi. Des applications telles que MuseScore, Cubase, Ableton Live, Logic Pro, FL Studio et Reaper utilisent MIDI pour le séquençage et l’échange de données. Les événements sont temporisés en ticks ; l’en-tête du fichier définit la valeur ticks-per-quarter-note, et les événements de tempo déterminent la relation entre les ticks et les secondes.
Qu’est-ce que le format CSV ?
CSV est un texte brut dans lequel les enregistrements occupent des lignes et les champs des colonnes séparées par un délimiteur, généralement une virgule. Les tableurs, Python, R, les importateurs SQL et les logiciels d’analyse de données peuvent le lire sans analyseur MIDI.
Il n’existe pas de schéma MIDI-to-CSV officiel unique. Un convertisseur peut écrire un événement par ligne avec des champs pour la piste, le tick, le type d’événement, le canal, la note, la vélocité, le contrôleur, le programme, le tempo ou les métadonnées. D’autres convertisseurs utilisent des noms de colonnes, des délimiteurs, des conventions de timing ou des représentations différents pour un même événement. Confirmez le schéma requis avant d’importer le résultat.
Convertir avec MIDI CSV
MIDI CSV est l’option de bureau la plus adaptée lorsque la sortie doit conserver la structure du Standard MIDI File et pouvoir être reconvertie en MIDI. Son programme midicsv décode un fichier MIDI en une représentation CSV documentée, et csvmidi encode à nouveau cette représentation. Obtenez les programmes depuis la source officielle du projet ou un paquet fiable du système d’exploitation ; évitez les téléchargements d’exécutables non vérifiés.
- Installez
midicsvetcsvmidi, puis ouvrez Terminal, Command Prompt ou PowerShell dans le répertoire contenant le fichier. - Exécutez
midicsv input.mid output.csv. - Inspectez ou modifiez
output.csvavec un éditeur de texte. Si vous utilisez un tableur, importez-le avec le délimiteur virgule et l’encodage UTF-8 au lieu de l’ouvrir et de le réenregistrer automatiquement. - Pour recréer un fichier MIDI, exécutez
csvmidi output.csv recreated.mid.
La sortie MIDI CSV comprend normalement les informations d’en-tête, les limites des pistes, la division temporelle, les événements de canal et les méta-événements MIDI. Conservez le fichier MIDI d’origine, car les logiciels de tableur peuvent modifier les délimiteurs, les valeurs entières, les encodages ou le formatage des champs.
Créer un CSV d’analyse personnalisé avec Python
Utilisez un script lorsque le système destinataire nécessite un schéma plus réduit, par exemple une ligne par événement avec des colonnes pour la piste, le tick absolu, le type, le canal, la note, la vélocité, le contrôleur, le programme et le tempo. Installez Mido avec python -m pip install mido et enregistrez ceci sous midi_events.py :
import csv
import sys
import mido
midi = mido.MidiFile(sys.argv[1])
fields = ["track", "tick", "type", "channel", "note", "velocity", "control", "value", "program", "tempo"]
with open(sys.argv[2], "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=fields)
writer.writeheader()
for track_number, track in enumerate(midi.tracks):
tick = 0
for message in track:
tick += message.time
row = {field: "" for field in fields}
row["track"] = track_number
row["tick"] = tick
row["type"] = message.type
for field in ("channel", "note", "velocity", "control", "value", "program", "tempo"):
if hasattr(message, field):
row[field] = getattr(message, field)
writer.writerow(row)
Exécutez-le avec python midi_events.py input.mid events.csv. Mido fournit les temps delta pour chaque piste, et le script les cumule afin d’obtenir des positions absolues en ticks. Cette exportation simplifiée ne conserve pas tous les champs MIDI, notamment les composants de signature temporelle, le texte de signature d’armure, le texte des paroles et les données system-exclusive ; ajoutez des colonnes explicites si ces événements sont importants.
Conversion en ligne
La plupart des convertisseurs en ligne réputés prennent en charge les formats MIDI vers audio plutôt que les fichiers CSV structurés d’événements MIDI. Une installation locale de MIDI CSV constitue donc généralement le choix approprié. Si un service propose spécifiquement l’exportation MIDI CSV, testez-le avec un fichier connu, vérifiez son schéma et la sortie MIDI reconstruite, puis consultez sa politique de conservation des fichiers envoyés avant de transmettre une musique non publiée ou des métadonnées intégrées.
Limites de qualité et de compatibilité
CSV contient des données d’événements, et non de l’audio rendu. Il ne peut pas préserver le son d’un synthétiseur, les paramètres des plug-ins, les samples, le mixage ou les effets, sauf si ces détails sont représentés par des événements MIDI et que le système destinataire sait comment les interpréter.
La durée d’une note est normalement déduite d’un événement note-on et d’un événement note-off ultérieur ; il ne s’agit pas nécessairement d’un champ de durée. Calculez le temps musical à partir des ticks et de la valeur ticks-per-quarter-note du fichier. Calculez les secondes en appliquant les changements de tempo, qui peuvent survenir à différents emplacements du fichier. Un événement note-on avec une vélocité nulle est couramment utilisé comme note-off et doit être traité en conséquence.
Pour une modification réversible, utilisez la représentation MIDI CSV complète plutôt qu’une exportation personnalisée réduite. Conservez les valeurs de ticks sous forme d’entiers, retenez l’ordre des événements, préservez le délimiteur virgule et l’encodage UTF-8 attendus, et évitez les conversions des tableurs en dates ou en notation scientifique. Après la modification, exécutez csvmidi et ouvrez le fichier recréé dans un lecteur MIDI ou un séquenceur afin de vérifier le timing, les pistes, les contrôleurs et les métadonnées.
Comparaison du format MIDI vs CSV
Comparaison entre les formats MIDI et CSV sur les propriétés les plus importantes pour cette conversion.
| Propriété | .MIDI MIDI Standard File | .CSV Comma-Separated Values |
|---|---|---|
| Norme ouverte | Oui | Oui |
| Compression | Non compressé | Non compressé |
| Taille de fichier typique | Très petit | Petit |
| S’ouvre dans un navigateur web | Non | Oui, nativement |
| Modification ultérieure | Facile | Facile |
| Support des métadonnées | Basique | Basique |
| Lisible en texte brut | Non | Oui |
| Idéal pour | Musique | Échange de données |
| Date d’introduction | 1983 | — |
| Développeur | MIDI Manufacturers Association / MIDI Association | — |
| Type MIME | audio/midi | text/csv |