Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: pdqbach am Sonntag, 2. Juni 2013, 19:32
-
Liebe Lilypondler,
was ist der einfachste Weg, ein kurzes Notenbeispiel wie das folgende neben der Fassung in a-Moll auch noch einmal nach g-Moll zu transponieren.
Es soll keine Partitur werden, sondern im Ergebnis lediglich beide Zeilen einfach untereinander.
Code:
\version "2.16.1"
#(set-global-staff-size 14)
\relative c'' {
\clef treble
\key a\minor
\tempo "1. Andante"
\time 4/4
a'4~ a16 gis a e f e e f f e d32 e f16
e8 gis, a e' d8 f32 e d16 b' d, c b
\times 2/3 { c16[ d e] } \times 2/3 { d16[ e f] } e16 d c b a8 a' r
}
Danke für Eure Hilfe, Gruß
Pepe
-
Hi Pepe,
was ist der einfachste Weg, ein kurzes Notenbeispiel wie das folgende neben der Fassung in a-Moll auch noch einmal nach g-Moll zu transponieren.
in eine Variable packen:
m = ...
Und dann:
\new Staff \m
\new Staff \transpose a g \m
Gruß,
Harm
-
Hi Harm,
prima, danke, das funktioniert und ist kurz...
Nun habe ich noch das Problem, dass ich evtl. später einmal eine Suchfunktion nach dem Notentext basteln möchte. Dafür wäre es natürlich deutlich einfacher, wenn nicht nur die Ausgabe in g-Moll existiert, sondern auch die entsprechenden Notennamen in der Datei auftauchen, verstehst Du, was ich meine?
Irgendeine Idee? Das würde eine Suche natürlich erheblich vereinfachen, wenn ich dort nicht auch noch auf Transpositionen prüfen muss..
HG
Pepe
-
Dafür wäre es natürlich deutlich einfacher, wenn nicht nur die Ausgabe in g-Moll existiert, sondern auch die entsprechenden Notennamen in der Datei auftauchen, verstehst Du, was ich meine?
Nicht so recht.
Meinst Du, daß m= { c } einen Ganzton hoch transponiert m= { d } ergeben sollte?
Falls ja, so hat Frescobaldi eine entsprechende Funktion.
Du kannst auch die Terminalausgabe von
\displayLilyMusic \transpose a g \m
kopieren, die ist jedoch absolut und nicht relative.
-Harm
-
Ich versuche, es nochmal deutlicher zu machen:
Für das pdf ist Deine Lösung perfekt, alles erledigt.
Aber wenn ich eine Incipit-Suche einrichten möchte, dann müssen die Töne in allen möglichen Transpositionen in der .ly-Datei auftauchen.
In diesem Fall also neben
a'4~ a16 gis a e
auch
g'4~ g fis g d
Ich könnte natürlich die \display-Funktiion nehmen und dann wiederum reinkopieren; aber wenns noch eleganter geht...
HG
Pepe
-
Ich versuche, es nochmal deutlicher zu machen:
Für das pdf ist Deine Lösung perfekt, alles erledigt.
Aber wenn ich eine Incipit-Suche einrichten möchte, dann müssen die Töne in allen möglichen Transpositionen in der .ly-Datei auftauchen.
In diesem Fall also neben
a'4~ a16 gis a e
auch
g'4~ g fis g d
Ist schon klar.
Neben dem Kopieren aus dem Terminal, kenn' ich aber nur den Weg via Frescobaldi:
Lilypond->Tonlage->Transponieren
(Ich habe aber eine alte Frescobaldi-Version, kann sein, daß es mittlerweile anders geht.)
-Harm
-
Hallo zusammen,
nur ein paar Gedanken dazu:
Codierung
Wenn Du ohnehin eine "Incipit-Suche" schreiben möchtest, wäre es dann nicht sinnvoll, einen geeignet vereinfachten/ausgedünnten/homogenisierten Noten-Code zu haben? Und warum nicht eine "relative Schreibweise" wählen?
Mit "relativer Schreibweise" meine ich, daß man eher Intervalle als absolute Tonhöhen speichert, genau, wie man als Relativhörer Melodien anhand der Intervallsprünge erkennt, nicht anhand der absoluten Tonhöhen.
Automatisierung
Es wäre doch komfortabel, wenn LilyPond selbständig das benötigte Coding erzeugen könnte.
Und warum nicht ein eigenes File schreiben (z. B. mit Endung .index), das speziell zur Suche verwendet werden kann?
So, daß z. B. aus dem Quellcode test.ly neben test.pdf, test.log usw. noch eine Datei test.index mit den wie auch immer aufbereiteten Such-Informationen generiert wird?
Viele Grüße
Torsten