Converter MIDI para CSV
Converta eventos MIDI em linhas CSV editáveis para planilhas, scripts e análise de dados.
Converter ficheiros MIDI online
Ainda não temos um conversor online dedicado para MIDI para CSV, mas pode converter ficheiros MIDI online para estes e outros formatos:
Como converter midi para csv arquivo
- Composição musical
- Nenhuma avaliação ainda.
Uma planilha, um banco de dados ou um script de análise não pode usar diretamente a estrutura binária de eventos de um Standard MIDI File. Convertê-lo para CSV expõe notas, temporização, controladores, alterações de tempo e metadados como linhas que podem ser inspecionadas ou processadas com ferramentas comuns de dados.
O que é o formato MIDI
MIDI é um formato de eventos que armazena instruções musicais, e não som gravado. Um Standard MIDI File pode conter faixas, eventos note-on e note-off, alterações de instrumento, controles de pedal de sustain, alterações de tempo, fórmulas de compasso e armaduras de clave, dados system-exclusive e metadados de texto.
Digital audio workstations, programas de notação, sequenciadores de hardware e aplicativos de composição criam ou exportam arquivos MIDI, normalmente com as extensões .mid ou .midi. Aplicativos como MuseScore, Cubase, Ableton Live, Logic Pro, FL Studio e Reaper usam MIDI para sequenciamento e intercâmbio. Os eventos são cronometrados em ticks; o cabeçalho do arquivo define o valor de ticks-per-quarter-note, e os eventos de tempo determinam a relação entre ticks e segundos.
O que é o formato CSV
CSV é texto simples no qual os registros ocupam linhas e os campos ocupam colunas separadas por um delimitador, geralmente uma vírgula. Planilhas, Python, R, importadores SQL e softwares de análise de dados podem lê-lo sem um parser de MIDI.
Não existe um schema oficial único para MIDI-to-CSV. Um conversor pode gravar um evento por linha, com campos para faixa, tick, tipo de evento, canal, nota, velocity, controlador, programa, tempo ou metadados. Outros conversores usam nomes de colunas, delimitadores, convenções de temporização ou representações diferentes para o mesmo evento. Confirme o schema necessário antes de importar o resultado.
Converter com MIDI CSV
MIDI CSV é a opção para desktop mais adequada quando a saída precisa manter a estrutura do Standard MIDI File e poder ser convertida novamente para MIDI. O programa midicsv decodifica um arquivo MIDI em uma representação CSV documentada, e csvmidi codifica essa representação novamente. Obtenha os programas na fonte oficial do projeto ou em um pacote confiável do sistema operacional; evite downloads de executáveis não verificados.
- Instale
midicsvecsvmidie, em seguida, abra o Terminal, o Command Prompt ou o PowerShell no diretório que contém o arquivo. - Execute
midicsv input.mid output.csv. - Inspecione ou edite
output.csvcom um editor de texto. Se usar uma planilha, importe-o com o delimitador de vírgula e a codificação UTF-8, em vez de abri-lo e salvá-lo novamente de forma automática. - Para recriar um arquivo MIDI, execute
csvmidi output.csv recreated.mid.
A saída MIDI CSV normalmente inclui informações do cabeçalho, limites das faixas, divisão de temporização, eventos de canal e metaeventos MIDI. Preserve o arquivo MIDI original, pois os softwares de planilha podem alterar delimitadores, valores inteiros, codificações ou a formatação dos campos.
Criar um CSV de análise personalizado com Python
Use um script quando o sistema de destino precisar de um schema menor, como uma linha por evento com colunas para faixa, tick absoluto, tipo, canal, nota, velocity, controlador, programa e tempo. Instale o Mido com python -m pip install mido e salve o conteúdo a seguir como 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)
Execute-o com python midi_events.py input.mid events.csv. O Mido fornece delta times para cada faixa, portanto o script os acumula em posições de tick absolutas. Essa exportação simplificada não preserva todos os campos MIDI, incluindo componentes de time-signature, texto de key-signature, texto de letra e payloads system-exclusive; adicione colunas explícitas se esses eventos forem importantes.
Conversão online
A maioria dos conversores online confiáveis oferece suporte a formatos MIDI-to-audio, e não a CSV estruturado de eventos MIDI, portanto uma instalação local do MIDI CSV geralmente é a escolha correta. Se um serviço oferecer especificamente a exportação MIDI CSV, teste-o com um arquivo conhecido, verifique o schema e a saída MIDI reconstruída e confira a política de retenção de uploads antes de enviar músicas não publicadas ou metadados incorporados.
Limites de qualidade e compatibilidade
CSV contém dados de eventos, não áudio renderizado. Ele não pode preservar o som de um sintetizador, configurações de plug-ins, samples, mixagem ou efeitos, a menos que esses detalhes sejam representados por eventos MIDI e o sistema de destino saiba interpretá-los.
A duração da nota normalmente é derivada de um evento note-on e de um evento note-off posterior; ela não é necessariamente um campo de duração. Calcule o tempo musical a partir dos ticks e do valor de ticks-per-quarter-note do arquivo. Calcule os segundos aplicando as alterações de tempo, que podem ocorrer em posições diferentes do arquivo. Um evento note-on com velocity zero é comumente usado como note-off e deve ser tratado de acordo.
Para edição reversível, use a representação MIDI CSV completa em vez de uma exportação personalizada reduzida. Mantenha os valores de tick como inteiros, preserve a ordem dos eventos, mantenha o delimitador de vírgula e a codificação UTF-8 esperados e evite conversões da planilha para datas ou notação científica. Após a edição, execute csvmidi e abra o arquivo recriado em um player ou sequenciador MIDI para verificar a temporização, as faixas, os controladores e os metadados.
Comparação de formato: MIDI vs CSV
Como os formatos MIDI e CSV se comparam nas propriedades mais importantes para esta conversão.
| Propriedade | .MIDI MIDI Standard File | .CSV Comma-Separated Values |
|---|---|---|
| Padrão aberto | Sim | Sim |
| Compressão | Sem compressão | Sem compressão |
| Tamanho típico do arquivo | Muito pequeno | Pequeno |
| Abre num navegador web | Não | Sim, nativamente |
| Edição posterior | Fácil | Fácil |
| Suporte a metadados | Básico | Básico |
| Legível em texto simples | Não | Sim |
| Mais usado para | Música | Intercâmbio de dados |
| Introduzido | 1983 | — |
| Desenvolvedor | MIDI Manufacturers Association / MIDI Association | — |
| Tipo MIME | audio/midi | text/csv |
Software sugerido para converter midi para csv
Outras conversões de arquivo .midi
- midi para pdf
- midi para txt
- midi para musicxml
- midi para mscz
- midi para gp
- midi para text
- midi para smf
- midi para mxl
- midi para gp5
- midi para nwc
- midi para abc
- midi para ascii
- midi para band
- midi para bww
- midi para capx
- midi para gp3
- midi para gp4
- midi para gpx
- midi para gtp
- midi para imy
- midi para ly
- midi para mls
- midi para msc
- midi para mus
- midi para pbf
- midi para pcg
- midi para png
- midi para ps
- midi para sib
- midi para svg
- midi para tef
- midi para xml