| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Extending the templates
Sie haben sich durch die Übung gearbeitet, Sie wissen jetzt, wie Sie Notensatz produzieren, und Sie haben die grundlegenden Konzepte verstanden. Aber wie erhalten Sie genau die Systeme, die Sie brauchen? Es gibt eine ganze Anzahl an fertigen Vorlagen (siehe Předlohy), mit denen Sie beginnen können. Aber was, wenn Sie nicht genau das finden, was Sie brauchen? Lesen Sie weiter.
| 3.4.1 Soprán a violoncello | ||
| 3.4.2 Čtyřhlasý notový zápis SATB | ||
| 3.4.3 Vytvoření notového zápisu od základu | ||
| 3.4.4 Úspora psaní na stroji pomocí proměnných a funkcí | ||
| 3.4.5 Notové zápisy a hlasy |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Soprano and cello
Beginnen Sie mit der Vorlage, die Ihren Vorstellungen am nächsten kommt. Nehmen wir einmal an, Sie wollen ein Stück für Soprán a violoncello schreiben. In diesem Fall könnten Sie mit der Vorlage „Noten und Text“ (für die Sopran-Stimme) beginnen.
\version "2.21.3"
melody = \relative {
\clef "treble"
\key c \major
\time 4/4
a4 b c d
}
text = \lyricmode {
Aaa Bee Cee Dee
}
\score {
<<
\new Voice = "one" {
\autoBeamOff
\melody
}
\new Lyrics \lyricsto "one" \text
>>
\layout { }
\midi { }
}
|
Jetzt wollen wir die Cello-Stimme hinzufügen. Schauen wir uns das Beispiel „Nur Noten“ an:
\version "2.21.3"
melody = \relative {
\clef "treble"
\key c \major
\time 4/4
a4 b c d
}
\score {
\new Staff \melody
\layout { }
\midi { }
}
|
Wir brauchen den \version-Befehl nicht zweimal. Wir
brauchen aber den melody-Abschnitt. Wir wollen
keine zwei \score (Partitur)-Abschnitte – mit zwei
\score-Abschnitten würden wir zwei Stimmen
getrennt voneinander erhalten. In diesem Fall wollen wir
sie aber zusammen, als Duett. Schließlich brauchen wir
innerhalb des \score-Abschnittes nur einmal die
Befehle \layout und \midi.
Wenn wir jetzt einfach zwei melody-Abschnitte in
unsere Datei kopieren würden, hätten wir zwei melody-Variable.
Das würde zu keinem Fehler führen, aber die zweite von ihnen
würde für beide Melodien eingesetzt werden. Wir müssen
ihnen also andere Bezeichnungen zuweisen, um sie voneinander
zu unterscheiden. Nennen wir die Abschnitte also SopranNoten
für den Sopran und CelloNoten für die Cellostimme. Wenn
wir schon dabei sind, können wir textauch nach
SoprText umbenennen. Denken Sie daran, beide
Vorkommen der Bezeichnung zu ändern: einmal die Definition
gleich am Anfang (melody = \relative c' { ) und
dann auch noch die Benutzung der Variable innerhalb des
\score-Abschnittes.
Gleichzeitig können wir auch noch das Notensystem für das Cello ändern – das Cello hat normalerweise einen Bassschlüssel. Wir ändern auch die Noten etwas ab.
\version "2.21.3"
SopranNoten = \relative {
\clef "treble"
\key c \major
\time 4/4
a4 b c d
}
SoprText = \lyricmode {
Aaa Bee Cee Dee
}
CelloNoten = \relative {
\clef "bass"
\key c \major
\time 4/4
d4 g fis8 e d4
}
\score {
<<
\new Voice = "eins" {
\autoBeamOff
\SopranNoten
}
\new Lyrics \lyricsto "eins" \Soprantext
>>
\layout { }
\midi { }
}
|
Das sieht schon vielversprechend aus, aber die Cello-Stimme
erscheint noch nicht im Notensatz – wir haben vergessen,
sie in den \score-Abschnitt einzufügen. Wenn die
Cello-Stimme unterhalb des Soprans erscheinen soll, müssen
wir
\new Staff \CelloNoten |
unter dem Befehl für den Sopran hinzufügen. Wir brauchen auch
die spitzen Klammern (<< und >>) um die
Noten, denn damit wird LilyPond mitgeteilt, dass mehr als
ein Ereignis gleichzeitig stattfindet (in diesem Fall sind es
zwei Staff-Instanzen). Der \score-Abschnitt
sieht jetzt so aus:
\score {
<<
<<
\new Voice = "eins" {
\autoBeamOff
\SopranNoten
}
\new Lyrics \lyricsto "eins" \SoprText
>>
\new Staff \CelloNoten
>>
\layout { }
\midi { }
}
|
Das sieht etwas unschön aus, vor allem die Einrückung stimmt nicht mehr. Das können wir aber schnell in Ordnung bringen. Hier also die gesamte Vorlage für Soprán a violoncello:
\version "2.21.3"sopranoMusic = \relative { \clef "treble" \key c \major \time 4/4 a4 b c d } sopranoLyrics = \lyricmode { Aaa Bee Cee Dee } celloMusic = \relative { \clef "bass" \key c \major \time 4/4 d4 g fis8 e d4 } \score { << << \new Voice = "one" { \autoBeamOff \sopranoMusic } \new Lyrics \lyricsto "one" \sopranoLyrics >> \new Staff \celloMusic >> \layout { } \midi { } }
Die Vorlagen, mit denen wir begonnen haben, können im Anhang „Předlohy“ gefunden werden, siehe Jednotlivá notová osnova.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Four-part SATB vocal score
Die meisten Partituren für vierstimmigen gemischten Chor mit Orchesterbegleitung (wie etwa Mendelssohns Elias oder Händels Messias) sind so aufgebaut, dass für jede der vier Stimmen ein eigenes System besteht und die Orchesterbegleitung dann als Klavierauszug darunter notiert wird. Hier ein Beispiel aus Händels Messias:
Keine der Vorlage bietet diesen Aufbau direkt an. Die Vorlage, die am nächsten daran liegt, ist „SATB-Partitur und automatischer Klavierauszug“, siehe Vokální soubor. Wir müssen diese Vorlage aber so anpassen, dass die Noten für das Klavier nicht automatisch aus dem Chorsatz generiert werden. Die Variablen für die Noten und den Text des Chores sind in Ordnung, wir müssen nun noch Variablen für die Klaviernoten hinzufügen.
Die Reihenfolge, in welcher die Variablen in das Chorsystem
(ChoirStaff) eingefügt werden, entspricht nicht der
in dem Beispiel oben. Wir wollen sie so sortieren, dass die
Texte jeder Stimme direkt unter den Noten notiert werden.
Alle Stimmen sollten als \voiceOne notiert werden,
welches die Standardeinstellung ist; wir können also die
\voiceXXX-Befehle entfernen. Wir müssen auch noch
den Schlüssel für den Tenor ändern. Die Methode, mit der
der Text den Stimmen zugewiesen wird, ist uns noch nicht
bekannt, darum wollen wir sie umändern auf die Weise, die
wir schon kennen. Wir fügen auch noch Instrumentbezeichnungen
zu den Systemen hinzu.
Damit erhalten wir folgenden ChoirStaff:
\new ChoirStaff <<
\new Staff = "sopranos" <<
\set Staff.instrumentName = "Sopran"
\new Voice = "sopranos" {
\global
\sopranoMusic
}
>>
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
\new Staff = "altos" <<
\set Staff.instrumentName = "Alt"
\new Voice = "altos" {
\global
\altoMusic
}
>>
\new Lyrics \lyricsto "altos" {
\altoWords
}
\new Staff = "tenors" <<
\set Staff.instrumentName = "Tenor"
\new Voice = "tenors" {
\global
\tenorMusic
}
>>
\new Lyrics \lyricsto "tenors" {
\tenorWords
}
\new Staff = "basses" <<
\set Staff.instrumentName = "Bass"
\new Voice = "basses" {
\global
\bassMusic
}
>>
\new Lyrics \lyricsto "basses" {
\bassWords
}
>> % end ChoirStaff
|
Als nächstes müssen wir das Klaviersystem bearbeiten. Das ist einfach: wir nehmen einfach den Klavierteil aus der „Piano solo“-Vorlage:
\new PianoStaff << \set PianoStaff.instrumentName = "Piano " \new Staff = "oben" \oben \new Staff = "unten" \unten >> |
und fügen die Variablen oben
und unten hinzu.
Das Chorsystem und das Pianosystem müssen mit spitzen Klammern kombiniert werden, damit beide übereinander erscheinen:
<< % ChoirStaff und PianoStaff parallel kombinieren
\new ChoirStaff <<
\new Staff = "sopranos" <<
\new Voice = "sopranos" {
\global
\sopranoMusic
}
>>
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
\new Staff = "altos" <<
\new Voice = "altos" {
\global
\altoMusic
}
>>
\new Lyrics \lyricsto "altos" {
\altoWords
}
\new Staff = "tenors" <<
\clef "G_8" % tenor clef
\new Voice = "tenors" {
\global
\tenorMusic
}
>>
\new Lyrics \lyricsto "tenors" {
\tenorWords
}
\new Staff = "basses" <<
\clef "bass"
\new Voice = "basses" {
\global
\bassMusic
}
>>
\new Lyrics \lyricsto "basses" {
\bassWords
}
>> % end ChoirStaff
\new PianoStaff <<
\set PianoStaff.instrumentName = "Piano"
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
>>
|
Alles miteinander kombiniert und mit den Noten für drei Takte sieht unser Beispiel nun so aus:
\version "2.21.3"global = { \key d \major \time 4/4 } sopranoMusic = \relative { \clef "treble" r4 d''2 a4 | d4. d8 a2 | cis4 d cis2 | } sopranoWords = \lyricmode { Wor -- thy | is the lamb | that was slain | } altoMusic = \relative { \clef "treble" r4 a'2 a4 | fis4. fis8 a2 | g4 fis fis2 | } altoWords = \sopranoWords tenorMusic = \relative { \clef "G_8" r4 fis'2 e4 | d4. d8 d2 | e4 a, cis2 | } tenorWords = \sopranoWords bassMusic = \relative { \clef "bass" r4 d'2 cis4 | b4. b8 fis2 | e4 d a'2 | } bassWords = \sopranoWords upper = \relative { \clef "treble" \global r4 <a' d fis>2 <a e' a>4 <d fis d'>4. <d fis d'>8 <a d a'>2 <g cis g'>4 <a d fis> <a cis e>2 } lower = \relative { \clef "bass" \global <d, d'>4 <d d'>2 <cis cis'>4 <b b'>4. <b' b'>8 <fis fis'>2 <e e'>4 <d d'> <a' a'>2 } \score { << % combine ChoirStaff and PianoStaff in parallel \new ChoirStaff << \new Staff = "sopranos" << \set Staff.instrumentName = "Soprano" \new Voice = "sopranos" { \global \sopranoMusic } >> \new Lyrics \lyricsto "sopranos" { \sopranoWords } \new Staff = "altos" << \set Staff.instrumentName = "Alto" \new Voice = "altos" { \global \altoMusic } >> \new Lyrics \lyricsto "altos" { \altoWords } \new Staff = "tenors" << \set Staff.instrumentName = "Tenor" \new Voice = "tenors" { \global \tenorMusic } >> \new Lyrics \lyricsto "tenors" { \tenorWords } \new Staff = "basses" << \set Staff.instrumentName = "Bass" \new Voice = "basses" { \global \bassMusic } >> \new Lyrics \lyricsto "basses" { \bassWords } >> % end ChoirStaff \new PianoStaff << \set PianoStaff.instrumentName = "Piano " \new Staff = "upper" \upper \new Staff = "lower" \lower >> >> }
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Building a score from scratch
Wenn Sie einige Fertigkeit im Schreiben von LilyPond-Code gewonnen haben, werden Sie vielleicht feststellen, dass es manchmal einfacher ist, von Grund auf anzufangen, anstatt die fertigen Vorlagen zu verändern. Auf diese Art könne Sie auch Ihren eigenen Stil entwickeln, und ihn der Musik anpassen, die Sie notieren wollen. Als Beispiel wollen wir demonstrieren, wie man die Partitur für ein Orgelpreludium von Grund auf konstruiert.
Beginnen wir mit dem Kopf, dem header-Abschnitt.
Hier notieren wir den Titel, den Namen des Komponisten usw.
Danach schreiben wir die einzelnen Variablen auf und
schließlich am Ende die eigentliche Partitur, den
\score-Abschnitt. Beginnen wir mit einer groben
Struktur, in die wir dann die Einzelheiten nach und nach
eintragen.
Als Beispiel benutzen wir zwei Takte aus dem Orgelpreludium Jesu, meine Freude von J. S. Bach, notiert für zwei Manuale und Pedal. Sie können die Noten am Ende dieses Abschnittes sehen. Das obere Manual trägt zwei Stimmen, das untere und das Pedalsystem jeweils nur eine. Wir brauchen also vier Variablen für die Noten und eine, um Taktart und Tonart zu definieren.
\version "2.21.3"
\header {
title = "Jesu, meine Freude"
composer = "J. S. Bach"
}
keyTime = { \key c \minor \time 4/4 }
ManualOneVoiceOneMusic = { s1 }
ManualOneVoiceTwoMusic = { s1 }
ManualTwoMusic = { s1 }
PedalOrganMusic = { s1 }
\score {
}
|
Im Moment haben wir eine unsichtbare
Note in jede Stimme eingesetzt (s1).
Die Noten werden später hinzugefügt.
Als nächstes schauen wir uns an, was in die
Partitur (die \score-Umgebung)
kommt. Dazu wird einfach die Notensystemstruktur
konstruiert, die wir benötigen. Orgelmusik
wird meistens auf drei Systemen notiert, eins
für jedes Manual und ein drittes für die Pedalnoten.
Die Systeme für die Manuale werden mit einer
geschweiften Klammer verbunden, wir
benutzen hier also ein PianoStaff.
Das erste Manualsystem braucht zwei Stimmen,
das zweite nur eine.
\new PianoStaff <<
\new Staff = "ManualOne" <<
\new Voice {
\ManualOneVoiceOneMusic
}
\new Voice {
\ManualOneVoiceTwoMusic
}
>> % Ende ManualOne Systemkontext
\new Staff = "ManualTwo" <<
\new Voice {
\ManualTwoMusic
}
>> % Ende ManualTwo Systemkontext
>> % Ende PianoStaff Kontext
|
Als nächstes soll das System für das Pedal hinzugefügt werden. Es soll unter das Klaviersystem gesetzt werden, aber muss gleichzeitig mit ihm erscheinen. Wir brauchen also spitze Klammern um beide Definitionen. Sie wegzulassen würde eine Fehlermeldung in der Log-Datei hervorrufen. Das ist ein sehr häufiger Fehler, der wohl auch Ihnen früher oder später unterläuft. Sie können das fertige Beispiel am Ende des Abschnittes kopieren und die Klammern entfernen, um zu sehen, wie die Fehlermeldung aussehen kann, die Sie in solch einem Fall erhalten würden.
<< % PianoStaff and Pedal Staff must be simultaneous
\new PianoStaff <<
\new Staff = "ManualOne" <<
\new Voice {
\ManualOneVoiceOneMusic
}
\new Voice {
\ManualOneVoiceTwoMusic
}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" <<
\new Voice {
\ManualTwoMusic
}
>> % end ManualTwo Staff context
>> % end PianoStaff context
\new Staff = "PedalOrgan" <<
\new Voice {
\PedalOrganMusic
}
>>
>>
|
Es ist nicht notwendig, die simultane Konstruktion
<< .. >> innerhalb des zweiten Manualsystems
und des Pedalsystems zu benutzen, denn sie enthalten
nur eine Stimme. Andererseits schadet es nichts, sie
zu schreiben, und es ist eine gute Angewohnheit, immer
die spitzen Klammern nach einem \new Staff zu
schreiben, wenn mehr als eine Stimme vorkommen könnten.
Für Stimmen (Voice) dagegen gilt genau das
Gegenteil: eine neue Stimme sollte immer von
geschweiften Klammern ({ .. }) gefolgt
werden, falls Sie ihre Noten in mehrere Variable aufteilen,
die nacheinander gesetzt werden sollen.
Fügen wir also diese Struktur zu der \score-Umgebung
hinzu und bringen wir die Einzüge in Ordnung. Gleichzeitig
wollen wir die richtigen Schlüssel setzen und die Richtung der
Hälse und Bögen in den Stimmen des oberen Systems
kontrollieren, indem die obere Stimme ein
\voiceOne, die untere dagegen ein \voiceTwo
erhält. Die Taktart und Tonart werden mit unserer fertigen
Variable \keyTime eingefügt.
\score {
<< % PianoStaff and Pedal Staff must be simultaneous
\new PianoStaff <<
\new Staff = "ManualOne" <<
\keyTime % set time signature and key
\clef "treble"
\new Voice {
\voiceOne
\ManualOneVoiceOneMusic
}
\new Voice {
\voiceTwo
\ManualOneVoiceTwoMusic
}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" <<
\keyTime
\clef "bass"
\new Voice {
\ManualTwoMusic
}
>> % end ManualTwo Staff context
>> % end PianoStaff context
\new Staff = "PedalOrgan" <<
\keyTime
\clef "bass"
\new Voice {
\PedalOrganMusic
}
>> % end PedalOrgan Staff
>>
} % end Score context
|
Das Layout des Orgelsystems oben ist fast perfekt, es hat jedoch einen kleinen
Fehler, den man nicht bemerken kann, wenn man nur ein einzelnes System
betrachtet: Der Abstand des Pedalsystems zum System der linken Hand
sollte in etwa der gleiche sein wie der Abstand zwischen den Systemen
der linken und rechten Hand. Die Dehnbarkeit von Systemen in einem
Klaviersystem (PianoStaff)-Kontext ist beschränkt (sodass der
Abstand zwischen den Systemen der linken und rechten Hand nicht zu groß
wird), und das Pedalsystem sollte sich genauso verhalten.
Die Spreizbarkeit von Systemen kann mit der staff-staff-spacing-Eigenschaft
des VerticalAxisGroup-„graphischen Objekts“ (üblicherweise als
„Grob“ innerhalb der LilyPond-Dokumentation bezeichnet) kontrolliert
werden. An dieser Stelle brauchen Sie sich um die Details nicht zu
sorgen, sie werden später erklärt. Sehr Neugierige können sich den
Abschnitt
(notation)Grundlagen zum Verändern von Eigenschaften section ‘Grundlagen zum Verändern von Eigenschaften’ in Doporučení pro notový zápis anschauen. Im Moment
kann man nicht nur die strechability (Spreizbarkeit)-Untereigenschaft verändern,
darum müssen hier auch die anderen Untereigenschaften kopiert werden. Die
Standardeinstellungen dieser Untereigenschaften finden sich in der Datei
‘scm/define-grobs.scm’ in den Definitionen für den
VerticalAxisGroup-Grob. Der Wert für strechability wird aus
der Definition für das Klaviersystem (PianoStaff) entnommen
(in der Datei ‘ly/engraver-init.ly’), damit die Werte identisch
sind.
\score {
<< % PianoStaff and Pedal Staff must be simultaneous
\new PianoStaff <<
\new Staff = "ManualOne" <<
\keyTime % set key and time signature
\clef "treble"
\new Voice {
\voiceOne
\ManualOneVoiceOneMusic
}
\new Voice {
\voiceTwo
\ManualOneVoiceTwoMusic
}
>> % end ManualOne Staff context
\new Staff = "ManualTwo" \with {
\override VerticalAxisGroup.staff-staff-spacing.stretchability = 5
} <<
\keyTime
\clef "bass"
\new Voice {
\ManualTwoMusic
}
>> % end ManualTwo Staff context
>> % end PianoStaff context
\new Staff = "PedalOrgan" <<
\keyTime
\clef "bass"
\new Voice {
\PedalOrganMusic
}
>> % end PedalOrgan Staff
>>
} % end Score context
|
Damit ist das Grundgerüst fertig. Jede Orgelmusik mit drei Systemen hat die gleiche Struktur, auch wenn die Anzahl der Stimmen in einem System sich ändern kann. Jetzt müssen wir nur noch die Noten einfügen und alle Teile zusammenfügen, indem wir die Variablen mit einem Backslash in die Partitur einbauen.
\version "2.21.3"\header { title = "Jesu, meine Freude" composer = "J S Bach" } keyTime = { \key c \minor \time 4/4 } ManualOneVoiceOneMusic = \relative { g'4 g f ees | d2 c2 | } ManualOneVoiceTwoMusic = \relative { ees'16 d ees8~ 16 f ees d c8 d~ d c~ | 8 c4 b8 c8. g16 c b c d | } ManualTwoMusic = \relative { c'16 b c8~ 16 b c g a8 g~ 16 g aes ees | f16 ees f d g aes g f ees d e8~ 8es16 f ees d | } PedalOrganMusic = \relative { r8 c16 d ees d ees8~ 16 a, b g c b c8 | r16 g ees f g f g8 c,2 | } \score { << % PianoStaff and Pedal Staff must be simultaneous \new PianoStaff << \new Staff = "ManualOne" << \keyTime % set time signature and key \clef "treble" \new Voice { \voiceOne \ManualOneVoiceOneMusic } \new Voice { \voiceTwo \ManualOneVoiceTwoMusic } >> % end ManualOne Staff context \new Staff = "ManualTwo" \with { \override VerticalAxisGroup.staff-staff-spacing.stretchability = 5 } << \keyTime \clef "bass" \new Voice { \ManualTwoMusic } >> % end ManualTwo Staff context >> % end PianoStaff context \new Staff = "PedalOrgan" << \keyTime \clef "bass" \new Voice { \PedalOrganMusic } >> % end PedalOrgan Staff context >> } % end Score context
Glossar: (music-glossary)system section ‘system’ in Slovníček.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Saving typing with variables and functions
Bis jetzt wurde immer derartige Notation vorgestellt:
hornNotes = \relative { c''4 b dis c } \score { { \hornNotes } }
Sie können sich vorstellen, dass das etwa für minimalistische Musik sehr nützlich sein könnte:
fragmentA = \relative { a'4 a8. b16 } fragmentB = \relative { a'8. gis16 ees4 } violin = \new Staff { \fragmentA \fragmentA | \fragmentB \fragmentA | } \score { { \violin } }
Diese Variablen (die man auch als Makros oder Benutzer-Befehl bezeichnet) können jedoch auch für eigene Anpassungen eingesetzt werden:
dolce = \markup { \italic \bold dolce } padText = { \once \override TextScript.padding = #5.0 } fthenp=_\markup { \dynamic f \italic \small { 2nd } \hspace #0.1 dynamic p } violin = \relative { \repeat volta 2 { c''4._\dolce b8 a8 g a b \padText c4.^"hi there!" d8 e' f g d c,4.\fthenp b8 c4 c-. } } \score { { \violin } \layout{ragged-right=##t} }
Derartige Variablen sind offensichtlich sehr nützlich, zu Tipparbeit zu ersparen. Aber es lohnt sich schon, sie zu benutzen, wenn man sie nur einmal benutzen will, denn sie vereinfachen die Struktur einer Datei sehr stark. Hier das vorige Beispiel ohne jede Benutzung von Variablen. Es ist sehr viel schwerer lesbar, besonders die letzte Zeile.
violin = \relative {
\repeat volta 2 {
c''4._\markup { \italic \bold dolce } b8 a8 g a b
\once \override TextScript.padding = #5.0
c4.^"hi there!" d8 e' f g d
c,4.\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
b8 c4 c-. |
}
}
|
Bisher haben wir vor allem statische Ersetzungen betrachtet:
wenn LilyPond etwa \padText sieht, wird es ersetzt mit
all dem Code, mit dem wir es definiert haben (also alles,
was sich rechts von padtext= befindet).
LilyPond kann auch nicht-statische Ersetzungen bewältigen. Man kann sie sich als Funktionen vorstellen.
padText = #(define-music-function (padding) (number?) #{ \once \override TextScript.padding = $padding #}) \relative { c'''4^"piu mosso" b a b | \padText #1.8 c4^"piu mosso" d e f | \padText #2.6 c4^"piu mosso" fis a g | }
Die Benutzung von Variablen ist auch eine gute Möglichkeit,
Arbeit zu vermeiden, wenn sich einmal die Syntax von LilyPond
ändern sollte (siehe auch
with convert-ly
(usage)Updating old input files with convert-ly section ‘Updating old input files with convert-ly’ in Používání programu).
Wenn man eine einzige Definition hat (wie etwa \dolce),
die für alle Vorkommen in der Notation eingesetzt wird, muss
man auch nur einmal diese Definition aktualisieren, anstatt
dass man sie in jeder ‘.ly’-Datei einzeln ändern müsste.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
@translationof Scores and parts
In Orchestermusik werden alle Noten zweimal gedruckt. Einmal in einer Stimme für die Spieler, und einmal ein der Partitur für den Dirigenten. Variablen können benutzen, um sich doppelte Arbeit zu ersparen. Die Noten werden nur einmal eingegeben und in einer Variable abgelegt. Der Inhalt der Variable wird dann benutzt um sowohl die Stimme als auch die Partitur zu erstellen.
Es bietet sich an, die Noten in einer extra Datei abzulegen. Nehmen wir an, dass die Datei ‘horn-music.ly’ folgende Noten eines Horn/Fagott-Duos enthält:
hornNotes = \relative {
\time 2/4
r4 f8 a | cis4 f | e4 d |
}
|
Eine Stimme wird also erstellt, indem man folgendes in eine Datei schreibt:
\include "horn-music.ly"
\header {
instrument = "Horn in F"
}
{
\transpose f c' \hornNotes
}
|
Die Zeile
\include "horn-music.ly" |
ersetzt den Inhalt von ‘horn-music.ly’ an dieser Position
in der Datei, sodass hornNotes im Folgenden definiert
ist. Der Befehl \transpose f c' zeigt an, dass
das Argument (\hornNotes) eine Quinte nach oben transponiert
werden soll. Klingendes f wird als c', wie es
die Stimmung eines normalen F-Hornes verlangt. Die Transposition
kann in folgender Notenausgabe gesehen werden:
In Ensemblestücken sind manche Stimmen für viele Takte stumm.
Das wird durch eine besondere Pause notiert, die Mehrtaktpause.
Sie wird mit einem großen R notiert, gefolgt von der
Dauer (1 für eine Ganze, 2 für eine Halbe usw.). Indem man die Dauern multipliziert, kann man auch
längere Dauern erzeugen. Diese Pause etwa dauert drei Takte
in einem 2/4-Takt:
R2*3 |
Wenn die Stimme gesetzt wird, werden Mehrtaktpausen komprimiert. Das geschieht, indem man folgendes in die Datei schreibt:
\set Score.skipBars = ##t |
Dieser Befehl setzt die Eigenschaft skipBars im
Score-Kontext auf wahr (##t). Die Pause und diese Option zu der Musik von oben hinzugefügt, ergibt folgendes
Beispiel:
Die Partitur wird erstellt, indem man alle Noten kombiniert.
Angenommen, die andere Stimme ist in bassoonNotes
in der Datei ‘bassoon-music.ly’ definiert, würde eine
Partitur erstellt mit:
\include "bassoon-music.ly" \include "horn-music.ly" << \new Staff \hornNotes \new Staff \bassoonNotes >> |
woraus sich ergibt:
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by gub on July 13, 2020 using texi2html 1.82.
Jiné jazyky: English, català, deutsch, español, français, magyar, italiano, 日本語, nederlands.
O automatickém výběru řeči.