Konverze midi do text

Převod souboru MIDI do TEXT

Převeďte MIDI performance events do prohledávatelných dat ve formátu CSV nebo prostého textu pomocí MidiCSV nebo Pythonu.

Převádějte soubory MIDI online

Pro převod MIDI do TEXT zatím vlastní online konvertor nemáme, ale soubory MIDI můžete online převést do těchto a dalších formátů:

Jak převést soubor midi do formátu text

Script, tabulkový procesor nebo archivní pracovní postup může vyžadovat MIDI události jako čitelná data .txt nebo CSV namísto binárního souboru .mid. Převodem vznikne seznam událostí pro kontrolu a zpracování, nikoli zvuková nahrávka ani hotový přepis notového zápisu.

Co je formát MIDI

MIDI je posloupnost instrukcí pro hudební výkon, nikoli zaznamenaný zvuk. Standard MIDI File může obsahovat události note-on a note-off, výšku tónu, velocity, kanál, tempo, změny programu, pohyby kontrolérů, názvy stop a časové informace.

Digital audio workstations, jako jsou Ableton Live, Cubase, Logic Pro, FL Studio a REAPER, vytvářejí a upravují soubory MIDI. Notation software, jako jsou MuseScore a Sibelius, je může importovat a exportovat. MIDI používají také klávesy, aranžovací systémy, herní soundtracky, vzdělávací software a projekty hudební produkce.

Co je formát TEXT

TEXT není standardizovaný hudební formát. Soubor s názvem .txt může obsahovat hodnoty oddělené čárkami, pole oddělená tabulátory, hexadecimální bajty MIDI, názvy tónů nebo vlastní report. Přípona .text je také pouze konvence pojmenování souborů; nedefinuje strukturu dat.

Pro převod MIDI je obvykle nejvhodnějším cílem prostý textový seznam událostí, běžně ve formátu CSV. Lze v něm vyhledávat, porovnávat jej, otevřít v tabulkovém procesoru, ukládat do version control nebo zpracovávat pomocí Pythonu a dalších scriptů. Samotný o sobě nezachovává přehrávání; obnovení souboru MIDI vyžaduje kompatibilní schéma událostí a správná časová data.

Převod pomocí MidiCSV

MidiCSV je vhodný desktopový nástroj pro převod Standard MIDI Files na čitelný text ve formátu CSV. Jeho výstup reprezentuje stopy, časy událostí, typy událostí, kanály a parametry událostí a doprovodný nástroj csvmidi může ze správně naformátovaného CSV znovu vytvořit soubor MIDI.

  1. Nainstalujte MidiCSV z oficiální distribuce projektu nebo z důvěryhodného package repository.
  2. Otevřete Terminal, Command Prompt nebo PowerShell a přejděte do adresáře obsahujícího soubor MIDI.
  3. Spusťte midicsv input.mid output.csv. Přípona výstupu může být .csv nebo .txt; důležitější než přípona je obsah oddělený čárkami.
  4. Otevřete výsledek v textovém editoru nebo tabulkovém procesoru. Pokud jej bude zpracovávat jiný nástroj, zachovejte oddělovače a pořadí polí.

V systému Windows může být spustitelný soubor pojmenován midicsv.exe. Typický řádek identifikuje stopu, časovou pozici, typ události a hodnoty, jako jsou MIDI kanál, výška tónu nebo velocity.

Vytvoření vlastního textového reportu pomocí Pythonu

Pokud potřebujete vybrané stopy, názvy tónů, výstup oddělený tabulátory, filtrování nebo report navržený pro konkrétní aplikaci, použijte udržovaný package mido. Nainstalujte jej pomocí python -m pip install mido; backend python-rtmidi není pro čtení souborů vyžadován.

import mido

mid = mido.MidiFile('input.mid')
for track_number, track in enumerate(mid.tracks):
    absolute_ticks = 0
    for message in track:
        absolute_ticks += message.time
        print(f'{track_number}\t{absolute_ticks}\t{message}')

Uložte kód jako export_midi.py a přesměrujte jeho výstup pomocí python export_midi.py > output.txt. Mido uvádí delta time každé zprávy v ticích; script tyto hodnoty v rámci každé stopy kumuluje. Sekundy nepočítá, pokud program zároveň neinterpretuje nastavení division souboru MIDI a meta-události tempa.

Online převod používejte obezřetně

Obecné online převodníky běžně převádějí MIDI na MP3, WAV nebo notační formáty, často však neexportují podkladové MIDI události do textu. Webovou službu použijte pouze tehdy, pokud její zdokumentovaný výstup výslovně podporuje export událostí z MIDI do TXT nebo MIDI do CSV, a před nahráním nepublikované či proprietární hudby si ověřte podmínky uchovávání dat a ochrany soukromí dané služby.

Pro spolehlivý strukturovaný výstup je vhodnější lokální instalace MidiCSV nebo lokální Python script. Webový převodník, který pouze vytváří zvuk nebo vizuální notový zápis, tento převod neprovádí.

Omezení kvality a kompatibility

Prostý text automaticky nevytvoří text písně, notový zápis ani zvuk. Popisuje zprávy uložené v souboru MIDI; převod těchto zpráv na notový zápis vyžaduje notační program a jejich vykreslení jako zvuku vyžaduje synthesizer nebo sequencer.

Časování MIDI se obvykle vyjadřuje v ticích. Skutečná časová délka těchto tiků závisí na nastavení division souboru a událostech tempa, takže export založený na ticích je přesný pro rekonstrukci událostí, nikoli však pro časovou osu výkonu v sekundách. Report zohledňující tempo musí zpracovat změny tempa, obvykle ze stopy tempa v souboru typu 1.

Soubory typu 0 obsahují jednu stopu, zatímco soubory typu 1 běžně obsahují více synchronizovaných stop. Vlastní script musí zachovat identitu stop a pořadí událostí, pokud má být text později převeden zpět na MIDI. Soubory typu 2 obsahují nezávislé sekvence a vyžadují software, který tento formát výslovně podporuje.

Před úpravou exportovaných řádků si ponechte původní soubor .mid. V MidiCSV upravujte pouze zdokumentovaná pole a zachovejte strukturu CSV; nástroj csvmidi použijte k rekonstrukci až po ověření časování, názvů událostí, kanálů a požadovaných událostí konce stopy.

MIDI vs TEXT: srovnání formátů

Jak si formáty MIDI a TEXT stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů MIDI a TEXT
Vlastnost .MIDI MIDI Standard File .TEXT Plain Text
Otevřený standard Ano Ano
Komprese Bez komprese Bez komprese
Typická velikost souboru Velmi malé Velmi malé
Otevírá se ve webovém prohlížeči Ne Ano, nativně
Další úpravy Snadné Snadné
Podpora metadat Základní Žádné
Čitelný jako prostý text Ne Ano
Nejvhodnější pro Hudba Výměna dat
Zavedeno 1983 —
Vývojář MIDI Manufacturers Association / MIDI Association —
MIME typ audio/midi text/plain