Gibt es ein textbasiertes standardisiertes Zwischenformat zum binären MIDI?

Monophone fallen da grundsätzlich raus, Sampler und Rompler auch.
Polyphone dafür aber doch, unabhängig davon ob sie die Controllernummern der Pedale interessieren würden. Da sich die Sustains in den Distanzen zwischen Note-On und Note-Offs der angeschlagenden Töne verewigt haben - die gedachten ungedämpft mitschwingenden Saiten kommen dafür dann leider aber auch nicht bei PM-Synths wie Pianoteq zum Tragen, denn die bräuchten diese Controller halt - ist das halt ein Kompromiss.

Da sieht mans mal. Die MIDI-Spezifikation zu beherrschen reicht alleine nicht, man sollte auch wissen, welche Geräte im jeweils konkreten Fall damit angesteuert werden, und was die MIDI-technisch draufhaben. So kann ein Zwischenformat erstmal nur den kleinsten gemeinsamen Nenner ansprechen, ggf. ergänzt um einzeltonspezifische Parameter zum "virtuellen" Note-On (das sind in dem Beispiel oben diejenigen Zeilen mit den weiteren Angaben Duration, Tfid* und Pitch), die realisiert werden könnten.

Die Frage, ob und inwieweit sie realisiert werden können, entscheidet aber nicht wer das Zwischenformat schreibt, sondern wer es liest. Ein entsprechendes Mapping muss dem Konverter dann beim Aufruf mitgegeben werden. Dabei würde, um beim Beispiel zu bleiben, auch angegeben, wie die Stresswerte zu verstehen sind, also wie der Dynamikumfang einer Stimme sein soll: Angegeben werden könnte etwa ... --stress all from:20*log10 50=10 85=127, oder bei anderen Parametern, spaßeshalber mal die Angabe "Duration" als solchen für einen ominösen Controller Nr. 123 betrachtet, --controller p:Duration=123 0.01=1 4.5=127. Das Zwischenformat anzuwenden wäre also noch immer kein No-brainer, aber immerhin hält es fest wann welcher Ton klingen soll, mikrosekundengenau. Wie schon weiter oben gesagt, dienen die Sekundenwerte der Abstraktion vom Pulses-per-quarter-Wert im MIDI-Header, der auch erst bei der Konvertierung nach MIDI unter Berücksichtigung der Zielsetups festgelegt werden sollte, oder?

*) Tfid ist hier rein informativ, wenn die MIDI-Text-Datei aus einem Sompyler Score erstellt wurde: Tone file identifier, unter dem das eigentliche Sample im jeweiligen Cacheverzeichnis abgelegt ist. Haben zwei Zeilen den gleichen Tfid-Wert, wird dasselbe Sample geladen. So kann man alle Vorkommen ein und desselben Tons ermitteln und wenn man das zugehörige Sample durch ein "Laaangweilig!" à la Homer Simpson ersetzen will, dann ist das an dieser Stelle ein Ding des simplen Dateiersetzens.
 
Zuletzt bearbeitet:
Einfache Vertonung der Ukrainischen Nationalhymne als MIDI, mit den Noten aus der Wikipedia. Diese Noten habe ich zunächst intellektuell nach Sompyler Score kodiert, anhand der Synthese mit dem eingebetteten Glaspiano verglichen mit der Audiodatei auf Wikipedia, anschließend ins PreMidi-Format und davon ausgehend mit einem noch "quick and dirty" erstellten Konverter weiter zu MIDI umgewandelt.

Und ja, ich halte es durchaus für diskutabel, dass es unbedingt dieses Lied sein muss, hab mich da echt mit moralischen Bedenken auseinandergesetzt, dass das manche ukrainische Geflüchtete dereinst nicht unbedingt positiv aufnehmen könnten, ist schließlich deren Kulturgut, nicht meins. Mich am Ende aber doch dafür entschieden, als bescheidenes Zeichen der Solidarität. Wenn mir zu stark Gegenwind entgegenschlägt, ist das ganz fix durch Alle meine Entchen ersetzt, keine Bange.

EDIT: MIDI-Upload geht ja doch.

EDIT #2: Wie auch andere Code-Projekte von mir veröffentlicht sind, will ich nach etwas Kosmetik auch den Konverter veröffentlichen: pre2midi.py. Python-Kenntnisse schaden nicht.
 

Anhänge

  • schtsche_ne_wmerla_ukrajina.mid
    2,1 KB · Aufrufe: 0
Zuletzt bearbeitet:


Zurück
Oben