Convertir CSV en MIDI
Convertissez des tableaux de notes musicales ou des fichiers d’événements MIDICSV en Standard MIDI Files modifiables.
Convertir des fichiers CSV en ligne
Nous n’avons pas encore de convertisseur en ligne dédié pour CSV vers MIDI, mais vous pouvez convertir des fichiers CSV en ligne vers ces formats et bien d’autres :
Comment convertir csv en fichier midi
- Composition musicale
- Aucune note pour l'instant.
Un tableur, un programme d’analyse ou un outil de composition personnalisé peut exporter des données de notes au format CSV, tandis qu’un séquenceur, un programme de notation ou un équipement MIDI nécessite un Standard MIDI File. La conversion transforme des événements musicaux tabulaires en une séquence modifiable plutôt qu’en audio.
Qu’est-ce que le CSV ?
CSV (comma-separated values) est un texte brut organisé en lignes et en colonnes. Les compositeurs, les chercheurs en musique, les utilisateurs de tableurs, les DAW et les scripts personnalisés peuvent l’utiliser pour les hauteurs, les temps de début, les durées, les vélocités, les canaux, les contrôleurs ou les données de tempo.
Le CSV ne possède aucun schéma musical universel. Un fichier peut contenir des colonnes telles que pitch,start,duration ; un autre peut utiliser des noms de notes, des secondes, des ticks ou une ligne pour chaque événement MIDI. Le délimiteur peut être une virgule, un point-virgule ou une tabulation, et les champs entre guillemets peuvent contenir des délimiteurs. Identifiez la signification des colonnes, les unités de temps, l’encodage et la structure de l’en-tête avant la conversion.
Qu’est-ce que le MIDI ?
Un Standard MIDI File (.mid ou .midi) stocke des instructions musicales horodatées, notamment les événements de note, de vélocité, de canal, de changement de programme, de contrôleur, de pitch-bend, de tempo, de métrique et d’armure. Il ne contient pas de son enregistré : un synthétiseur, un instrument virtuel ou un appareil matériel génère l’audio.
Les fichiers MIDI sont normalement beaucoup plus petits que les fichiers audio et permettent de modifier indépendamment les notes, le timing, la vélocité, les instruments, le tempo et les données d’arrangement. Ils peuvent être ouverts par MuseScore Studio, Cubase, Logic Pro, Ableton Live, REAPER et les séquenceurs matériels, bien que les sons de lecture dépendent des instruments de destination.
Utiliser MIDICSV avec un schéma d’événements MIDI existant
Les utilitaires open source MIDICSV sont l’option la plus directe lorsque le CSV suit le format d’événements MIDICSV. Il ne s’agit pas de convertisseurs génériques pour tableurs : midicsv exporte un fichier MIDI vers une représentation CSV définie, et csvmidi reconvertit cette représentation en fichier MIDI.
- Installez le package MIDICSV pour votre système d’exploitation depuis sa source documentée.
- Exportez un fichier MIDI avec
midicsv input.mid events.csv. - Modifiez
events.csvsans changer ses champs obligatoires de piste, de temps, de type d’événement et de paramètre. Préservez les plages numériques ainsi que la syntaxe obligatoire de l’en-tête ou des événements. - Compilez-le avec
csvmidi events.csv output.mid. - Ouvrez
output.middans un éditeur MIDI et vérifiez le timing, les instruments, les contrôleurs et la structure des pistes.
Un tableur contenant des colonnes arbitraires telles que start_beat, duration_beat et pitch n’est pas automatiquement compatible avec csvmidi. Utilisez un analyseur personnalisé pour cette mise en page.
Convertir un CSV avec une note par ligne à l’aide de Python
Pour une table de notes, utilisez Python avec la bibliothèque open source mido. Préparez notes.csv avec une note par ligne et les colonnes suivantes : start_beat, duration_beat, pitch, velocity et channel. Utilisez des hauteurs MIDI de 0 à 127, des vélocités de 1 à 127, des canaux de 0 à 15 et des temps exprimés en battements par rapport à une noire.
- Installez la dépendance avec
python -m pip install mido. - Enregistrez ce script sous le nom
csv_to_midi.py, à côté denotes.csv:
import csv
from mido import MidiFile, MidiTrack, Message, MetaMessage, bpm2tempo
bpm = 120
midi = MidiFile(ticks_per_beat=480)
track = MidiTrack()
midi.tracks.append(track)
events = [(0, 0, MetaMessage('set_tempo', tempo=bpm2tempo(bpm)))]
with open('notes.csv', newline='', encoding='utf-8-sig') as f:
for row in csv.DictReader(f):
start = float(row['start_beat'])
duration = float(row['duration_beat'])
pitch = int(row['pitch'])
velocity = max(1, min(127, int(row.get('velocity') or 80)))
channel = int(row.get('channel') or 0)
if duration < 0 or not 0 <= pitch <= 127 or not 0 <= channel <= 15:
raise ValueError('invalid duration, pitch, or channel')
start_tick = round(start * midi.ticks_per_beat)
end_tick = round((start + duration) * midi.ticks_per_beat)
events.append((start_tick, 1, Message('note_on', note=pitch, velocity=velocity, channel=channel)))
events.append((end_tick, 0, Message('note_off', note=pitch, velocity=0, channel=channel)))
events.sort(key=lambda item: (item[0], item[1]))
previous = 0
for tick, _, message in events:
message.time = tick - previous
track.append(message)
previous = tick
midi.save('notes.mid')
- Exécutez
python csv_to_midi.py. Le résultat estnotes.mid, avec 480 ticks par noire et un tempo fixe de 120 BPM. - Ouvrez le fichier dans MuseScore Studio via File → Open, ou importez-le à l’aide de la commande d’importation MIDI d’un DAW. Ajoutez les instruments, les changements de tempo, la métrique, les armures ou les autres données musicales absentes du CSV.
Si les temps source sont exprimés en secondes, convertissez-les en battements à l’aide de beats = seconds * bpm / 60. S’ils sont exprimés en ticks MIDI, divisez-les par la valeur de ticks par battement du fichier source. Les secondes, les battements et les ticks ne sont pas interchangeables. Si le CSV contient des lignes d’événements plutôt que des lignes de notes, écrivez un analyseur qui associe chaque type d’événement au message MIDI correspondant au lieu d’utiliser le script de table de notes.
Limites de qualité et de compatibilité
Le résultat ne peut préserver que les données représentées par le schéma source et la méthode de conversion. L’exemple préserve la hauteur, le temps de début, la durée, la vélocité et le canal, mais pas les paroles, la pédale de sustain, l’automatisation des contrôleurs, les changements de programme, les changements de tempo, la métrique, les armures, les articulations ou les pistes multiples.
Les notes qui se chevauchent sont prises en charge, mais les notes qui se chevauchent avec la même hauteur et le même canal peuvent être ambiguës pour certains instruments. Les numéros de programme MIDI, le comportement du canal de batterie, l’accordage, les réponses des contrôleurs et les sons des instruments varient selon les applications et les équipements. Inspectez le fichier importé dans un éditeur piano-roll ou d’événements et écoutez-le pour détecter un tempo incorrect, des notes manquantes, des collisions de canaux et des durées raccourcies.
Les services en ligne conviennent uniquement lorsqu’ils documentent la mise en page CSV exacte qu’ils acceptent. Les convertisseurs de fichiers génériques ne peuvent pas déterminer si une colonne contient des ticks MIDI, des secondes, des battements, des noms de notes ou des types d’événements. Pour les compositions personnalisées ou les données privées, une conversion locale avec MIDICSV ou Python évite de téléverser les données et fournit des paramètres reproductibles.
Comparaison du format CSV vs MIDI
Comparaison entre les formats CSV et MIDI sur les propriétés les plus importantes pour cette conversion.
| Propriété | .CSV Comma-Separated Values | .MIDI MIDI Standard File |
|---|---|---|
| Norme ouverte | Oui | Oui |
| Compression | Non compressé | Non compressé |
| Taille de fichier typique | Petit | Très petit |
| S’ouvre dans un navigateur web | Oui, nativement | Non |
| Modification ultérieure | Facile | Facile |
| Support des métadonnées | Basique | Basique |
| Lisible en texte brut | Oui | Non |
| Idéal pour | Échange de données | Musique |
| Date d’introduction | — | 1983 |
| Développeur | — | MIDI Manufacturers Association / MIDI Association |
| Type MIME | text/csv | audio/midi |
Logiciel suggéré pour convertir csv en midi
Autres conversions de fichiers .csv
Conversion inverse
Conversion vers .midi
depuis d'autres formats
- mscz en midi
- mxl en midi
- gp en midi
- gp5 en midi
- musicxml en midi
- sib en midi
- abc en midi
- smf en midi
- pdf en midi
- txt en midi
- akai en midi
- ascii en midi
- bmp en midi
- cap en midi
- capx en midi
- cdo en midi
- doc en midi
- enf en midi
- gif en midi
- gp3 en midi
- gp4 en midi
- gpx en midi
- gtp en midi
- h2song en midi
- jpeg en midi
- jpg en midi
- mg1 en midi
- mgu en midi
- mscx en midi
- nwc en midi
- ove en midi
- png en midi
- sbk en midi
- sf en midi
- sng en midi
- tab en midi
- tef en midi
- tif en midi
- tiff en midi
- wpp en midi
- xml en midi