Chromatik fehlgeschlagen

Begonnen von erich, Mittwoch, 27. Mai 2020, 16:03

« vorheriges - nächstes »

erich

Hallo allen!

Ich habe die Oktave in 53 gleichgroße Schritte unterteilt, so dass ich nach 53 Schritten genau die Oktave treffe; die Quinte hat dann ein Frequenzverhältnis von 1.49994090 statt 1.5 = 3/2. Wenn ich die Leiter schrittweise aufwärts spiele, klingt alles, wie erwartet; wenn ich jedoch Zweiklänge bilde, indem ich immer den Anfangston dazunehme, klingt das nicht, wie ich es erwartet hätte; hört es euch an:
https://meyerich.pythonanywhere.com/Forum
Was ist da los? Habt Ihr eine Erklärung?

Gruß Erich

Malte

Das ist eine Beschränkung von MIDI bzw. wie LilyPond damit umgeht. LilyPond realisiert Mikrointervalle durch pitch bends, die wirken sich aber immer auf einen ganzen Kanal aus. Standardmäßig wählt LilyPond pro Staff einen MIDI-Kanal. Ich meine, das könne man noch auf Voice-Ebene runterbringen (da müßte man mal in den Archiven der Mailingliste suchen), aber Akkorde innerhalb einer Voice gehorchen immer demselben pitch bend; damit sind nur gleichstufige Intervalle möglich.

Edit: Man könnte probieren, eine Funktion zu schreiben, die die Töne eines Akkordes auf mehrere Staff-Kontexte verteilt. Oder, was natürlich super wäre, man bringt LilyPond irgendwie dazu, die MIDI-Erweiterung (?) für Stimmungen zu verwenden. Soweit ich weiß, wird diese Funktionalität allerdings auch nicht von jedem (Software-)Synthesizer realisiert.

erich

Hallo Malte,

ich habe es in zwei Staffs aufgeteilt, dann geht es; sie meine Seite:
https://meyerich.pythonanywhere.com/Forum

Da müssen wir wohl warten, bis das neue MIDI in LilyPond verfügbar ist, um uns den Workaround zu sparen.

Danke Dir
Erich

Arnold

Hallo Erich,

und ich habe deswegen (und aus anderen Gründen) den von mir genutzten Software-Synthesizer (timidity) »privat« erweitert:
Per Kommandozeilenoption wird dann das Pitchbend nicht mehr (wie der Hebel an machen E-Gitarren) direkt zum Umstimmen aller klingenden Töne eines Midi-Kanals (üblicherweise Staff, wie oben erwähnt) interpretiert, sondern als »Vorauswahl für den nächsten beginnenden Ton«. - ist zwar nicht die ofizielle MIDI-Definition, aber passt besser zu Lilypond.
Außerdem habe ich timidity dann gleich zum 4-Port-Synthesizer (4 mal 16 Kanäle) umgestellt, wobei (wieder per Kommandozeilenoption aktiviert) per default die Spuren in der MIDI-Datei so verteilt werden, daß ich bis zu 60 unabhängige Melodiestimmen (auch Instrument-Sounds) abspielen kann.

Arnold

erich

Hallo Arnold,

verstehe ich das richtig: mit Deiner Modifikation von Timidity - das ich auch verwende - könnte ich die ursprünglich von mir formulierte Zweistimmung korrekt  als Midi aus LilyPond heraus wiedergeben.
Würdest Du mir Deine Modifikationen an Timidity zur Verfügung stellen? und mir damit das Workaround, wie es Malte vorgeschlagen hat, ersparen.

Gruß
Erich

Arnold

#5
Hallo,

das ist eine Kompilation für die Windows-Kommandozeile, die ich benutze.
Diese kann nur die Midi-Dateien in WAV-Dateien konvertieren, aber nicht direkt auf den Lautsprecher ausgeben.
Mit einer hinzuprogrammierten Kommandozeilenoption »--lily« werden zwei Schalter umgelegt:
- einer zur Unterstützung großer Partituren, mit bis zu 60 Staff_Performern, die sich dann nicht gegenseitig (z. Bsp. bei der Instrumentenwahl) aushebeln.
- einer gebunden Mikrotonalität (ähnlich einem gebundenen Clavichord - Mikrointervalle in einem Staff_Performer sind ermöglicht, solange die Töne nicht dem gleichen Halbton als Basis zugeordnet werden)

PM mit der EXE folgt.
O je, die Private Forums-Mail bietet keinen Dateianhang, und die ZIP-Datei ist ist zu groß für einen Anhang in diesem Beitrag.

Arnold