Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: trulli am Donnerstag, 1. April 2010, 13:45
-
Hallo,
im folgenden Beispiel möchte ich gerne im letzten Takt die Akkordnoten c und h vertauschen, damit der Bogen direkt an das c kommt.
\vertauscheAkkordtöne hat leider nicht geklappt ^^
Danke und Grüße
-
Hallo Mat,
die Anordnung der Ganzen im Akkord richtet sich wohl nach der Halsrichtung der vorangehenden Achtel. Bei mir klappts mit einem \stemNeutral vor dem Akkord.
\relative {
\set tieWaitForNote = ##t
\partial 2
\stemUp
e'8 ~ b c ~ b_~
\stemNeutral <b c e>1
}
Grüße, Robert
-
Wenn du die Noten wirklich vertauschen willst, statt sie nach links zu verschieben, geht das z.B. mit einem unsichtbaren a:
\relative {
\set tieWaitForNote = ##t
\partial 2
\stemUp
e'8 ~ b c ~ b_~
<\tweak #'transparent ##t a b c e>1
}Sieht aber nicht so gut aus.
-
Danke euch beiden für die Hilfe!
Robs Lösung funktioniert am besten. Warum allerdings, verstehe ich nicht... muss ich aber auch nicht :)
Grüße von Mat
-
Ich schaue immer zuerst nach, was Lily im Normalfall getan hätte. In diesem Beispiel war die Akkordstellung zunächst korrekt, aber nach der geänderten Halsrichtung nicht mehr wie gewünscht. Ergo macht man die Halsrichtung wieder rückgängig!
Die Methode mit versteckten Noten, um Kollisionen zu erzwingen, benutze ich nur, wenn alles andere nicht mehr hilft – die MIDI-Datei wird dadurch „unsauber“, und man müsste jene Noten von der MIDI-Erzeugung ausschließen (z.B. per \tag #'nomidi { Note } ... \removeWithTag #'nomidi).
Grüße, Robert
-
Richtig, das Problem mit versteckten Noten und der MIDI-Datei hatte ich auch schon. Man fragt sich dann, warum es so fürchterlich schief klingt, obwohl der Notentext doch korrekt ist.... das hat mich mal beinahe zum Durchdrehen gebracht...
Und ich habe schon wieder die nächste Frage zu Sekunden. Standardmäßig macht LILY es wie unten abgebildet. Ich möchte aber das cis (auf Schlag 2) links neben der Note d haben, so wie das es auf dem ersten Schlag.
Hier mal der Code mit der Version (bevor ich angemeckert werde, weil ich sie nicht genannt habe ;D )
\version "2.12.3"
\score {
<<
\relative c' { d8 e' d, e'}
\\
\relative c'{ es4 cis }
>>
}
Grüße von Mat
-
Gut dann antworte ich mir mal selber - ich habe die Lösung gerade gefunden:
Mit \once \override NoteColumn #'force-hshift = #-1.8 kann man ganz einfach die Note nach rechts (oder links) verschieben.
Diesmal fand ich die Lösung durch KURZES suchen :o
Grüße an alle von Mat
-
Ach ja und FROHE OSTERN (http://www.smileygarden.de/smilie/Ostern/o_1.gif) (http://www.smileygarden.de)
-
Hi Mat!
Diesmal fand ich die Lösung durch KURZES suchen
Siehst du :) Und das innerhalb von weniger als 12 min! Man ist ja nicht ständig am Rechner, um auf Fragen zu lauern ;)
Die force-hshift-Lösung hätte ich dir auch empfohlen.
Hier mal der Code mit der Version (bevor ich angemeckert werde, weil ich sie nicht genannt habe ;D)
Vorbildlich! Man hätte lediglich meckern können, dass ein zweites Problem in demselben Thread angeschlossen wird, statt einen neuen zu starten – ausnahmsweise liegen beide Konstellationen aber derart nah beieinander, dass man eine Ergänzung erkennen kann.
Standardmäßig macht LILY es wie unten abgebildet. Ich möchte aber das cis (auf Schlag 2) links neben der Note d haben, so wie das es auf dem ersten Schlag.
Das entspricht dem nüchternen Verfahren, wenn verhalste Notenköpfe im Sekundabstand aufeinandertreffen. An dieser Stelle müssen wir manuell eingreifen.
Mit \once \override NoteColumn #'force-hshift = #-1.8 kann man ganz einfach die Note nach rechts (oder links) verschieben.
Achtung: ganz so einfach ist es nur – wie gerade in diesem Fall –, wenn eine Kollision bereits vorliegt! Ich hatte mich auch schon von der „force-hshift-Power“ auf’s Glatteis führen lassen; zur horizontalen Verschiebung einzelner Noten siehe Ganzen Ton Bewegen (https://liarchiv.joonet.de/index.php?topic=580.0) aus dem Forum.
[…] das Problem mit versteckten Noten und der MIDI-Datei hatte ich auch schon. Man fragt sich dann, warum es so fürchterlich schief klingt, obwohl der Notentext doch korrekt ist.... das hat mich mal beinahe zum Durchdrehen gebracht...
Irgendwann ist immer das erste Mal ;D Ging mir ähnlich. Deswegen auch mein ernst- und wohlgemeinter Rat diesbezüglich: Layoutkontrolle durch versteckte, kollidierende Stimmen ist kein Standardwerkzeug! Es mag in einigen Situationen der einzige Ausweg sein, aber erst nachdem man an den üblichen Schrauben gedreht hat und im Hinterkopf behält, dass man die Veränderung durch Einfügen von „Fremdnoten“ erreicht hat. Sobald ich hideNotes einsetze, färbe ich die versteckten Noten rot (wenigstens farbig) ein, um die Auswirkung besser nachvollziehen zu können (wenn ich sie für diesen Zweck kurzzeitig sichtbar mache).
Frohe Ostern,
Robert
-
Layoutkontrolle durch versteckte, kollidierende Stimmen ist kein Standardwerkzeug!
Hi Rob,
da hast du Recht - das sollte man sich hinter die Löffel schreiben. (http://www.smileygarden.de/smilie/Ostern/ostern_80.gif) (http://www.smileygarden.de)
Ich gebe zu, dass ich den Fehler am Anfang oft gemacht habe, bis "plötzlich" die MIDI und Layout-Probleme kamen...
Inzwischen bin ich bei Problem 3 der Sekundakkorde (ich setze gerade ein Stück, wo die Sekunden als Thema immer wieder kehren...). Bei den Halben möchte ich e und f vertauschen. Eine Stem-Ausrichtung beeinflusst den Akkord nicht. Über eine zweite Stimme könnte man lösen, aber das wäre nicht im Sinne der Komposition. Hat jemand eine Idee, vielleicht du Rob? (http://www.smileygarden.de/smilie/Engel/2.gif) (http://www.smileygarden.de)
Grüße von Mat
-
fugenkomponist hat es vorgemacht (https://liarchiv.joonet.de/index.php?topic=657.msg3557#msg3557): <\tweak #'transparent ##t d e f>2
Gruss
-
Ja, aber dann habe ich wieder das Problem mit der unsauberen MIDI-Datei (die ich als Kontrolle brauche)...
Könnte man das transparente d auch in eine versteckte Stimme schreiben und diese Stimme dann nicht als MIDI ausgeben? Geht das?
Grüße von Mat
EDIT: Stopp, dafür habe ich für dieses Beispiel die Lösung gefunden. Ich habe einfach <\tweak #'transparent ##t e e f>2 geschrieben und so in der Ausgabe nur ein doppeltes e.
Danke für die Anregungen!
-
Hallo Mat,
Über eine zweite Stimme könnte man lösen, aber das wäre nicht im Sinne der Komposition.
Es muss ja nicht sichtbar eine zweite Stimme sein: Hals unsichtbar machen und Kopf etwas heranrücken, z.B.:
<< {
\acciaccatura { f'16[ fis] } \stemUp f2 ->
} \\ {
\once \override Stem #'transparent = ##t
\once \override NoteHead #'X-offset = #'-0.4
e2
} >>
Wenn es partout als <...> notiert werden soll, müssen Halslänge und -position ebenfalls angepasst werden, z.B.:
\voiceOne
\acciaccatura { f16[ fis] }
\stemUp
\once \override Stem #'length = #6
\once \override Stem #'Y-offset = #-0.4
< \tweak #'X-offset #1.251178 e \tweak #'X-offset #0 f >2 ->
Dazu gab es auch schon (fast auf den Tag genau vor einem Jahr!) einen Thread in der englischen Liste: Left/right noteheads in chord containing second (http://lists.gnu.org/archive/html/lilypond-user/2009-04/msg00095.html). Möge das eigene Auge urteilen, was besser aussieht …
Könnte man das transparente d auch in eine versteckte Stimme schreiben und diese Stimme dann nicht als MIDI ausgeben? Geht das?
Dürfte klappen. Ich bevorzuge aber tagging; siehe NR 3.3.2 Different editions from one source: Using tags (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Different-editions-from-one-source#Using-tags)
Grüße, Robert
-
Es muss ja nicht sichtbar eine zweite Stimme sein: Hals unsichtbar machen und Kopf etwas heranrücken, z.B.:
Hey Klasse, darauf wäre ich gar nicht gekommen.... eigentlich ganz einfach....
Danke!