MIDI to text & vice versa

hier dreht sich alles um midi-sequencing und harddiskrecording mit linux.
hier bist du also genau richtig, wenn du dich von programmen wie cubase, logic oder protools trennen willst...
Antworten
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

MIDI to text & vice versa

Beitrag von klaus111 »

Hallo,

zur nachträglichen Veränderung von MIDI-Dateien (z.B. Tonhöhenveränderungen mit pitch bend) suche ich ein entsprechendes Programm für Linux.

Habe bisher nur midge gefunden. Das kann einen Perl-Text nach MIDI konvertieren. Es funktioniert zwar hervorragend, doch MIDI-files lassen sich damit leider nicht zu Text konvertieren.

Kennt jemand ein solches Programm?

Grüße
Klaus
Benutzeravatar
Mitsch
Power User
Power User
Beiträge: 1226
Registriert: Mo Feb 20, 2006 11:17 am
Wohnort: Ludwigsburg
Kontaktdaten:

Re: MIDI to text & vice versa

Beitrag von Mitsch »

Moinsen! Spät dran!

Ich verstehe ehrlich gesagt nicht ganz, was Du machen willst. :)
MIDI-Dateien pitchen? Du hast 'ne MIDI-Datei und die soll einen Notenwert höher abgespielt werden? So ungefähr?

Grüße!
Benutzeravatar
linuxchaos
Site Admin
Site Admin
Beiträge: 1312
Registriert: Mo Mär 03, 2003 9:32 pm
Kontaktdaten:

Re: MIDI to text & vice versa

Beitrag von linuxchaos »

bin mir auch nicht so sicher, was gemeint ist. sowas wie transponieren oder anschlagsstärke verändern oder sowas können die sequencer...

grüsse
l.chaos
http://www.audiowerkstatt.de
zoschfrosch
New User
New User
Beiträge: 15
Registriert: Mo Apr 25, 2011 1:00 pm

Re: MIDI to text & vice versa

Beitrag von zoschfrosch »

Falls Du ein pitch bend wie beim Gitarrespielen meinst, das kannst Du mit Tux Guitar nachahmen. Song über Dateimenü "import" als Midi-Datei importieren, und da Tux Guitar speziell für Gitarrentabulaturen gemacht ist, kann es solche Gitarren-"Features". Ob beispielsweise Rosegarden das kann, weiß ich nicht. Aber ich bin mir nicht sicher, ob ich Deine Frage überhaupt richtig verstanden habe.

Grüße
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Re: MIDI to text & vice versa

Beitrag von klaus111 »

zoschfrosch hat geschrieben:Aber ich bin mir nicht sicher, ob ich Deine Frage überhaupt richtig verstanden habe.
Naja, du hast sie noch am ehesten verstanden. Es geht natürlich nicht um Transposition. Das könnte ja jeder Sequencer.
Es geht darum, die Tonhöhen in einer MIDI-Datei abweichend von der gleichstufigen Stimmung zu verändern. Das geht mit "pitch bend"-Daten. Immerhin kann das Tux Guitar prinzipiell (siehe hier), doch ist das für meine Zwecke nicht genau genug und auch zu mühsam.

Wenn man z.B. mikrotonale oder auch reine Intervalle einsetzen möchte, dann sollten die schon ziemlich genau gestimmt sein.

Für so etwas gibt es vermutlich keinen (freien und graphischen) MIDI-Editor.

Man kann zwar z.B. mit ZynAddSubFx beliebige Stimmungen erzeugen und verwenden, doch die entsprechende Mikrotonalität ist nicht in MIDI abgespeichert sondern in einer Datei, die ZynAddSubFx lesen kann. Man wäre beim Abspielen einer mikrotonalen MIDI-Komposition an diesen Klangerzeuger gebunden, was natürlich zu einschränkend ist.

Also ist das Ziel, Abweichungen von der gleichstufigen Stimmung in den MIDI-Dateien zu speichern, was nur über "pitch bend"-Daten geht. Ich hoffe also wenigstens auf einen textorientierten Editor, mit dem ich in eine MIDI-Datei nachträglich die gewünschten Tonabweichungen einfügen kann.

Grüße
Klaus
Drumfix
Power User
Power User
Beiträge: 144
Registriert: Di Apr 29, 2003 4:29 pm

Re: MIDI to text & vice versa

Beitrag von Drumfix »

Wie du im Bild siehst, kann das ein Sequencer (hier Rosegarden)

http://www.rosegardenmusic.com/images/snap-10.02-3.png

Dazu hat der Sequencer den Matrixeditor (Midisequenz selektieren, Rechtsklick und "im Matrixeditor öffen" wählen)
Dann über das Menü Ansicht->Eventlineal hinzufügen->Pitchbend den im Bild sichtbaren Editierbereich für Pitchbend hinzufügen.

Die Beschreibung bezieht sich auf Rosegarden 1.7.3, bei neueren Versionen dürfte das aber ähnlich sein.

Gruß und ausprobieren
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Re: MIDI to text & vice versa

Beitrag von klaus111 »

Drumfix hat geschrieben:Wie du im Bild siehst, kann das ein Sequencer (hier Rosegarden)
Danke, das hilft ein Stück weiter. Es treten im praktischen Gebrauch noch Schwierigkeiten auf, mit Rosegarden 10.2:

Bearbeitet man im Lineal für Tonhöhen-Änderung die pitch bends nachträglich, so lassen ich die Veränderungen überraschenderweise nicht abspeichern.

Man kann auch im Menue unter "Editieren->Tonhöhensequenz eingeben" mit "End Wert" eine definierte Tonhöhe eingeben. Möchte man die nachträglich ändern, so wird die vorher definierte Einstellung überraschenderweise ebenfalls nicht mehr angezeigt.

Bisher habe ich noch Schwierigkeiten, bei veränderten Tonhöhen einen hörbaren glissando-Effekt zu vermeiden.

Ich muß aber die Möglichkeiten in Rosegarden noch genauer unter die Lupe nehmen, um festzustellen, inwiefern man damit sinnvoll mit veränderten Tonhöhen arbeiten kann.

Jedenfalls Danke für den Tipp! :)
khz hat geschrieben:evt. sowas wie openoctave?
Die Entwicklung von openoctave verfolge ich mit Interesse (siehe Thread).
Ich vermute mal, momentan wäre es noch zu riskant damit auf Ubuntu Studio zu arbeiten, wenn man überhaupt die Installation hinbekommt. Und solange ich die "creative commons-licensed orchestral sample library" "Sonatina Symphonic Orchestra" nicht auf FluidSynth erklingen lassen kann, ist das Interesse für openoctave ohnehin eingeschränkt.
Hast du Hinweise darauf, daß in openoctave die pitch bends bequem eingegeben werden können? Immerhin wäre das ja für die Posaunen auf der von dir zitierten Seite interessant. Da könnte es schon sein, daß openoctave eine gute Lösung entwickelt hat.

Vielleicht wäre es doch am einfachsten, wenn man eine erstellte MIDI-Datei mit einem Text-basierten Programm nachträglich entsprechend verändern könnte.

Grüße
Klaus
Benutzeravatar
linuxchaos
Site Admin
Site Admin
Beiträge: 1312
Registriert: Mo Mär 03, 2003 9:32 pm
Kontaktdaten:

Re: MIDI to text & vice versa

Beitrag von linuxchaos »

zum text editor:
du kannst dir den midi"stream" in eine textdatei speichern und dann "ganz normal" bearbeiten. wenn man das nicht gewohnt ist, ist das sehr kryptisch (für mich wäre es nix).
und bei muse gibt es (glaube ich) die möglichkeit, sich die daten im list-editor anzeigen zu lassen. keine ahnung, ob man da auch editieren kann.

midi-controller-daten können auch nachträglich auf eine existierende spur aufgenommen werden. müsste auch mit pitch gehen und das würde die eingabe vielleicht etwas erleichtern (also pitch einspielen und nur noch die fehler verbessern).


und zum glissando:
ich gehe davon aus, dass du damit meinst, dass du stufen hörst. dann folgendes im kopf haben: pitch hat wie alles bei midi 128 stufen. bleiben also 64 stufen pro richtung. was diese daten machen ist "dem midi" erstmal egal. das wird beim klangerzeuger vorgegeben oder lässt sich dort einstellen. bei manchen ist der bereich ein halbton, bei manchen lässt es sich auf eine ganze oktave stellen. bei einer oktave mit 12 halbtonschritten sind das also 64/12 schritte pro halbton oder 5,33... schritte pro halbton. da ist dann klar, dass man noch stufen hört (ich meine auch einen synth mit der möglchkeit von 2 oktaven gesehen zu haben, aber bin mir nicht mehr sicher. das wären dann nurnoch gute 2,5 stufen pro halbton!)

grüsse
l.chaos
http://www.audiowerkstatt.de
klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Re: MIDI to text & vice versa

Beitrag von klaus111 »

Danke für die Antwort, doch ich fürchte, sie hilft letztlich leider nicht weiter.

Natürlich hatte ich eine MIDI-Datei schon mit einem Text-Editor geöffnet. (Unter Ubuntu Studio wird das übrigens durch den Editor glatt verweigert, selbst nach Umbenennung in .txt.)
Mit KWrite oder Okteta kann man sie öffnen und dann sieht man, daß es eine Binär-Datei ist. Sprich, außer ein paar Label-Worten sieht man keine deutbaren Zeichen, die man jetzt sinnvoll editieren könnte.

Es wäre schon notwendig, MIDI vor dem Editieren mit einem geeigneten Programm in einen übersichtlichen Text zu konvertierten.

Wäre positiv überrascht, wenn muse das mit "list" zustanden bringen würde, doch ich möchte es wegen des vagen Hinweises nicht extra installieren.

Das mit dem separaten Aufnehmen von midi-controller-daten merke ich mir mal. Vielleicht kann man das einmal verwenden.

Zum Glissando: Ich meinte nicht, daß ich Stufen höre, diese Prinzipien in MIDI sind mir bekannt. Mir gelang es noch nicht, zwei Töne, z.B. der Frequenz 440 Hz und 460 Hz nacheinander aufzunehmen, ohne daß man ein Glissando hört. Ich möchte sie einfach so abspielen können, wie auf einem monophonen Keyboard.
In ZynAddSubFx geht das z.B. ohne weiteres (enable microtonality), sogar polyphon, aber man kann die Tonfolge da natürlich nciht als MIDI-Datei mit entsprechendem pitch ausgeben. (Pitch bezieht sich ja immer auf einen Kanal und nicht auf einen Ton. Frequenzen sind in MIDI-Töne plus pitch umrechenbar.)

Irgendwelche uralten DOS-Programme konnten offenbar das, was ich möchte. Ich hoffte allerdings auf einen besseren Weg.

Grüße
Klaus
Zuletzt geändert von klaus111 am Sa Mai 07, 2011 9:54 am, insgesamt 1-mal geändert.
brummer
Power User
Power User
Beiträge: 355
Registriert: Mi Jul 16, 2008 10:46 am

Re: MIDI to text & vice versa

Beitrag von brummer »

klaus111
Power User
Power User
Beiträge: 116
Registriert: So Feb 22, 2009 2:03 pm

Re: MIDI to text & vice versa

Beitrag von klaus111 »

Danke! :) Das dürfte schon mal eine Lösung sein. An eine Notationssoftware hatte ich noch gar nicht gedacht.

Für Ubuntu Studio steht beides in Synaptic zur Verfügung: midi2abc und abc2midi

Für ABC gibt es zum Glück ein spezielles Programm für Mikrotonalität: microabc
Das wird in Synaptic allerdings nicht angeboten.
Tutorials unter:
hudsonlacerda.webs.com/abc/microabc-tutorial.pdf
http://hudsonlacerda.webs.com/abc/microabc.html

Hier übrigens das Frequency Data format von MIDI. Mit dieser Information dürfte man mit Okteta die entsprechenden Binärdaten der Frequenzen wie gewünscht verändern können, vorausgesetzt, man kann eine MIDI-Datei mit diesem Format erzeugen.

Wer es zum Laufen bringt und damit umgehen kann, der kann dies wohl auch mit Scala bewerkstelligen (nicht in Synaptic). (Help: Introduction)

Inwiefern die MIDI-Eigenschaften der interessanten Programme Cecilia (in Synaptic enthalten) und Bol Processor (nicht enthalten) hilfreich sein könnten, überblicke ich momentan noch nicht.

Grüße
Klaus

Edit: Zwischenbericht aus der Praxis:

microabc (mit abc) ist mir zu kompliziert (Installation u. Einarbeitung)

Eine MIDI-Datei mit dem o.g. "Frequency Data format" konnte ich mit Rosegarden nicht erzeugen. Man könnte mit dem Matrixeditor pichtes setzen, die man nachträglich auch mit Okteta verändern kann. Bequemer natürlich mit dem Matrixeditor. Der Grund, warum ich wie oben gesagt, keinen MIDI-File ohne glissando-Effekt erzeugen konnte it nun klar: Die meisten MIDI-Sounds haben einen starken Hall-Anteil. Dieser wird durch pitch bend verändert, auch wenn die Note nicht mehr gespielt wird (Pitch bend wirkt auf den ganzen Kanal). Man den Effekt vermeiden, indem man solange andere Kanäle verwendet, bis der Hall auf dem zuerst benutzen Kanal verklungen ist. Das wird wohl in microabc so gemacht.

Cecilia und Bol Processor können offenbar MIDI-Dateien nur lesen, aber nicht schrieben.

Der erfolgversprechendste Weg zum Erzeugen von Musik mit beliebigen Tönen (mikrotonal) besteht wohl darin, einen MIDI-file zu retunen. Das geschieht mit Hilfe einer erstellten Tabelle und mit Scala. Im Falle von Timidity klappt das auch und man hört keinen glissando-Effekt. Die Methode arbeitet nicht mit pitch bend, sondern mit dem "MIDI Tuning Standard (MTS)". An Timidity wird eine von Scala erzeugt Tabelle (.tbl) gesandt, die Timidity entsprechend (ver-)stimmt.
Auch mit Fluidsynth soll das ähnlich funktionieren, was ich demnächst ausprobiere.
Code in Scala:

Code: Alles auswählen

set synth 107
Synthesizer 107: MIDI Tuning Standard bulk tuning dump, 3 byte
Viele (mind. 32) Synthesizer werden nach diesem Prinzip unterstützt. Eine Liste findet sich bei Scala.
Wahrscheinlicher Nachteil der Geschichte: Die Tuning-Daten (tuning dump formats) können zwar in den MIDI-file integriert werden, doch damit die Töne korrekt wiedergegeben werden, muß der MIDI-file auch mit dem entsprechenden Synthesizer abgespielt werden.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast