[Anfang][Inhalt][Index][ ? ] |
LilyPond – Notationsreferenz
Dieses Handbuch stellt eine Referenz aller Notationsformen zur Verfügung, die mit LilyPond Version 2.13.27 erstellt werden können. Es wird vorausgesetzt, dass der Leser mit dem Handbuch zum Lernen vertraut ist. |
1. Musikalische Notation | Allgemeine Notation, die fast immer vorkommt. | |
2. Spezielle Notation | Notation, die nur für spezielle Zwecke eingesetzt wird. | |
3. Allgemeine Eingabe und Ausgabe | Allgemeine Information über die Quelldateien von LilyPond. | |
4. Abstände | Anzeige der Ausgabe auf dem Papier. | |
5. Standardeinstellungen verändern | Das Notenbild verfeinern. | |
Anhänge | ||
---|---|---|
A. Notationsübersicht | Tabellen und Grafiken. | |
B. Befehlsübersicht | Überblick über die LilyPond-Syntax. | |
C. LilyPond-Grammatik | Syntaxdiagramm für LilyPond | |
D. GNU Free Documentation License | Die Lizenz dieses Handbuchs. | |
E. Index der LilyPond-Befehle | ||
F. LilyPond-Index |
Zu mehr Information, wie dieses Handbuch unter den anderen Handbüchern positioniert, oder um dieses Handbuch in einem anderen Format zu lesen, besuchen Sie bitte Manuals. Wenn Ihnen Handbücher fehlen, finden Sie die gesamte Dokumentation unter http://www.lilypond.org/. |
[ << Top ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Top ] | [ Nach oben : Top ] | [ Tonhöhen > ] |
1. Musikalische Notation
Dieses Kapitel erklärt, wie die Notation von Musik erstellt wird.
1.1 Tonhöhen | Tonhöhen von Noten notieren und darstellen. | |
1.2 Rhythmus | Tondauern von Noten notieren und darstellen. | |
1.3 Ausdrucksbezeichnungen | Vortragsbezeichnungen zu Noten hinzufügen. | |
1.4 Wiederholungszeichen | Noten wiederholen. | |
1.5 Gleichzeitig erscheinende Noten | Mehr als eine Note gleichzeitig. | |
1.6 Notation auf Systemen | Notensysteme darstellen. | |
1.7 Anmerkungen | Besondere Notation, um die Lesbarkeit zu verbessern. | |
1.8 Text | Text zur Partitur hinzufügen. |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Musikalische Notation ] | [ Nach oben : Musikalische Notation ] | [ Tonhöhen setzen > ] |
1.1 Tonhöhen
Dieser Abschnitt zeigt, wie man die Tonhöhe notieren kann. Es gibt drei Stufen in diesem Prozess: Eingabe, Veränderung und Ausgabe.
1.1.1 Tonhöhen setzen | ||
1.1.2 Viele Tonhöhen gleichzeitig verändern | ||
1.1.3 Tonhöhen anzeigen lassen | ||
1.1.4 Notenköpfe |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tonhöhen ] | [ Nach oben : Tonhöhen ] | [ Absolute Oktavenbezeichnung > ] |
1.1.1 Tonhöhen setzen
Dieser Abschnitt zeigt, wie man Tonhöhen notiert. Es gibt zwei verschiedene Möglichkeiten, Noten in bestimmten Oktaven zu notieren: den absoluten und den relativen Modus. In den meisten Fällen eignet sich der relative Modus besser.
Absolute Oktavenbezeichnung | ||
Relative Oktavenbezeichnung | ||
Versetzungszeichen | ||
Notenbezeichnungen in anderen Sprachen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tonhöhen setzen ] | [ Nach oben : Tonhöhen setzen ] | [ Relative Oktavenbezeichnung > ] |
Absolute Oktavenbezeichnung
Tonhöhenbezeichnungen werden durch Kleinbuchstaben
von a
bis g
angegeben. Dabei
wird ein aus dem Englischen entlehntes Modell benutzt, das sich
vom Deutschen dadurch unterscheidet, dass b
für die Note „H“ steht. Die Benutzung deutscher
Notenbezeichnungen mit der Unterscheidung von b und h ist
auch möglich, siehe Notenbezeichnungen in anderen Sprachen.
Die Notenbezeichnungen c
bis b
werden in der Oktave unter dem zweigestrichenen C
gesetzt.
\clef bass c d e f g a b c d e f g
Andere Oktaven können erreicht werden, indem man ein
Apostroph ('
) oder ein Komma (,
)
benutzt. Jedes '
erhöht die Tonhöhe um
eine Oktave, jedes ,
erniedrigt sie um eine
Oktave.
\clef treble c' c'' e' g d'' d' d c \clef bass c, c,, e, g d,, d, d c
Siehe auch
Glossar: Pitch names.
Schnipsel: Pitches.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Absolute Oktavenbezeichnung ] | [ Nach oben : Tonhöhen setzen ] | [ Versetzungszeichen > ] |
Relative Oktavenbezeichnung
Wenn Oktaven im absoluten Modus notiert, passiert es schnell, eine Note auf der falschen Oktave zu notieren. Mit dem relativen Modus kommen solche Fehler seltener vor, weil man die Oktave nur noch sehr selten spezifizieren muss. Hinzu kommt, dass im absoluten Modus ein einzelner Fehler schwer zu finden ist, während er im relativen Modus den ganzen Rest des Stückes um eine Oktave verschiebt.
\relative Anfangstonhöhe musikalischer Ausdruck
Im relativen Modus wird angenommen, dass sich jede folgende Note so dicht wie möglich bei der nächsten befindet. Das bedeutet, dass die Oktave jeder Tonhöhe innerhalb eines musikalischen Ausdrucks wie folgt errechnet wird:
- Wenn kein Oktavänderungszeichen an einer Tonhöhe benutzt wird, wird ihre Oktave so errechnet, dass das Intervall zur vorigen Noten weniger als eine Quinte ist. Das Intervall wird errechnet, ohne Versetzungszeichen zu berücksichtigen.
-
Ein Oktavänderungszeichen
'
oder,
kann hinzugefügt werden, um eine Tonhöhe explizit um eine Oktave zu erhöhen bzw. zu erniedrigen, relativ zu der Tonhöhe, die ohne das Oktavänderungszeichen errechnet wurde. -
Mehrfache Oktavänderungszeichen können benutzt werden. Die
Zeichen
''
und,,
ändern zum Beispiel die Tonhöhe um zwei Oktaven. -
Die Tonhöhe der ersten Note ist relativ zu
Anfangstonhöhe
. Die Anfangstonhöhe wird im absoluten Modus gesetzt, und als Empfehlung gilt, eine Oktave von C zu nehmen.
So funktioniert der relative Modus:
\relative c { \clef bass c d e f g a b c d e f g }
Oktavversetzungen müssen für alle Intervalle angezeigt werden, die größer als eine Quarte sind.
\relative c'' { c g c f, c' a, e'' c }
Eine Sequenz ohne ein einziges Oktavänderungszeichen kann aber trotzdem weite Intervalle umfassen:
\relative c { c f b e a d g c }
Wenn \relative
-Umgebungen geschachtelt werden, gilt
der innerste \relative
-Abschnitt.
\relative c' { c d e f \relative c'' { c d e f } }
\relative
hat keine Auswirkung auf \chordmode
-Abschnitte.
\new Staff { \relative c''' { \chordmode { c1 } } \chordmode { c1 } }
\relative
darf nicht innerhalb von \chordmode
notiert werden.
Tonhöhen innerhalb eines \transpose
-Abschnitts sind absolut,
es sei denn ein \relativ
wird eingefügt.
\relative c' { d e \transpose f g { d e \relative c' { d e } } }
Wenn der vorherige Ausdruck ein Akkord ist, wird die erste Note
des Akkordes benutzt, um die erste Note des nächsten Akkordes zu
bestimmen. Innerhalb von Akkorden ist die nächste Note immer
relativ zur vorherigen. Betrachten Sie das folgende Beispiel
aufmerksam, insbesondere die c
-Noten.
\relative c' { c <c e g> <c' e g'> <c, e, g''> }
Wie oben erklärt wurde, wird die Oktave einer Tonhöhe nur
nach ihrer Notenbezeichnung errechnet, unabhängig von allen
Versetzungszeichen. Darum wird ein Eisis auf ein H (notiert als b
)
folgend höher gesetzt, während ein Feses tiefer gesetzt wird.
Anders gesagt wird eine doppelterhöhte Quarte wird als
kleineres Intervall angesehen als eine doppelterniedrigte
Quinte, unabhängig von der Anzahl an Halbtönen, die jedes
Intervall enthält.
\relative c'' { c2 fis c2 ges b2 eisis b2 feses }
Siehe auch
Musikgossar: fifth, interval, Pitch names.
Notationsreferenz: Oktavenüberprüfung.
Schnipsel: Pitches.
Referenz der Interna: RelativeOctaveMusic.
Bekannte Probleme und Warnungen
Wenn keine Anfangstonhöhe für \relative
angegeben
wird, wird c'
angenommen. Das ist aber eine
veraltete Option, die in späteren Programmversionen verschwinden kann.
Darum wird von der Benutzung abgeraten.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Relative Oktavenbezeichnung ] | [ Nach oben : Tonhöhen setzen ] | [ Notenbezeichnungen in anderen Sprachen > ] |
Versetzungszeichen
Achtung: Neue Benutzer sind manchmal verwirrt, wie
Versetzungszeichen und Vorzeichen/Tonarten funktionieren.
In LilyPond sind Notenbezeichnungen die wirkliche
Tonhöhe, erst durch Vorzeichen wird bestimmt, wie diese
Tonhöhe dann im Notenbild dargestellt wird. Eine
einfache Tonhöhe wie etwa c
bedeutet also
immer das eingestrichene C ohne Versetzungszeichen, egal
was für Vorzeichen/Tonart oder Schlüssel gesetzt sind.
Mehr Information dazu in
Versetzungszeichen und Tonartbezeichnung (Vorzeichen).
Ein Kreuz wird eingegeben, indem man -is
an die
Notenbezeichnung hängt, ein b durch -es
. Doppelkreuze
und Doppel-Bs werden durch Hinzufügen von -isis
und
-eses
hinter die Notenbezeichnung erzeugt. Diese
Syntax leitet sich von den holländischen Notenbezeichnungen
ab. Um andere Bezeichnungen für Versetzungszeichen zu
benutzung, siehe Notenbezeichnungen in anderen Sprachen.
ais1 aes aisis aeses
Auch die deutschen Varianten as
für aes
und
es
für ees
sind erlaubt. Im Unterschied zum
Deutschen ist aber bes
die einzige Version für den Ton
B, während his als bis
geschrieben werden muss. Das kann
aber auch verändert werden, siehe Notenbezeichnungen in anderen Sprachen.
a4 aes a2
Ein Auflösungszeichen macht die Wirkung eines Kreuzes oder Bs rückgängig. Diese Auflösungszeichen werden jedoch nicht als Suffix einer Tonhöhenbezeichnung eingegeben, sondern sie ergeben sich (automatisch) aus dem Kontext, wenn die nicht alterierte Notenbezeichnung eingegeben wird.
a4 aes a2
Versetzungszeichen für Vierteltöne werden durch Anhängen der Endungen
-eh
(Erniedrigung) und -ih
(Erhöhung) an den
Tonhöhenbuchstaben erstellt. Das Beispiel zeigt eine in Vierteltönen
aufsteigende Serie vom eingestrichenen C.
ceseh1 ces ceh c cih cis cisih
Normalerweise werden Versetzungszeichen automatisch gesetzt, aber
sie können auch manuell hinzugefügt werden. Ein erinnerndes
Versetzungszeichen kann erzwungen werden, indem man ein Ausrufungszeichen
(!
) hinter die Notenbezeichnung schreibt. Ein warnendes
Versetzungszeichen (also ein Vorzeichen in Klammern) wird durch Anfügen
eines Fragezeichens (?
) erstellt. Mit diesen zusätzlichen
Zeichen kann man sich auch Auflösungszeichen ausgeben lassen.
cis cis cis! cis? c c? c! c
Versetzungzeichen von übergebundenen Noten werden nur dann gesetzt, wenn ein neues System begonnen wird:
cis1 ~ cis ~ \break cis
Ausgewählte Schnipsel
Verhindern, dass zusätzliche Auflösungszeichen automatisch hinzugefügt werden
Den tranditionellen Notensatzregeln zufolge wird ein
Auflösungszeichen immer dann vor einem Kreuz oder B gesetzt, wenn
ein vorheriges Versetzungszeichen der gleichen Note aufgehoben werden
soll. Um dieses Verhalten zu ändern, muss die Eigenschaft
extraNatural
im Staff
-Kontext auf "false" gesetzt werden.
\relative c'' { aeses4 aes ais a \set Staff.extraNatural = ##f aeses4 aes ais a }
Makam-Beispiel
Makam ist eine türkische Melodie, in der 1/9-Tonabstände
eingesetzt werden. Sehen Sie sich die Initialisierungsdatei
makam.ly
für weiter Information zu Tonhöhenbezeichnungen
und Alterationen an (siehe
Handbuch zum Lernen 2.13.27, 4.6.3 Weitere Information zu
Hinweisen, wo diese Datei gespeichert ist).
% Initialize makam settings \include "makam.ly" \relative c' { \set Staff.keySignature = #`((6 . ,(- KOMA)) (3 . ,BAKIYE)) c4 cc db fk gbm4 gfc gfb efk fk4 db cc c }
Siehe auch
Glossar: sharp, flat, double sharp, double flat, Pitch names, quarter tone.
Handbuch zum Lernen: Versetzungszeichen und Tonartbezeichnung (Vorzeichen).
Notationsreferenz: Automatische Versetzungszeichen, Vorgeschlagene Versetzungszeichen (musica ficta), Notenbezeichnungen in anderen Sprachen.
Schnipsel: Pitches.
Referenz der Interna: Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface.
Bekannte Probleme und Warnungen
Es gibt keine allgemeinen Regeln für die Notation von Vierteltönen, die Symbole von LilyPond folgen also keinem Standard.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Versetzungszeichen ] | [ Nach oben : Tonhöhen setzen ] | [ Viele Tonhöhen gleichzeitig verändern > ] |
Notenbezeichnungen in anderen Sprachen
Es gibt vordefinierte Bezeichnungen für die Notenbezeichnungen in anderen
Sprachen als Englisch. Um sie zu benutzen, muss nur die
entsprechende Datei für die jeweilige Sprache eingefügt werden.
Zum Beispiel fügt man mit \include "deutsch.ly"
die
Notendefinitionen für die deutsche Sprache am Anfang der Datei
hinzu
Achtung: Weil in einigen include
-Dateien (wie
beispielsweise predefined-fretboards.ly
) die niederländischen
(Standard-)Notenbezeichnungen benutzt werden, muss der
\include
-Befehl für die Sprachdatei nach allen
anderen LilyPond-eigenen Dateien gesetzt werden.
In der Tabelle sind die existierenden Sprachdefinitionen mit den dazugehörigen Notenbezeichnungen dargestellt.
Sprachdatei
Notenbezeichnung
‘nederlands.ly’
c d e f g a bes b
‘arabic.ly’
do re mi fa sol la sib si
‘catalan.ly’
do re mi fa sol la sib si
‘deutsch.ly’
c d e f g a b h
‘english.ly’
c d e f g a bf b
‘espanol.ly’
do re mi fa sol la sib si
‘italiano.ly’
do re mi fa sol la sib si
‘norsk.ly’
c d e f g a b h
‘portugues.ly’
do re mi fa sol la sib si
‘suomi.ly’
c d e f g a b h
‘svenska.ly’
c d e f g a b h
‘vlaams.ly’
do re mi fa sol la sib si
und die dazugehörigen Versetzungszeichen-Endungen:
Sprachdatei
Kreuz
B
Doppelkreuz
Doppel-B
‘nederlands.ly’
-is
-es
-isis
-eses
‘arabic.ly’
-d
-b
-dd
-bb
‘catalan.ly’
-d/-s
-b
-dd/-ss
-bb
‘deutsch.ly’
-is
-es
-isis
-eses
‘english.ly’
-s/-sharp
-f/-flat
-ss/-x/-sharpsharp
-ff/-flatflat
‘espanol.ly’
-s
-b
-ss
-bb
‘italiano.ly’
-d
-b
-dd
-bb
‘norsk.ly’
-iss/-is
-ess/-es
-ississ/-isis
-essess/-eses
‘portugues.ly’
-s
-b
-ss
-bb
‘suomi.ly’
-is
-es
-isis
-eses
‘svenska.ly’
-iss
-ess
-ississ
-essess
‘vlaams.ly’
-k
-b
-kk
-bb
Auf Holländisch, Deutsch, Norwegisch und Schwedisch (u. a.) werden die
Erniedrigungen von ‚a‘ wie aes
und aeses
zu
as
und ases
(oder auch asas
) zusammengezogen.
In manchen Sprachen sind nur diese Kurzformen definiert.
a2 as e es a ases e eses
Bestimmte Musik verwendet Alterationen, die Bruchteile von den „normalen“ Kreuzen oder Bs sind. Die Notenbezeichnungen für Vierteltöne für die verschiedenen Sprachen sind in der folgenden Tabelle aufgeführt. Die Präfixe „Semi-“ und „Sesqui-“ bedeuten „halb“ bzw. „eineinhalb“. Für alle anderen Sprachen sind noch keine eigenen Namen definiert.
Sprachdatei
Vierteltonkreuz
Viertelton-B
3/4-tonkreuz
3/4-ton-B
‘nederlands.ly’
-ih
-eh
-isih
-eseh
‘arabic.ly’
-sd
-sb
-dsd
-bsb
‘deutsch.ly’
-ih
-eh
-isih
-eseh
‘english.ly’
-qs
-qf
-tqs
-tqf
‘italiano.ly’
-sd
-sb
-dsd
-bsb
‘portugues.ly’
-sqt
-bqt
-stqt
-btqt
Siehe auch
Glossar: Pitch names.
Schnipsel: Pitches.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Notenbezeichnungen in anderen Sprachen ] | [ Nach oben : Tonhöhen ] | [ Oktavenüberprüfung > ] |
1.1.2 Viele Tonhöhen gleichzeitig verändern
Dieser Abschnitt zeigt, wie man Tonhöhen beeinflusst.
Oktavenüberprüfung | ||
Transposition |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Viele Tonhöhen gleichzeitig verändern ] | [ Nach oben : Viele Tonhöhen gleichzeitig verändern ] | [ Transposition > ] |
Oktavenüberprüfung
Im relativen Modus geschieht es recht häufig, dass ein Oktavänderungszeichen vergessen wird. Oktavenüberprüfungen machen es einfacher, solche Fehler zu entdecken und zu korrigieren. Sie geben eine Warnung aus und korrigieren die Oktave, wenn eine Note in einer unerwarteten Oktave gefunden wird.
Um die Oktave einer Note zu überprfüfen, muss die absolute
Oktave nach dem =
-Symbol angegeben werden. Im
folgenden Beispiel wird eine Warnung (und eine Tonhöhenänderung)
generiert, weil die zweite Note als absolute Oktave
ein d''
anstelle von d'
notiert ist,
wie es die Oktavierungskorrektur markiert.
\relative c'' { c2 d='4 d e2 f }
Die Oktave von einer Note kann auch mit dem
\octaveCheck
Kontrolltonhöhe-Befehl
überprüft werden. Kontrollhöhe wird im absoluten
Modus eingegeben. Dabei wird überprüft, ob das
Intervall zwischen der vorherigen Note und der
Kontrolltonhöhe nicht größer als eine Quarte ist
(die normale Berechnung im relativen Modus). Wenn diese
Überprüfung einen Fehler ausgibt, wird eine Warnung
gemeldet, aber die vorigen Note wird nicht verändert.
Folgende Noten sind dann relativ zur Kontrolltonhöhe.
\relative c'' { c2 d \octaveCheck c' e2 f }
Vergleichen Sie die zwei Takte im nächsten Beispiel. Die
erste und dritte \octaveCheck
-Überprüfung gibt
einen Fehler aus, die zweite dagegen ist erfolgreich:
\relative c'' { c4 f g f c4 \octaveCheck c' f \octaveCheck c' g \octaveCheck c' f }
Siehe auch
Schnipsel: Pitches.
Referenz der Interna: RelativeOctaveCheck.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Oktavenüberprüfung ] | [ Nach oben : Viele Tonhöhen gleichzeitig verändern ] | [ Tonhöhen anzeigen lassen > ] |
Transposition
Ein musikalischer Ausdruck kann mit dem Befehl \transpose
transponiert werden. Die Syntax lautet:
\transpose vonTonhöhe nachTonhöhe mus. Ausdruck
Das bedeutet, dass der mus. Ausdruck um das Intervall zwischen den Tonhöhen vonTonhöhe und nachTonhöhe transponiert wird: Jede Note, die die Tonhöhe vonTonhöhe hat, wird in die Tonhöhe nachTonhöhe umgewandelt, und alle anderen Noten um das gleiche Intervall. Beide Tonhöhen werden im absoluten Modus eingegeben.
Achtung: Tonhöhen innerhalb einer \transpose
-Umgebung
sind absolut, es sei denn, ein \relative
wird
eingefügt.
So kann z. B. ein Stück in D-Dur, wenn es für den Sänger etwas zu tief ist, nach E-Dur transponiert werden. Dabei werden auch die Vorzeichen entsprechend angepasst:
\transpose d e { \relative c' { \key d \major d4 fis a d } }
Wenn eine Stimme, die in C notiert ist, von einer A-Klarinette gespielt werden soll (für die A als C notiert wird, aber eine kleine Terz tiefer erklingt als es notiert ist), kann die entpsrechende Stimme wie folgt erstellt werden:
\transpose a c' { \relative c' { \key c \major c4 d e g } }
Beachten Sie, dass \key c \major
explizit
angegeben werden muss. Wenn hier keine Tonart angemerkt
würde, würde die Noten zwar transponiert, aber keine
Vorzeichen angezeigt werden.
\transpose
unterscheidet enharmonische Verwechslungen: sowohl
\transpose c cis
als auch \transpose c des
transponieren
die Musik einen Halbton nach oben. Aber die erste Version gibt als
Versetzungszeichen Kreuze aus, die zweite dagegen B-Versetzungszeichen.
music = \relative c' { c d e f } \new Staff { \transpose c cis { \music } \transpose c des { \music } }
\transpose
kann auch benutzt werden, um die geschriebenen
Noten eines transponierenden Instruments zu notieren. Im vorigen Beispiel wurde die Tonhöhen so eingegeben,
wie sie erklingen (also in C), aber man kann genauso
gut auch andersherum aus einer Stimme, die für ein
transponierendes Instrument in einem anderen Ton als
C geschrieben wurde, eine Partitur in C erstellen.
Die Noten einer B-Trompete, die mit einem notierten E
(also einem klingenden D) anfangen, könnte man also
auch so eingeben:
musicInBflat = { e4 … } \transpose c bes, \musicInBflat
Um die Noten dann in F zu setzen (um sie etwa für ein
Horn zu arrangieren), könnte man die schon geschriebenen
Noten wieder mit einem weiteren \transpose
umgeben:
musicInBflat = { e4 … } \transpose f c' { \transpose c bes, \musicInBflat }
Für mehr Information zu transponierenden Instrumenten siehe auch Transposition von Instrumenten.
Ausgewählte Schnipsel
Noten mit minimaler Anzahl an Versetzungszeichen transponieren.
Dieses Beispiel benutzt Scheme-Code, um enharmonische Verwechslungen für Noten zu erzwingen, damit nur eine minimale Anzahl an Versetzungszeichen ausgegeben wird. In diesem Fall gelten die folgenden Regeln:
- Doppelte Versetzungszeichen sollen entfernt werden
- His -> C
- Eis -> F
- Ces -> B
- Fes -> E
Auf diese Art werden am meisten natürliche Tonhöhen als enharmonische Variante gewählt.
#(define (naturalize-pitch p) (let ((o (ly:pitch-octave p)) (a (* 4 (ly:pitch-alteration p))) ;; alteration, a, in quarter tone steps, ;; for historical reasons (n (ly:pitch-notename p))) (cond ((and (> a 1) (or (eq? n 6) (eq? n 2))) (set! a (- a 2)) (set! n (+ n 1))) ((and (< a -1) (or (eq? n 0) (eq? n 3))) (set! a (+ a 2)) (set! n (- n 1)))) (cond ((> a 2) (set! a (- a 4)) (set! n (+ n 1))) ((< a -2) (set! a (+ a 4)) (set! n (- n 1)))) (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7)))) (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7)))) (ly:make-pitch o n (/ a 4)))) #(define (naturalize music) (let ((es (ly:music-property music 'elements)) (e (ly:music-property music 'element)) (p (ly:music-property music 'pitch))) (if (pair? es) (ly:music-set-property! music 'elements (map (lambda (x) (naturalize x)) es))) (if (ly:music? e) (ly:music-set-property! music 'element (naturalize e))) (if (ly:pitch? p) (begin (set! p (naturalize-pitch p)) (ly:music-set-property! music 'pitch p))) music)) naturalizeMusic = #(define-music-function (parser location m) (ly:music?) (naturalize m)) music = \relative c' { c4 d e g } \score { \new Staff { \transpose c ais { \music } \naturalizeMusic \transpose c ais { \music } \transpose c deses { \music } \naturalizeMusic \transpose c deses { \music } } \layout { } }
Siehe auch
Notationsreferenz: Relative Oktavenbezeichnung, Transposition von Instrumenten.
Schnipsel: Pitches.
Referenz der Interna: TransposedMusic.
Bekannte Probleme und Warnungen
Der relative Modus wirkt nicht in \transpose
,
\chordmode
oder \relative
.
Um auch im relativen Modus transponieren
zu können, muss ein \relative
innerhalb des
\tranpose
zusätzlich gesetzt werden.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Transposition ] | [ Nach oben : Tonhöhen ] | [ Notenschlüssel > ] |
1.1.3 Tonhöhen anzeigen lassen
Dieser Abschnitt zeigt, wie die Ausgabe von Tonhöhen verändern werden kann.
Notenschlüssel | ||
Tonartbezeichnung | ||
Oktavierungsklammern | ||
Transposition von Instrumenten | ||
Automatische Versetzungszeichen | ||
Tonumfang |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tonhöhen anzeigen lassen ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Tonartbezeichnung > ] |
Notenschlüssel
Der Schlüssel kann verändert werden. Das eingestrichene C wird in jedem Beispiel gezeigt:
\clef treble c2 c \clef alto c2 c \clef tenor c2 c \clef bass c2 c
Andere Schlüssel sind u. A.:
\clef french c2 c \clef soprano c2 c \clef mezzosoprano c2 c \clef baritone c2 c \break \clef varbaritone c2 c \clef subbass c2 c \clef percussion c2 c \clef tab c2 c
Weitere unterstützte Schlüssel sind beschrieben in Mensurale Schlüssel und Gregorianische Schlüssel.
Indem _8
oder ^8
an die jeweilige Schlüsselbezeichnung
angehängt wird, wird der Schlüssel um eine Oktave nach oben oder unten
transponiert, mit _15
oder ^15
um zwei Oktaven.
Die Schlüsselbezeichnung muss in Anführungszeichen gesetzt werden,
wenn sie Unterstriche oder Zahlen enthält, siehe Beispiel:
\clef treble c2 c \clef "treble_8" c2 c \clef "bass^15" c2 c
Ausgewählte Schnipsel
Eigenschaften des Schlüssels optimieren
Der Befehl \clef "treble_8"
ist gleichbedeutend mit einem
expliziten Setzen der Eigenschaften von clefGlyph
,
clefPosition
(welche die vertikale Position des Schlüssels bestimmt),
middleCPosition
und clefOctavation
. Ein Schlüssel wird
ausgegeben, wenn eine der Eigenschaften außer middleCPosition
sich
ändert.
Eine Änderung des Schriftzeichens (Glyph), der Schlüsselposition oder der
Oktavierung selber ändert noch nicht die Position der darauf folgenden Noten
auf dem System: das geschieht nur, wenn auch die Position des
eingestrichenen C (middleCPosition) angegeben wird. Die
Positionsparameter sind relativ zur Mittellinie des Systems, dabei versetzen
positive Zahlen die Position nach oben, jeweils eine Zahl für jede Linie
plus Zwischenraum. Der clefOctavation
-Wert ist normalerweise auf 7,
-7, 15 oder -15 gesetzt, aber auch andere Werte sind gültig.
Wenn ein Schlüsselwechsel an einem Zeilenwechsel geschieht, wird das neue
Symbol sowohl am Ende der alten Zeilen als auch am Anfang der neuen Zeile
ausgegeben. Wenn der Warnungs-Schlüssel am Ende der alten Zeile nicht
erforderlich ist, kann er unterdrückt werden, indem die
explicitClefVisibility
-Eigenschaft des Staff
-Kontextes auf den
Wert end-of-line-invisible
gesetzt wird. Das Standardverhalten kann
mit \unset Staff.explicitClefVisibility
wieder hergestellt werden.
Die folgenden Beispiele zeigen die Möglichkeiten, wenn man diese Eigenschaften manuell setzt. Auf der ersten Zeile erhalten die manuellen Änderungen die ursprüngliche relative Positionierung von Schlüssel und Noten, auf der zweiten Zeile nicht.
\layout { ragged-right = ##t } { % The default treble clef c'1 % The standard bass clef \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 \set Staff.middleCPosition = #6 c'1 % The baritone clef \set Staff.clefGlyph = #"clefs.C" \set Staff.clefPosition = #4 \set Staff.middleCPosition = #4 c'1 % The standard choral tenor clef \set Staff.clefGlyph = #"clefs.G" \set Staff.clefPosition = #-2 \set Staff.clefOctavation = #-7 \set Staff.middleCPosition = #1 c'1 % A non-standard clef \set Staff.clefPosition = #0 \set Staff.clefOctavation = #0 \set Staff.middleCPosition = #-4 c'1 \break % The following clef changes do not preserve % the normal relationship between notes and clefs: \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 c'1 \set Staff.clefGlyph = #"clefs.G" c'1 \set Staff.clefGlyph = #"clefs.C" c'1 \set Staff.clefOctavation = #7 c'1 \set Staff.clefOctavation = #0 \set Staff.clefPosition = #0 c'1 % Return to the normal clef: \set Staff.middleCPosition = #0 c'1 }
Siehe auch
Notationsreferenz: Mensurale Schlüssel, Gregorianische Schlüssel.
Schnipsel: Pitches.
Referenz der Interna: Clef_engraver, Clef, OctavateEight, clef-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Notenschlüssel ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Oktavierungsklammern > ] |
Tonartbezeichnung
Achtung: Neue Benutzer sind manchmal verwirrt, wie
Versetzungszeichen und Vorzeichen/Tonarten funktionieren.
In LilyPond sind Notenbezeichnungen die wirkliche
Tonhöhe, erst durch Vorzeichen wird bestimmt, wie diese
Tonhöhe dann im Notenbild dargestellt wird. Eine
einfache Tonhöhe wie etwa c
bedeutet also
immer das eingestrichene C ohne Versetzungszeichen, egal
was für Vorzeichen/Tonart oder Schlüssel gesetzt sind.
Mehr Information dazu in
Versetzungszeichen und Tonartbezeichnung (Vorzeichen).
Die Vorzeichen zeigen die Tonart an, in welcher ein Stück notiert ist. Es handelt sich um eine Anzahl von Alterationszeichen (Kreuzen oder Bs) am Beginn jedes Notensystems.
Die Tonart kann geändert werden:
\key
Tonhöhe Modus
Der Wert Modus sollte entweder \major
oder \minor
sein, um Moll oder Dur der Tonhöhe zu erhalten. Es können auch
Modusbezeichnungen für Kirchentonarten verwendet werden: \ionian
(Ionisch), \locrian
(Locrisch), \aeolian
(Aeolisch),
\mixolydian
(Mixolydisch), \lydian
(Lydisch),
\phrygian
(Phrygisch) und \dorian
(Dorisch).
\key g \major fis1 f fis
Ausgewählte Schnipsel
Auflösungzeichen nicht setzen wenn die Tonart wechselt
Wenn die Tonart wechselt, werden automatisch Auflösungszeichen ausgegeben,
um Versetzungszeichen der vorherigen Tonart aufzulösen. Das kann
verhindert werden, indem die printKeyCancellation
-Eigenschaft
im Staff
-Kontext auf "false" gesetzt wird.
\relative c' { \key d \major a4 b cis d \key g \minor a4 bes c d \set Staff.printKeyCancellation = ##f \key d \major a4 b cis d \key g \minor a4 bes c d }
Untypische Tonarten
Der üblicherweise benutzte \key
-Befehl setzt die
keySignature
-Eigenschaft im Staff
-Kontext.
Um untypische Tonartenvorzeichen zu erstellen, muss man diese Eigenschaft
direkt setzen. Das Format für den Befehl ist eine Liste: \set
Staff.keySignature = #`(((Oktave . Schritt) . Alteration) ((Oktave
. Schritt) . Alteration) ...)
wobei für jedes Element in der Liste
Oktave
die Oktave angibt (0 ist die Oktave vom
eingestrichenen C bis zum eingestrichenen H), Schritt
gibt
die Note innerhalb der Oktave an (0 heißt C und
6 heißt H), und Alteration
ist ,SHARP ,FLAT
,DOUBLE-SHARP
usw. (Beachte das beginnende Komma.)
Alternativ kann auch jedes Element der Liste mit dem allgemeineren Format
(Schritt . Alteration)
gesetzt werden, wobei dann die Einstellungen
für alle Oktaven gelten.
Hier ein Beispiel einer möglichen Tonart für eine Ganztonleiter:
\relative c' { \set Staff.keySignature = #`(((0 . 6) . ,FLAT) ((0 . 5) . ,FLAT) ((0 . 3) . ,SHARP)) c4 d e fis aes4 bes c2 }
Siehe auch
Glossar: church mode, scordatura.
Handbuch zum Lernen: Versetzungszeichen und Tonartbezeichnung (Vorzeichen).
Schnipsel: Pitches.
Referenz der Interna: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-cancellation-interface, key-signature-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tonartbezeichnung ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Transposition von Instrumenten > ] |
Oktavierungsklammern
Oktavierungsklammern zeigen eine zusätzliche Transposition von einer Oktave an:
a'2 b \ottava #1 a b \ottava #0 a b
Die ottava
-(Oktavierungs)-Funktion kann auch die
Werte -1 (für 8va bassa),
2 (für 15ma), und -2 (für 15ma bassa) als Argumente
haben.
Ausgewählte Schnipsel
Ottava-Text
Intern setzt die set-octavation
-Funktion die Eigenschaften
ottavation
(etwa auf den Wert "8va"
oder "8vb"
)
und middleCPosition
. Um den Text der Oktavierungsklammer zu
ändern, kann ottavation
manuell gesetzt werden, nachdem
set-octavation
benützt wurde.
{ \ottava #1 \set Staff.ottavation = #"8" c''1 \ottava #0 c'1 \ottava #1 \set Staff.ottavation = #"Text" c''1 }
Siehe auch
Glossar: octavation.
Schnipsel: Pitches.
Referenz der Interna: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Oktavierungsklammern ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Automatische Versetzungszeichen > ] |
Transposition von Instrumenten
Wenn man Noten setzt, die von transponierenden Instrumenten gespielt werden, sind oft einige Stimmen auf einer anderen Tonhöhe notiert als dem Kammerton. In diesem Fall muss die Tonart des transponierenden Instruments gekennzeichnet werden, weil sonst die MIDI-Ausgabe und Stichnoten in anderen Stimmen falsche Tonhöhen produzieren. Mehr Information zu Stichnoten in Stichnoten.
\transposition Tonhöhe
Die Tonhöhe, die für \transposition
benutzt
wird, muss mit dem wirklichen Ton übereinstimmen,
der erklingt, wenn das Instrument ein c'
in seiner Stimme spielt. Die Tonhöhe wird im
absoluten Modus angegeben, ein Instrument also,
dass einen Ton höher erklingt als es notiert wird,
muss folgenden Befehl benutzen:
\transposition d'
. \transposition
sollte nur dann benutzt werden, wenn sie nicht
nicht in C notiert werden.
Hier einige Noten für Geige und B-Klarinette: die Stimmen (Noten und Vorzeichen) sind so notiert, wie sie in der Partitur erscheinen. Die zwei Instrumente spielen unisono.
\new GrandStaff << \new Staff = "violin" { \relative c'' { \set Staff.instrumentName = #"Vln" \set Staff.midiInstrument = #"violin" % not strictly necessary, but a good reminder \transposition c' \key c \major g4( c8) r c r c4 } } \new Staff = "clarinet" { \relative c'' { \set Staff.instrumentName = \markup { Cl (B\flat) } \set Staff.midiInstrument = #"clarinet" \transposition bes \key d \major a4( d8) r d r d4 } } >>
Die \transposition
kann während eines Stückes
geändert werden. Ein Klarinetist zum Beispiel kann
zwischen B- und A-Klarinette wechseln.
\set Staff.instrumentName = #"Cl (A)" \key a \major \transposition a c d e f \textLengthOn s1*0^\markup { Switch to B\flat clarinet } R1 \key bes \major \transposition bes c2 g
Siehe auch
Glossar: concert pitch, transposing instrument.
Notationsreferenz: Stichnoten, Transposition.
Schnipsel: Pitches.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Transposition von Instrumenten ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Tonumfang > ] |
Automatische Versetzungszeichen
Es gibt viele unterschiedliche Regeln, wie Versetzungszeichen notiert werden. LilyPond hat eine Funktion, mit der spezifiziert werden kann, welcher Stil benutzt werden soll. Diese Funktion kann man wie folgt benutzen:
\new Staff << #(set-accidental-style 'voice) { … } >>
Der Versetzungszeichenstil bezieht sich auf das aktuelle
Notensystem in der Standardeinstellung (eine Ausnahme
bilden die Stile piano
und piano-cautionary
,
die weiter unten erklärt werden). Die Funktion kann aber
auch ein zweites Argument erhalten, mit der spezifiziert
wird, auf welchen Bereich sich der neue Stil erstreckt.
Um etwa den neuen Stil in allen Systemen einer
Stimmbruppe (StaffGroup
) zu benutzen, müsste der Befehl so aussehen:
#(set-accidental-style 'voice 'StaffGroup)
Folgende Versetzungszeichenstile sind unterstützt. Um jeden Stil zu erklären, wird folgendes Beispiel benützt:
musicA = { << \relative c' { cis'8 fis, d'4 <a cis>8 f bis4 | cis2. <c, g'>4 | } \\ \relative c' { ais'2 cis, | fis8 b a4 cis2 | } >> } musicB = { \clef bass \new Voice { \voiceTwo \relative c' { <fis, a cis>8 <fis a cis> \change Staff = up cis' cis \change Staff = down <fis, a> <fis a> \showStaffSwitch \change Staff = up dis'4 | \change Staff = down <fis, a cis>4 gis <f a d>2 | } } } \new PianoStaff { << \context Staff = "up" { #(set-accidental-style 'default) \musicA } \context Staff = "down" { #(set-accidental-style 'default) \musicB } >> }
Die letzten Zeilen des Beispiels könnten auch mit folgendem Code ersetzt werden, solange der gleiche Versetzungszeichenstil in beiden Systemen benutzt werden soll:
\new PianoStaff { << \context Staff = "up" { %%% change the next line as desired: #(set-accidental-style 'default 'Score) \musicA } \context Staff = "down" { \musicB } >> }
-
default (Standard)
-
Das ist das Standardverhalten. Es entspricht der Konvention für Notation von Musik des 18. Jahrhunderts: Versetzungszeichen werden bis zum Taktende erinnert, in dem sie gesetzt wurden, und nur in ihrer eigenen Oktave. Im nächsten Beispiel wird also kein Auslösungszeichen vor dem
b
(H) im zweiten Takt oder dem letzenc
gesetzt: -
voice (Stimme)
-
Das normale Verhalten ist es, die Versetzungszeichen auf der Notensystemebene zu erinnern. In diesem Stil aber werden Versetzungszeichen individuell für jede Stimme errechnet. Abgesehen davon gelten die Regeln des Standardstiles (
default
).Das hat zur Folge, dass Versetzungszeichen von einer Stimme in der anderen nicht aufgelöst werden, was oft ein unerwünschtes Ergebnis ist: im folgenden Beispiel kann man schwer sagen, ob das zweite
a
unalteriert oder erhöht gespielt werden soll. Dievoice
-Option sollte also nur benutzt werden, wenn die Stimmen separat von unterschiedlichen Musikern gelesen werden. Wenn das System nur von einem Musiker benutzt wird (etwa der Dirigent oder ein Klavierspieler), dann sind die Stilemodern
odermodern-cautionary
besser. -
modern (Modern)
-
Dieser Stil orientiert sich an den üblichen Regeln für das 20. Jahrhundert. Die gleichen Versetzungszeichen wie im Standardstil werden gesetzt, allerdings mit zwei Ausnahmen, die Uneindeutigkeiten verhindern sollen: nach vorübergehenden Versetzungszeichen werden Auflösungszeichen auch im folgenden Takt gesetzt (für Noten innerhalb der selben Oktave) und im gleichen Takt für Noten in unterschiedlichen Oktaven. Daher kommen also die Auflösungszeichen vor dem H und dem C im zweiten Takt des oberen Systems:
-
modern-cautionary (Modern mit Warnungen)
-
Dieser Stil ähnelt
modern
, aber die „zusätzlichen“ Versetzungszeichen (die normalerweise nicht gesetzt werden) werden als Warnungen gesetzt. In der Standardeinstellung werden sie in Klammern gesetzt, aber sie können auch in kleinerer Größe gesetzt werden, wenn man diecautionary-style
-Eigenschaft vonAccidentalSuggestion
definiert. -
modern-voice (Modern für Stimmeen)
-
Diese Regel wird für vielstimmige Noten benutzt, die sowohl von unterschiedlichen Spielern für jede Stimme als auch von einem Spieler für alle Stimmen benutzt. Versetzungszeichen werden für jede Stimme gesetzt, aber sie werden über die Stimme hinweg aufgelöst innerhalb des selben Notensystems. Das
a
im letzten Takt ist also aufgelöst, weil die vorigen Auflösung in einer anderen Stimme stattgefunden hatte, und dasd
im unteren System ist aufgelöst wegen eines Versetzunszeichens in einer anderen Stimme im vorigen Takt: -
modern-voice-cautionary (modern mit Warnungen für einzelne Stimmen)
-
Dieser Stil ist der gleiche wie
modern-voice
, nur dass hier die zusätzlichen Versetzungszeichen (die nicht vomvoice
-Stil gesetzt werden) als Warnungsversetzungszeichen gesetzt werden. Obwohl alle Versetzungszeichen, die mitdefault
gesetzt werden, auch mit diesem Stil gesetzt werden, sind manche Warnungsversetzungszeichen. -
piano (Klavier)
-
Dieser Stil orientiert sich an den Regeln im 20. Jahrhundert für die Notation von Klaviermusik. Er ist sehr ähnlich mit dem modernen Stil, aber Versetzungszeichen werden auch über Notensysteme hinweg für die selbe Akkolade (
GrandStaff
oderPianoStaff
) aufgelöst.Dieser Versetzungszeichenstil wirkt sich standardmäßig auf die gesamte Akkolade (
GrandStaff
oderPianoStaff
) aus. -
piano-cautionary (Klavier mit Warnungen)
-
Dieser Stil verhält sich wie
piano
, aber die zusätzlichen Versetzungszeichen werden als Warnungen ausgegeben: -
neo-modern
-
Dieser Stil richtet sich nach den Regeln für moderne Musik: Versetzungszeichen werden mit im
modern
-Stil gesetzt, aber sie werden nochmal gesetzt, wenn die gleiche Note später im selben Takt auftritt – außer die Note wird unmittelbar wiederholt. -
neo-modern-cautionary (neo-modern mit Warnungen)
-
Dieser Stil ähnelt
neo-modern
, aber die zusätzlichen Versetzungszeichen werden als Warnungen gesetzt. -
neo-modern-voice (neo-modern für Stimmeen)
-
-
neo-modern-voice-cautionary
-
-
dodecaphonic (Zwölftonmusik)
-
Dieser Stil orientiert sich an der Notation von sog. Zwölftonmusik, der Stil wurde Anfang des 20. Jahrhunderts in Gebrauch genommen. In diesem Stil erhält jede Note ein Versetzungszeichen, wozu auch Auflösungszeichen zählen.
-
teaching (didaktisch)
-
Dieser Stil ist für Lernende bestimmt: der Stil orientiert sich am
modern
-Stil, aber die Alterationen, die sich durch die Tonart ergeben, werden zusätzlich als Warnungsversetzungszeichen gesetzt. Eine Ausnahme sind direkt wiederholte Noten. -
no-reset (nicht zurücksetzen)
-
Das ist der gleiche Stil wie
default
, aber die Versetzungszeichen dauern für „immer“ an, nicht nur im aktuellen Takt: -
forget (vergessen)
-
Das ist das Gegenteil von
no-reset
: Versetzungszeichen werden überhaupt nicht erinnert und folgerichtig werden alle Versetzungszeichen entsprechend der Tonart gesetzt, unabhängig vom Kontext der Noten. Anders alsdodecaphonic
werden nie Auflösungszeichen gesetzt:
Ausgewählte Schnipsel
Versetzungszeichen für jede Note im Stil der Zwölftonmusik
In Werken des fürhen 20. Jahrhundert, angefangen mit Schönberg, Berg und Webern (die zweite Wiener Schule), wird jeder Ton der Zwölftonleiter als gleichwertig erachtet, ohne hierarchische Ordnung. Deshalb wird in dieser Musik für jede Note ein Versetzungszeichen ausgegeben, auch für unalterierte Tonhöhen, um das neue Verständnis der Musiktheorie und Musiksprache zu verdeutlichen.
Dieser Schnipsel zeigt, wie derartige Notationsregeln zu erstellen sind.
\markup { This snippet is deprecated as of version 2.12 and will be removed from the documentation in 2.14. }
Siehe auch
Schnipsel: Pitches.
Referenz der Interna: Accidental, Accidental_engraver, GrandStaff and PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface.
Bekannte Probleme und Warnungen
Gleichzeitig erklingende Noten müssen im sequenziellen Modus eingegeben
werden. Das bedeutet, dass die Versetzungszeichen von Noten in
Akkorden so gesetzt werden, als ob die Noten nacheinander auftreten,
in der Reihenfolge, in der sie im Quelltext erscheinen. Das ist ein
Problem, wenn Versetzungzeichen in einem AKkord voneinander abhängen,
was im Standard-Stil nicht vorkommt. Das Problem kann gelöst werden,
indem man manuell !
oder ?
für die problematischen
Noten schreibt.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Automatische Versetzungszeichen ] | [ Nach oben : Tonhöhen anzeigen lassen ] | [ Notenköpfe > ] |
Tonumfang
Der Begriff ambitus (Pl. ambitus) beschreibt den Stimmumfang einer Stimme. Er kann auch die Töne bedeuten, die ein Musikinstrument zu spielen in der Lage ist. Ambitus werden in Chorpartituren gesetzt, damit die Sänger schnell wissen, ob sie die Stimme meistern können.
Ambitus werden zu Beginn des Stückes nahe des ersten Schlüssels notiert. Der Stimmumfang wird durch zwei Notenköpfe dargestellt, die die tiefste und höchste Note der Stimme repräsentieren. Versetzungszeichen werden nur gesetzt, wenn sie nicht durch die Tonart definiert werden.
\layout { \context { \Voice \consists "Ambitus_engraver" } } \relative c'' { aes c e2 cis,1 }
Ausgewählte Schnipsel
Ambitus pro Stimme hinzufügen
Ambitus können pro Stimme gesetzt werden. In diesem Fall müssen sie manual verschoben werden, um Zusammenstöße zu verhindern.
\new Staff << \new Voice \with { \consists "Ambitus_engraver" } \relative c'' { \override Ambitus #'X-offset = #2.0 \voiceOne c4 a d e f1 } \new Voice \with { \consists "Ambitus_engraver" } \relative c' { \voiceTwo es4 f g as b1 } >>
Ambitus mit vielen Stimmen
Indem man den Ambitus_engraver
im Staff
-Kontext
hinzufügt, erhält man einen einzigen Ambitus pro System, auch in dem
Fall, dass mehrere Stimmen sich im gleichen System befinden.
\new Staff \with { \consists "Ambitus_engraver" } << \new Voice \relative c'' { \voiceOne c4 a d e f1 } \new Voice \relative c' { \voiceTwo es4 f g as b1 } >>
Siehe auch
Glossar: ambitus.
Schnipsel: Pitches.
Referenz der Interna: Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface.
Bekannte Probleme und Warnungen
Es gibt keine Kollisionskontrolle bei mehreren Ambitus in einem System.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tonumfang ] | [ Nach oben : Tonhöhen ] | [ Besondere Notenköpfe > ] |
1.1.4 Notenköpfe
Dieser Abschnitt zeigt, wie man Notenköpfe ändern kann.
Besondere Notenköpfe | ||
Easy-Notation-Notenköpfe | ||
Notenköpfe mit besonderen Formen | ||
Improvisation |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Notenköpfe ] | [ Nach oben : Notenköpfe ] | [ Easy-Notation-Notenköpfe > ] |
Besondere Notenköpfe
Notenköpfe können verändert werden:
c4 b a b \override NoteHead #'style = #'cross c4 b a b \revert NoteHead #'style c4 d e f
Es gibt einen definierten Befehl für die Raute, der nur innerhalb von Akkorden benutzt werden kann:
<c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic>
Alle möglichen Notenkopf-Stile finden sich in Notenkopfstile.
Siehe auch
Schnipsel: Pitches.
Notationsreferenz: Notenkopfstile, Noten mit Akkorden.
Referenz der Interna: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Besondere Notenköpfe ] | [ Nach oben : Notenköpfe ] | [ Notenköpfe mit besonderen Formen > ] |
Easy-Notation-Notenköpfe
Die „einfachen Notenköpfe“ haben die Bezeichnung der Note im Kopf gedruckt. Das wird eingesetzt, um die Notation beizubringen. Damit die Buchstaben noch lesbar sind, müssen sie sehr groß gesetzt werden. Wie man eine größere Schriftart einstellt, findet sich in Die Notensystemgröße einstellen.
#(set-global-staff-size 26) \relative c' { \easyHeadsOn c2 e4 f g1 \easyHeadsOff c,1 }
Vordefinierte Befehle
\easyHeadsOn
,
\easyHeadsOff
.
Siehe auch
Notationsreferenz: Die Notensystemgröße einstellen.
Schnipsel: Pitches.
Referenz der Interna: note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Easy-Notation-Notenköpfe ] | [ Nach oben : Notenköpfe ] | [ Improvisation > ] |
Notenköpfe mit besonderen Formen
In dieser Notation haben die Notenköpfe eine Form, die ihrer harmonischen Funktion innherhalb der Tonleiter entspricht. Die Notation war sehr beliebt in amerikanischen Liederbüchern des 19. Jahrhunderts. Auf diese Weise können die Formen benutzt werden:
\aikenHeads c, d e f g a b c \sacredHarpHeads c, d e f g a b c
Die unterschiedlichen Formen richten sich nach der Stufe in der
Skala, wobei der Grundton der Skala aus dem \key
-Befehl
entnommen wird.
Vordefinierte Befehle
\aikenHeads
,
\sacredHarpHeads
.
Ausgewählte Schnipsel
Notenkopfstile basierend auf der Tonleiterstufe erstellen
Die shapeNoteStyles
-(NotenFormenStile)-Eigenschaft kann benutzt
werden, um verschiedene Notenstile für jeden Schritt der Tonleiter
zu definieren (vorgegeben von der Tonart oder der „tonic“
(Tonika)-Eigneschaft. Diese Eigenschaft braucht eine Anzahl von Symbolen,
welche beliebig sein können (geometrische Ausdrücke wie triangle
(Dreieck), cross
(Kreuz) und xcircle
(X-Kreis) sind erlaubt)
oder basierend auf einer alten amerikanischen Notensatztradition (einige
lateinische Notenbezeichnungen sind auch erlaubt).
Um alte amerikanische Liederbücher zu imitieren, gibt es einige
vordefinierte Notenstile wie etwa \aikenHeads
(im Stil von Aiken)
oder \sacredHarpHeads
(im Stil der Sacred Harp-Tradition).
Dieses Beispiel zeigt, wie man unterschiedlich geformte Noten erhält und eine Melodie transponieren kann, ohne dass das Verhältnis zwischen den harmonischen Funktionen und dem Notenstil verloren geht.
fragment = { \key c \major c2 d e2 f g2 a b2 c } \new Staff { \transpose c d \relative c' { \set shapeNoteStyles = #'#(do re mi fa #f la ti) \fragment } \break \relative c' { \set shapeNoteStyles = #'#(cross triangle fa #f mensural xcircle diamond) \fragment } }
Alle Notenkopfstile finden sich in Notenkopfstile.
Siehe auch
Schnipsel: Pitches.
Notationsreferenz: Notenkopfstile.
Referenz der Interna: note-event, Note_heads_engraver, NoteHead, note-head-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Notenköpfe mit besonderen Formen ] | [ Nach oben : Notenköpfe ] | [ Rhythmus > ] |
Improvisation
Improvisation wird manchmal angezeigt, indem schräge Notenköpfe gesetzt werden, wenn der Spieler eine beliebige Tonhöhe wählen kann aber den vorgegebenen Rhythmus spielen soll. Sie können wie folgt benutzt werden:
\new Voice \with { \consists "Pitch_squash_engraver" } { e8 e g a a16( bes) a8 g \improvisationOn e8 ~ e2 ~ e8 f4 f8 ~ f2 \improvisationOff a16( bes) a8 g e }
Vordefinierte Befehle
\improvisationOn
,
\improvisationOff
.
Siehe auch
Schnipsel: Pitches.
Referenz der Interna: Pitch_squash_engraver, Voice, RhythmicStaff.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Improvisation ] | [ Nach oben : Musikalische Notation ] | [ Rhythmen eingeben > ] |
1.2 Rhythmus
Dieser Abschnitt erklärt die Eingabe von Rhythmen, Pausen, Dauern, Bebalkung und Takten.
1.2.1 Rhythmen eingeben | ||
1.2.2 Pausen eingeben | ||
1.2.3 Rhythmen anzeigen lassen | ||
1.2.4 Balken | ||
1.2.5 Takte | ||
1.2.6 Besondere rhythmische Fragen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Rhythmus ] | [ Nach oben : Rhythmus ] | [ Tondauern > ] |
1.2.1 Rhythmen eingeben
Tondauern | ||
Andere rhythmische Aufteilungen | ||
Tondauern skalieren | ||
Bindebögen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Rhythmen eingeben ] | [ Nach oben : Rhythmen eingeben ] | [ Andere rhythmische Aufteilungen > ] |
Tondauern
Notenlängen (Dauern) werden durch
Zahlen und Punkte notiert: Dauern werden als reziproke Werte geschrieben.
Zum Beispiel wird eine Viertelnote mit 4
notiert (weil sie eine
1/4-Note ist), eine halbe Note mit 2
(weil sie eine 1/2-Note ist).
Noten, die länger als eine Ganze sind, müssen mit \longa
(für die Longa, also vier Ganze) und
\breve
(für die Brevis, auch Doppelganze genannt) notiert werden.
Notendauern bis hin zu 128steln sind unterstützt. Kürzere Notenwerte können
auch notiert werden, können allerdings nur als Noten mit Balken auftreten.
\time 8/1 c\longa c\breve c1 c2 c4 c8 c16 c32 c64 c64
Hier die selben Notendauern ohne die Balken.
\time 8/1 \autoBeamOff c\longa c\breve c1 c2 c4 c8 c16 c32 c64 c64
Eine Note mit der vierfacheen Dauer einer Brevis kann mit dem
Befehl \maxima
eingegeben werden, aber ihre Darstellung
ist nur für die Alte Musiknotation unterstützt. Zu Einzelheiten
siehe Notation von alter Musik.
Wenn die Dauer hinter einer Notenbezeichnung nicht angegeben ist, wird die Dauer der vorhergehenden Note eingesetzt. Der Standardwert für die erste Note ist eine Viertel.
a a a2 a a4 a a1 a
Um punktierte Notendauern zu erhalten, muss einfach nur ein Punkt
(.
) hinter die Zahl der Dauer gesetzt werden. Zwei Punkte
ergeben eine doppelte Punktierung, usw.
a4 b c4. b8 a4. b4.. c8.
Manche Notenlängen können nicht mit binären Dauern und Punkten dargestellt werden, sie können nur erreicht werden, indem man Noten überbindet. Für Einzelheiten siehe Bindebögen.
Wie den Silben von Gesangtext eigene Dauern zu gewiesen werden können und wie man sie an den Noten ausrichtet ist erklärt in Notation von Gesang.
Optional können Noten streng proportional nach ihrer exakten Dauer gesetzt werden. Zu Einzelheiten hierzu und weiteren Einstellungen für proportionale Notation siehe Proportionale Notation.
Punkte werden normalerweise nach oben verschoben, damit sie die Notenlinien nicht berühren. Fertige Befehle können eingesetzt werden, um eine bestimmte Richtung manuell zu erzwingen, zu Einzelheiten siehe Richtung und Platzierung.
Vordefinierte Befehle
\autoBeamOff
,
\dotsUp
,
\dotsDown
,
\dotsNeutral
.
Siehe auch
Glossar: breve, longa, maxima, note value, Duration names notes and rests.
Notationsreferenz: Automatische Balken, Bindebögen, Hälse, Rhythmen eingeben, Pausen eingeben, Notation von Gesang, Notation von alter Musik, Proportionale Notation.
Schnipsel: Rhythms.
Referenz der Interna: Dots, DotColumn.
Bekannte Probleme und Warnungen
Es gibt keine grundlegende Grenze für die Dauer von Pausen (sowohl kürzer als auch länger), aber die Anzahl an Symbolen ist begrenzt: Einzelne Pausen können von 128stel bis zur Maxima (8 Ganze) gesetzt werden.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tondauern ] | [ Nach oben : Rhythmen eingeben ] | [ Tondauern skalieren > ] |
Andere rhythmische Aufteilungen
Triolen und andere rhythmische Aufteilungen werden aus einem musikalischen Ausdruck erstellt, indem dessen Tondauern mit einem Bruch multipliziert werden.
\times Bruch musikalischer Ausdruck
Die Dauer eines musikalischen Ausdrucks wird mit dem Bruch multipliziert. Der Nenner des Bruchs wird über (oder unter) den Noten ausgegeben, optional mit einer eckigen Klammer, die die Noten einfasst. Die üblichste Aufteilung ist die Triole, in welcher drei Noten die Länge von zwei haben, der Wert jeder einzelnen Note ist also 2/3 der notierten Länge.
a2 \times 2/3 { b4 b b } c4 c \times 2/3 { b4 a g }
Die automatische Platzierung der Triolenklammer über oder unter den Noten kann manuell geändert werden mit definierten Befehlen, siehe Richtung und Platzierung.
N-tolen können ineinander geschachtelt werden:
\autoBeamOff c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4 |
Wenn man die Eigenschaften von N-tolen verändern will, die zum
selben musikalischen Zeitpunkt beginnen, muss \tweak
eingesetzt werden.
Um die Dauern von Noten zu ändern, ohne die N-tolen-Klammern zu setzen, siehe Tondauern skalieren.
Vordefinierte Befehle
\tupletUp
,
\tupletDown
,
\tupletNeutral
.
Ausgewählte Schnipsel
Mehrere Triolen notieren aber nur einmal \times benutzen
Die Eigenschaft tupletSpannerDuration
bestimmt, wie lange jede
der N-tolen innerhalb der Klammern nach dem \times
-Befehl
dauert. Auf diese Art können etwa viele Triolen nacheinander mit nur
einem \times
-Befehl geschrieben werden.
Im Beispiel sind zwei Triolen zu sehen, obwohl \times
nur
einmal geschrieben wurde.
Mehr Information über make-moment
gibt es in "Verwaltung der Zeiteinheiten".
\relative c' { \time 2/4 \set tupletSpannerDuration = #(ly:make-moment 1 4) \times 2/3 { c8 c c c c c } }
Die Zahl der N-tole verändern
Standardmäßig wird nur der Zähler des N-tolen-Bruchs über der Klammer
dargestellt, wie er dem \times
-Befehl übergeben wird.
Man kann aber auch Zähler/Nenner ausgeben lassen, oder die Zahl
vollständig unterdrücken.
\relative c'' { \times 2/3 { c8 c c } \times 2/3 { c8 c c } \override TupletNumber #'text = #tuplet-number::calc-fraction-text \times 2/3 { c8 c c } \override TupletNumber #'stencil = ##f \times 2/3 { c8 c c } }
Nicht-standard-N-tolennummern
LilyPond stellt auch Formatierungsfunktionen zur Verfügung, mit denen N-tolennummern gesetzt werden können, die sich von dem eigentlichen Bruch unterscheiden. Auch ein Notenwert kann zu Nenner oder Zähler des Bruchs hinzugefügt werden.
\relative c'' { \once \override TupletNumber #'text = #(tuplet-number::non-default-tuplet-denominator-text 7) \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::non-default-tuplet-fraction-text 12 7) \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper (tuplet-number::non-default-tuplet-fraction-text 12 7) "8") \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper tuplet-number::calc-denominator-text "4") \times 2/3 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber #'text = #(tuplet-number::append-note-wrapper tuplet-number::calc-fraction-text "4") \times 2/3 { c8 c8 c8 c8 c8 c8 } \once \override TupletNumber #'text = #(tuplet-number::fraction-with-notes "4." "8") \times 2/3 { c4. c4. c4. c4. } \once \override TupletNumber #'text = #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4") \times 2/3 { c4. c4. c4. c4. } }
Zeilenumbrüche bei N-tolen mit Balken erlauben
Dieses künstliche Beispiel zeigt, wie sowohl automatische als auch manuelle Zeilenumbrüche innerhalb einer N-tole mit Balken erlaubt werden können. Diese unregelmäßige Bebalkung muss allerdings manuell gesetzt werden.
\layout { \context { \Voice % Permit line breaks within tuplets \remove "Forbid_line_break_engraver" % Allow beams to be broken at line breaks \override Beam #'breakable = ##t } } \relative c'' { a8 \repeat unfold 5 { \times 2/3 { c[ b a] } } % Insert a manual line break within a tuplet \times 2/3 { c[ b \bar "" \break a] } \repeat unfold 5 { \times 2/3 { c[ b a] } } c8 }
Siehe auch
Glossar: triplet, tuplet, polymetric.
Handbuch zum Lernen: Optimierungsmethoden.
Notationrreferenz:
Verwaltung der Zeiteinheiten,
Tondauern skalieren,
Der \tweak
-Befehl,
Polymetrische Notation.
Schnipsel: Rhythms.
Referenz der Interna: TupletBracket, TupletNumber, TimeScaledMusic.
Bekannte Probleme und Warnungen
Wenn die erste Noten eines Systems ein Vorschlag (eine Verzierung)
ist, die von einer N-tole gefolgt ist, muss der Vorschlag
vor den \times
-Befehl gesetzt werden um Fehler zu
vermeiden. Überall sonst können Vorschläge innerhalb von
N-tolen gesetzt werden.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Andere rhythmische Aufteilungen ] | [ Nach oben : Rhythmen eingeben ] | [ Bindebögen > ] |
Tondauern skalieren
Die Dauer von einzelnen Noten, Pausen oder Akkorden kann mit einem Bruch multipliziert werden, indem hinter die Notendauer „*N/M“ (oder „*N“ wenn M 1 ist) geschrieben wird. Die Erscheinung der Noten oder Pausen wird dadurch nicht beeinflusst, die neue Dauer wird aber dazu benutzt, ihre Position im Takt zu errechnen und die neue Dauer in der MIDI-Ausgabe einzusetzen. Die Faktoren, mit denen multipliziert wird, können auch kombiniert werden, etwa „*L*M*/N“.
Im nächsten Beispiel nehmen die drei ersten Noten genau zwei Schläge ein, aber es wird keine Triolenklammer über ihnen ausgegeben.
\time 2/4 % Alter durations to triplets a4*2/3 gis4*2/3 a4*2/3 % Normal durations a4 a4 % Double the duration of chord <a d>4*2 % Duration of quarter, appears like sixteenth b16*4 c4
Die Dauer von unsichtbaren Noten kann auch mit einem Faktor
beeinflusst werden. Das ist sinnvoll, wenn man viele Takte
überspringen muss, etwa s1*23
.
Längere Notenabschnitte können auf die gleiche Art durch Multiplikation mit einem Bruch komprimiert werden, als ob jede Note, jeder Akkord oder jede Pause mit dem Bruch multipliziert würde. Damit bleibt das Aussehen der Musik unverändert, aber die interne Dauer der Noten wird mit dem Bruch multipliziert. Die Leerzeichen um den Punkt im Beispiel sind notwendig. Hier ein Beispiel, das zeigt, wie Noten komprimiert und ausgedehnt werden kann:
\time 2/4 % Normal durations <c a>4 c8 a % Scale music by *2/3 \scaleDurations #'(2 . 3) { <c a f>4. c8 a f } % Scale music by *2 \scaleDurations #'(2 . 1) { <c' a>4 c8 b }
Eine Anwendung für diesen Befehl ist polymetrische Notation, siehe Polymetrische Notation.
Siehe auch
Notationsreferenz: Andere rhythmische Aufteilungen, Unsichtbare Pausen, Polymetrische Notation.
Schnipsel: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tondauern skalieren ] | [ Nach oben : Rhythmen eingeben ] | [ Pausen eingeben > ] |
Bindebögen
Ein Bindebogen verbindet zwei benachbarte Noten der selben Tonhöhe. Als Resultat wird die Dauer der Notenlänge verlängert.
Achtung: Bindebögen dürfen nicht mit Legatobögen verwechselt werden, durch die die Vortragsart bezeichnet wird, noch mit Phrasierungsbögen, die musikalische Phrasen anzeigen. Ein Bindebogen ist nur eine Art, die Tondauer zu verlängern, ähnlich etwa wie die Punktierung.
Ein Bindebogen wird mit der
Tilde ~
(AltGr++) notiert.
a2 ~ a
Bindebögen werden eingesetzt, wenn die Note entweder über eine Taktlinie hinüberreicht, oder wenn die entsprechende Dauer der Note nicht mit Punktierung erreicht werden kann. Bindebögen sollten auch benutzt werden, wenn Notenwerte über die inneren Unterteilungen von Takten hinüberreichen:
Wenn viele Noten über Taktlinien gebunden werden müssen, kann es einfacher sein, automatische Notenaufteilung einzustellen, wie beschrieben in Automatische Aufteilung von Noten. Mit diesem Mechanismus werden lange Noten automatisch aufgeteilt, wenn sie über Taktgrenzen reichen.
Wenn ein Bindebogen an einen Akkord gehängt wird, werden alle Noten dieses Akkordes übergebunden. Wenn kein Notenkopf passt, wird auch kein Bogen erzeugt. Noten in Akkorden können auch einzeln übergebunden werden, indem sie innerhalb des Akkordes hinter die entsprechende Note geschrieben werden.
<c e g> ~ <c e g> <c~ e g~ b> <c e g b>
Wenn die zweite Variante einer Wiederholung mit einer übergebundenen Note anfängt, muss der Bindebogen wie folgt notiert werden:
\repeat volta 2 { c g <c e>2 ~ } \alternative { % First alternative: following note is tied normally { <c e>2. r4 } % Second alternative: following note has a repeated tie { <c e>2\repeatTie d4 c } }
So genannte laissez vibrer-Bögen werden verwendet um anzuzeigen, dass man die Musik ausklingen lassen soll. Sie werden in der Klavier-, Harfen-, anderer Saiteninstrument- und Schlagzeugnotation verwendet. Sie können folgendermaßen notiert werden:
<c f g>1\laissezVibrer
Die vertikale Position von Bindebögen kann kontrolliert werden, siehe die vordefinierten Befehle unten oder für Einzelheiten Richtung und Platzierung.
Bindebögen können durchgehend, gestrichelt, gepunktet oder in einer Kombination von Strichen und durchgehender Linie definiert werden.
\tieDotted c2 ~ c \tieDashed c2 ~ c \tieHalfDashed c2 ~ c \tieHalfSolid c2 ~ c \tieSolid c2 ~ c
Eigene Strichelungsmuster können definiert werden:
\tieDashPattern #0.3 #0.75 c2 ~ c \tieDashPattern #0.7 #1.5 c2 ~ c \tieSolid c2 ~ c
Die Definition von Muster für die Strichelung der Bindebögen hat die gleiche Struktur wie die Definition für Legatobögen. Zu weiterer Information zu komplizierten Strichelungsmustern, siehe die Schnipsel im Abschnitt Legatobögen.
Vordefinierte Befehle
\tieUp
,
\tieDown
,
\tieNeutral
,
\tieDotted
,
\tieDashed
,
\tieDashPattern
,
\tieHalfDashed
,
\tieHalfSolid
,
\tieSolid
.
Ausgewählte Schnipsel
Überbingungen für Arpeggio genutzen
Überbindungen werden teilweise benutzt, um Arpeggios zu notieren. In
diesem Fall stehen die übergebundenen Noten nicht unbedingt hintereinander.
Das Verhalten kann erreicht werden, indem die tieWaitForNote
-Eigenschaft
auf #t
gesetzt wird. Diese Funktion ist auch sinnvoll, um etwa
ein Tremolo mit einem Akkord zu überbinden, kann aber prinzipiell auch
für normale Überbindungen eingesetzt werden
\relative c' { \set tieWaitForNote = ##t \grace { c16[ ~ e ~ g] ~ } <c, e g>2 \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1 e8 ~ c ~ a ~ f ~ <e' c a f>2 \tieUp c8 ~ a \tieDown \tieDotted g8 ~ c g2 }
Bindebögen manuell setzen
Überbindungen können manuell gesetzt werden, indem man die
tie-configuration
-Eigenschaft des TieColumn
-Objekts
beeinflusst. Die erste Zahl zeigt den Abstand von der Mitte in
Notensystemabständen an, die zweite Zahl zeigt die Richtung an (1 = nach oben,
-1 = nach unten).
\relative c' { <c e g>2 ~ <c e g> \override TieColumn #'tie-configuration = #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1)) <c e g>2 ~ <c e g> }
Siehe auch
Glossar: tie, laissez vibrer.
Notationsreferenz: Legatobögen, Automatische Aufteilung von Noten.
Schnipsel: Rhythms.
Referenz der Interna: LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie.
Bekannte Probleme und Warnungen
Der Wechsel zwischen Systemen bei aktiver Überbindung produziert keinen gekrümmten Bogen.
Änderung von Schlüssel oder Oktavierung zwischen übergebundenen Noten ist nicht richtig definiert. In diesen Fällen kann es besser sein, einen Legatobogen zu verwenden.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Bindebögen ] | [ Nach oben : Rhythmus ] | [ Pausen > ] |
1.2.2 Pausen eingeben
Pausen werden als Teil der musikalischen Ausdrücke zusammen mit den Noten notiert.
Pausen | ||
Unsichtbare Pausen | ||
Ganztaktpausen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Pausen eingeben ] | [ Nach oben : Pausen eingeben ] | [ Unsichtbare Pausen > ] |
Pausen
Pausen werden wie Noten eingegeben, ihre Bezeichnung ist r
.
Dauern, die länger als eine Ganze sind, haben die gezeigten
vordefinierten Befehle:
\new Staff { % These two lines are just to prettify this example \time 16/1 \override Staff.TimeSignature #'stencil = ##f % Print a maxima rest, equal to four breves r\maxima % Print a longa rest, equal to two breves r\longa % Print a breve rest r\breve r1 r2 r4 r8 r16 r32 r64 r128 }
Pausen, die ganze Takte ausfüllen und in der Taktmitte zentriert werden sollen, müssen als mehrtaktige Pausen eingegeben werden. Sie können sowohl für einen einzigen Takt als auch für mehrere Takte verwendet werden, Näheres im Abschnitt Ganztaktpausen.
Um die vertikale Position einer Pause explizit festzulegen,
kann eine Note eingegeben werden, gefolgt vom Befehl \rest
.
Die Pause wird dann an die Stelle gesetzt, wo sich sonst die
Note befinden würde. Damit wird die manuelle Formatierung von mehrstimmiger Musik
sehr viel einfacher, da die Formatierungsfunktion zur automatischen
Auflösung von Zusammenstößen diese Pausen nicht mit einbezieht.
a4\rest d4\rest
Pausenstile
Pausen können in verschiedenen Stilen dargestellt werden.
\layout { indent = 0 \context { \Staff \remove "Time_signature_engraver" } } \new Staff \relative c { \cadenzaOn \override Staff.Rest #'style = #'mensural r\maxima^\markup \typewriter { mensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \override Staff.Rest #'style = #'neomensural r\maxima^\markup \typewriter { neomensural } r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128 \bar "" \override Staff.Rest #'style = #'classical r\maxima^\markup \typewriter { classical } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 \bar "" \override Staff.Rest #'style = #'default r\maxima^\markup \typewriter { default } r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128 }
Siehe auch
Glossar: breve, longa, maxima.
Notationsreferenz: Ganztaktpausen.
Schnipsel: Rhythms.
Referenz der Interna: Rest.
Bekannte Probleme und Warnungen
Es gibt keine gundlegende Grenze für die Dauer von Pausen (sowohl kürzer als auch länger), aber die Anzahl von Symbolen ist begrenzt: Es gibt Zeichen für Pausen von einer 128 bis zu einer Maxima (8 Ganze).
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Pausen ] | [ Nach oben : Pausen eingeben ] | [ Ganztaktpausen > ] |
Unsichtbare Pausen
Eine unsichtbare Pause (auch als „skip“ oder Überspringung bezeichnet)
kann wie eine Note eingegeben werden, die Notationsbezeichnung ist s
.
a4 a4 s4 a4 \skip 1 a4
Die s
-Syntax steht nur im Noten- oder Akkordmodus zur Verfügung. In
anderen Situationen, z. B. innerhalb eines Liedtextes, muss \skip
benutzt werden. \skip
benötigt eine explizite Dauerangabe.
<< { a2 \skip2 a2 a2 } \new Lyrics { \lyricmode { foo2 \skip 1 bla2 } } >>
Die Überspringung mit s
erstellt Staff
und
Voice
-Kontext, wenn es erforderlich ist, genauso wie Noten und Pausen.
s1 s s
Der Überspringungsbefehl (\skip
) ist einfach ein leerer Platzhalter.
Durch ihn wird
überhaupt nichts gesetzt, auch keine transparenten Objekte.
% This is valid input, but does nothing \skip 1 \skip1 \skip 1
Siehe auch
Schnipsel: Rhythms.
Referenz der Interna: SkipMusic
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Unsichtbare Pausen ] | [ Nach oben : Pausen eingeben ] | [ Rhythmen anzeigen lassen > ] |
Ganztaktpausen
Pausen für einen oder mehrere ganze Takte werden wie
Noten eingegeben, wobei die Bezeichnung ein Großbuchstabe
R
ist:
% Rest measures contracted to single measure \compressFullBarRests R1*4 R1*24 R1*4 b2^"Tutti" b4 a4
Die Dauer von Ganztaktpausen wird genauso angegeben wie die Dauer von Noten. Die Dauer einer Ganztaktpause muss immer eine ganze Anzahl an Taktlängen sein, weshalb Punktierungen und Brüche recht häufig eingesetzt werden müssen.
\compressFullBarRests \time 2/4 R1 | R2 | \time 3/4 R2. | R2.*2 | \time 13/8 R1*13/8 | R1*13/8*12 | \time 10/8 R4*5*4 |
Eine Ganztaktpause wird abhängig von der Taktart entweder als Ganze oder Brevis-Pause gesetzt, zentriert im Takt.
\time 4/4 R1 | \time 6/4 R1*3/2 | \time 8/4 R1*2 |
In den Standardeinstellungen werden mehrtaktige Pausen ausgeschrieben gesetzt, sodass sie die entsprechende Anzahl von Takten einnehmen. Alternativ kann die mehrtaktige Pause aber auch nur in einem Takt angezeigt werden, der ein Mehrtaktpausensymbol geinhaltet, wobei die Anzahl der Takte der Pausendauer über dem Pausenzeichen ausgegeben wird:
% Default behavior \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % Rest measures contracted to single measure \compressFullBarRests r1 | R1*17 | R1*4 | % Rest measures expanded \expandFullBarRests \time 3/4 R2.*2 |
Textbeschriftung kann Mehrtaktpausen mit \markup
hinzugefügt werden. Ein
vordefinierte Befehl \fermataMarkup
fügt eine
Fermate ein.
\compressFullBarRests \time 3/4 R2.*10^\markup { \italic "ad lib." } R2.^\fermataMarkup
Achtung: Beschriftungen, die an Mehrtaktpausen gehängt werden, sind
Objekte vom Typ MultiMeasureRestText
, nicht vom Typ
TextScript
. Änderungen etwa mit override
müssen auf das richtige Objekt gerichtet werden, damit sie
nicht ignoriert werden. Siehe auch das folgende Beispiel.
% This fails, as the wrong object name is specified \override TextScript #'padding = #5 R1^"wrong" % This is correct and works \override MultiMeasureRestText #'padding = #5 R1^"right"
Wenn eine Mehrtaktpause direkt auf einen Auftakt mit \partial
folgt, werden möglicherweise daraus resultierende
Taktprüfungswarnungen nicht angezeigt.
Vordefinierte Befehle
\textLengthOn
,
\textLengthOff
,
\fermataMarkup
,
\compressFullBarRests
,
\expandFullBarRests
.
Ausgewählte Schnipsel
Die Erscheinung von Pausentakten ändern
Wenn zehn oder weniger Pausentakte vorkommen, wird eine Reihe von Longa-
und Brevispausen (auch Kirchenpausen genannt) gesetzt, bei mehr Takten
wird eine Line mit der Taktanzahl ausgegeben. Der vorgegebene Wert von
zehn kann geändert werden, indem man die expand-limit
-Eigenschaft
setzt:
\relative c'' { \compressFullBarRests R1*2 | R1*5 | R1*9 \override MultiMeasureRest #'expand-limit = #3 R1*2 | R1*5 | R1*9 }
Positionierung von Ganztaktpausen
Anders als bei normalen Pausen gibt es keinen direkten Befehl, um die vertikale Position von Ganztaktpausen zu beeinflussen, indem man sie an eine Tonhöhe anhängt. In polyphoner Notation wird aber dennoch die Position der Pausen von geraden und ungeraden Stimmen voneinander unterschieden. Die Position von Ganztaktpausen kann wie folgt verändert werden:
\relative c'' { % MMR - Multi-Measure Rest % MMRs by default are set under the fourth line R1 % They can be moved with an override \override MultiMeasureRest #'staff-position = #-2 R1 % A value of 0 is the default position; % the following trick moves the rest to the center line \override MultiMeasureRest #'staff-position = #-0.01 R1 % MMRs in odd-numbered voices are under the top line << { R1 } \\ { a1 } >> % MMRs in even-numbered voices are under the bottom line << { c1 } \\ { R1 } >> % They remain separated even in empty measures << { R1 } \\ { R1 } >> % This brings them together even though there are two voices \compressFullBarRests << \revert MultiMeasureRest #'staff-position { R1*3 } \\ \revert MultiMeasureRest #'staff-position { R1*3 } >> }
Markups attached to a multi-measure rest will be centered above or below it. Long markups attached to multi-measure rests do not cause the measure to expand. To expand a multi-measure rest to fit the markup, use a spacer rest with an attached markup before the multi-measure rest:
\compressFullBarRests \textLengthOn s1*0^\markup { [MAJOR GENERAL] } R1*19 s1*0_\markup { \italic { Cue: ... it is yours } } s1*0^\markup { A } R1*30^\markup { [MABEL] } \textLengthOff c4^\markup { CHORUS } d f c
Note that the spacer rest causes a bar to be inserted. Text attached to a spacer rest in this way is left-aligned to the position where the note would be placed in the measure, but if the measure length is determined by the length of the text, the text will appear to be centered.
Siehe auch
Glossar: multi-measure rest.
Notationsreferenz: Tondauern, Text, Text formatieren, Textarten.
Schnipsel: Rhythms.
Referenz der Interna: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestText.
Bekannte Probleme und Warnungen
Wenn man versucht, mit Fingersatz (etwa R1*10-4
Zahlen
über Ganztaktpausen zu setzen, kann die Zahl des Fingersatzes
(4) mit der Taktanzahl (10) zusammenstoßen.
Es gibt keine Möglichkeit, normale Pausen automatisch zu Ganztaktpausen zu reduzieren.
Ganztaktpausen werden bei der Vermeidung von Zusammenstößen nicht berücksichtigt.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Ganztaktpausen ] | [ Nach oben : Rhythmus ] | [ Taktangabe > ] |
1.2.3 Rhythmen anzeigen lassen
Taktangabe | ||
Auftakte | ||
Musik ohne Metrum | ||
Polymetrische Notation | ||
Automatische Aufteilung von Noten | ||
Melodierhythmus anzeigen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Rhythmen anzeigen lassen ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Auftakte > ] |
Taktangabe
Taktangaben könne wie folgt erstellt werden.
\time 2/4 c'2 \time 3/4 c'2.
Taktangaben werden zu Beginn eines Stückes gesetzt und immer dann, wenn sich die Taktart ändert. Wenn eine Änderung am Ende einer Zeile geschieht, wird eine warnende Taktangabe am Ende der Zeile ausgegeben. Dieses Verhalten kann verändert werden, siehe Sichtbarkeit von Objekten.
\time 2/4 c2 c \break c c \break \time 4/4 c c c c
Das Symbol für die Taktarten 2/2 und 4/4 kann in ein Zahlensymbol umgewandelt werden:
% Default style \time 4/4 c1 \time 2/2 c1 % Change to numeric style \numericTimeSignature \time 4/4 c1 \time 2/2 c1 % Revert to default style \defaultTimeSignature \time 4/4 c1 \time 2/2 c1
Symbole für Modus und Proprietas der mensuralen Notation werden behandelt unter Mensurale Taktartenbezeichnungen.
Vordefinierte Befehle
\numericTimeSignature
,
\defaultTimeSignature
.
Ausgewählte Schnipsel
Die Taktart verändern ohne die Bebalkung zu beeinflussen
Der \time
-Befehl verändert die Eigenschaften
timeSignatureFraction
, beatLength
, beatGrouping
und measureLength
im Timing
-Kontext, welcher normalerweise
gleichbedeutend mit Score
ist. Wenn der Wert von
timeSignatureFraction
verändert wird, wird die neue
Taktart ausgegeben, ohne die anderen Eigenschaften zu beeinflussen:
\markup { This snippet is deprecated as of 2.13.5 and will be removed in 2.14 }
Zusammengesetzte Taktarten
Ungerade Taktarten werden (wie etwa "5/8") werden oft als zusammengesetzte Taktarten interpretiert (bspw. "3/8 + 2/8"), in welchen zwei oder mehr Teiltakte unterschieden werden. LilyPond kann derartige Noten produzieren, indem entsprechende Taktarten gesetzt werden und die automatische Bebalkung angepasst wird.
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
Siehe auch
Glossar: time signature
Notationsreferenz: Mensurale Taktartenbezeichnungen, Verwaltung der Zeiteinheiten.
Schnipsel: Rhythms.
Referenz der Interna: TimeSignature, Timing_translator.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Taktangabe ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Musik ohne Metrum > ] |
Auftakte
Verkleinerte Takte, wie etwa ein Auftakt, werden mit dem
Befehl \partial
notiert, dessen Syntax lautet:
\partial Dauer
wobei Dauer die rhythmische Länger der Noten darstellt, die vor dem ersten vollständigen Takt gesetzt werden sollen:
\partial 4 e4 | a2. c,4 |
Das wird intern übersetzt nach:
\set Timing.measurePosition = -Länge der Dauer
Die Eigenschaft measurePosition
(Takt-Position) enthält
eine rationale Zahl,
die anezigt, wie groß der Abstand zum Taktanfang ist. Deshalb ist
sie eine negative Zahl; \partial 4
wird also intern übersetzt
zu: „Eine Viertel bleibt übrig vom ganzen Takt.“
Siehe auch
Glossar: anacrusis.
Notationsreferenz: Verzierungen.
Schnipsel: Rhythms.
Referenz der Interna: Timing_translator.
Bekannte Probleme und Warnungen
\partial
ist nur für den Anfang eines Stückes vorgesehen. Wenn der
Befehl innerhalb eines Stückes verwendet wird, können seltsame Warnungen
auftreten.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Auftakte ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Polymetrische Notation > ] |
Musik ohne Metrum
Taktlinien und Taktzahlen werden automatisch erzeugt. Für Musik
ohne Metrum hingegen (etwa Kadenzen) ist das jedoch nicht
erwünscht. Mit den Befehlen \cadenzaOn
und
\cadenzaOff
kann dieses Verhalten ausgeschaltet und
wieder angeschaltet werden.
c4 d e d \cadenzaOn c4 c d8 d d f4 g4. \cadenzaOff \bar "|" d4 e d c
Taktnummerierung wird am Ende der Kadenz wieder aufgenommen, als ob es die Kadenz nicht gegeben hätte:
% Show all bar numbers \override Score.BarNumber #'break-visibility = #all-visible c4 d e d \cadenzaOn c4 c d8 d d f4 g4. \cadenzaOff \bar "|" d4 e d c
Vordefinierte Befehle
\cadenzaOn
,
\cadenzaOff
.
Siehe auch
Glossar: cadenza.
Notationsreferenz: Sichtbarkeit von Objekten.
Schnipsel: Rhythms.
Bekannte Probleme und Warnungen
LilyPond fügt Zeilen- und Seitenumbrüche nur an einer Taktlinie ein. Wenn die Kadenz nicht vor einem Umbruch endet, müssen Sie selber unsichtbare Taktlinien mit
\bar ""
einfügen, um anzuzeigen, wo umgebrochen werden darf.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Musik ohne Metrum ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Automatische Aufteilung von Noten > ] |
Polymetrische Notation
Polymetrische Notation ist unterstützt, entweder direkt, oder indem man das sichtbare Taktart-Symbol verändert und zusätzlich die Notendauern skaliert.
Systeme mit unterschiedlichen Taktarten, gleiche Taktlänge
Diese Art der Notation kann erstellt werden, indem für jedes
System eine identische Taktart eingestellt wird, aber manuell
für jeden Takt durch Einstellung von timeSignatureFraction
auf den gewünschten Bruch geändert und dann die Länge der
Noten entsprechenden skaliert wird, siehe auch Taktangabe.
Die Skalierung geschieht mit dem Befehl
\scaleDurations
, der auf ähnliche Weise wie \times
benutzt wird, aber keine Klammer über den Noten ausgibt. Siehe
auch Tondauern skalieren.
In diesem Beispiel werden Noten mit den Taktarten 3/4, 9/8 und 10/8 parallel benutzt. Im zweiten System werden die gezeigten Dauern mit 2/3 multipliziert, da 2/3x9/8=3/4, und im dritten System werden die gezeigten Dauern mit 3/5 multipliziert, da 3/5x10/8=3/4. Oft wird es nötig sein, Balken manuell zu setzen, weil die Skalierung sich auch auf die automatische Bebalkung auswirkt.
\relative c' << \new Staff { \time 3/4 c4 c c | c c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = #'(9 . 8) \scaleDurations #'(2 . 3) \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = #'(10 . 8) \scaleDurations #'(3 . 5) { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c4. \times 2/3 { c8[ c c] } c4 } } >>
Systeme mit unterschiedlichen Taktarten, unterschiedliche Taktlänge
Jedes System kann auch eine eigene unabhängige Taktart erhalten.
Dazu muss der Timing_translator
und der
Default_bar_line_engraver
in den Staff
-Kontext
verschoben werden.
\layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % Now each staff has its own time signature. \relative c' << \new Staff { \time 3/4 c4 c c | c c c | } \new Staff { \time 2/4 c4 c | c c | c c | } \new Staff { \time 3/8 c4. | c8 c c | c4. | c8 c c | } >>
Ausgewählte Schnipsel
Zusammengesetzte Taktarten
Ungerade Taktarten werden (wie etwa "5/8") werden oft als zusammengesetzte Taktarten interpretiert (bspw. "3/8 + 2/8"), in welchen zwei oder mehr Teiltakte unterschieden werden. LilyPond kann derartige Noten produzieren, indem entsprechende Taktarten gesetzt werden und die automatische Bebalkung angepasst wird.
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
Siehe auch
Glossar: polymetric, polymetric time signature, meter.
Notationreferenz: Taktangabe, Tondauern skalieren.
Schnipsel: Rhythms.
Referenz der Intera: TimeSignature, Timing_translator, Default_bar_line_engraver, Staff.
Bekannte Probleme und Warnungen
Wenn unterschiedliche Taktarten paralell benutzt werden, werden Noten auf demselben musikalischen Moment horizontal auf die gleiche Position gesetzt. Die unterschiedlichen Taktlinien führen allerdings dazu, dass die Noten nicht ganz so regelmäßig gesetzt werden, wie es ohne unterschiedliche Taktarten der Fall wäre.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Polymetrische Notation ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Melodierhythmus anzeigen > ] |
Automatische Aufteilung von Noten
Lange Noten, die über Taktlinien hinüberreichen, können automatisch in übergebundene Noten aufgeteilt werden. Dieses Verhalten erreicht man, indem der Note_heads_engraver mit dem Completion_heads_engraver ausgetauscht wird. Im nächsten Beispiel werden Noten, die über die Taktlinie dauern, aufgeteilt und übergebunden.
\new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } { c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 }
Dieser Engraver teilt alle Noten auf, die über eine Taktlinie dauern und fügt Bindebögen hinzu. Er kann unter Anderem dann nützlich sein, wenn man komplexe Partituren auf Fehler überprüfen möchte: Wenn die Takte nicht vollständig gefüllt sind, zeigt die Überbindung genau an, wie viele Notenwerte noch in dem jeweiligen Takt fehlen.
Siehe auch
Glossar: tie
Handbuch zum Lernen: Was sind Engraver?, Engraver hinzufügen und entfernen.
Schnipsel: Rhythms.
Referenz der Interna: Note_heads_engraver, Completion_heads_engraver, Forbid_line_break_engraver.
Bekannte Probleme und Warnungen
Nicht alle Notenwerte (besonders wenn sie andere rhythmische Aufteilungen beinhalten) können exakt durch normale Noten und Punktierungen wiedergegeben werden. Der Engraver setzt aber trotzdem keine Triolen etc.
Completion_heads_engraver
wirkt sich nur auf Noten aus;
Pausen werden nicht aufgeteilt.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Automatische Aufteilung von Noten ] | [ Nach oben : Rhythmen anzeigen lassen ] | [ Balken > ] |
Melodierhythmus anzeigen
Manchmal soll nur der Rhythmus einer Melodie dargestellt werden. Das erreicht man mit einem Rhythmus-Notensystem. Alle Tonhöhen werden auf eine Linie reduziert und das System hat auch nur eine einzige Linie.
<< \new RhythmicStaff { \new Voice = "myRhythm" { \time 4/4 c4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >>
Akkordnotation für Gitarren bezeichnet auch oft zusätzlich den
geschlagenen Rhythmus. Das kann notiert werden unter Verwendung
des Pitch_squash_engraver
und indem Tonhöhenimprovisation
eingeschaltet wird mit \improvisationOn
.
<< \new ChordNames { \chordmode { c1 f g c } } \new Voice \with { \consists Pitch_squash_engraver } \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } >>
Vordefinierte Befehle
\improvisationOn
,
\improvisationOff
.
Ausgewählte Schnipsel
Schlagrhythmus für Guitarren
In Guitarrennotation kann neben Melodie, Akkordbezeichnungen und Bunddiagrammen auch der Schlagrhythmus angegeben werden.
\include "predefined-guitar-fretboards.ly" << \new ChordNames { \chordmode { c1 | f | g | c } } \new FretBoards { \chordmode { c1 | f | g | c } } \new Voice \with { \consists "Pitch_squash_engraver" } { \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } } \new Voice = "melody" { \relative c'' { c2 e4 e4 f2. r4 g2. a4 e4 c2. } } \new Lyrics { \lyricsto "melody" { This is my song. I like to sing. } } >>
Siehe auch
Schnipsel: Rhythms.
Referenz der Interna: RhythmicStaff, Pitch_squash_engraver.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Melodierhythmus anzeigen ] | [ Nach oben : Rhythmus ] | [ Automatische Balken > ] |
1.2.4 Balken
Automatische Balken | ||
Einstellung von automatischen Balken | ||
Manuelle Balken | ||
Gespreizte Balken |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Balken ] | [ Nach oben : Balken ] | [ Einstellung von automatischen Balken > ] |
Automatische Balken
LilyPond setzt Balken (engl. beam) automatisch.
\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
Wenn diese automatischen Entscheidungen nicht gut genug sind, können die Balken auch explizit eingegeben werden, siehe Manuelle Balken. Balken müssen auch auf diese Weise eingegeben werden, wenn sie über Pausen hinwegreichen sollen.
Wenn automatische Bebalkung nicht benötigt wird, kann sie mit dem Befehl \autoBeamOff
aufgehoben werden und mit dem Befehl \autoBeamOn
wieder
eingeschaltet werden.
c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8
Achtung: Wenn Balken eingesetzt werden, um Melismen in Gesang zu notieren,
sollte die automatische Bebalkung mit autoBeamOff
ausgeschaltet
werden und die Balken manuell notiert werden.
Balkenmuster, die sich von den automatisch erstellen unterscheiden, können erstellt werden, siehe Einstellung von automatischen Balken.
Vordefinierte Befehle
\autoBeamOff
,
\autoBeamOn
.
Ausgewählte Schnipsel
Balken über Zeilenumbrüche
Zeilenumbrüche sind normalerweise während Balken verboten. Das kann geändert werden.
\relative c'' { \override Beam #'breakable = ##t c8 c[ c] c[ c] c[ c] c[ \break c8] c[ c] c[ c] c[ c] c }
Balken für weit auseinander liegende Noten ändern
Balken mit Hälsen in unterschiedliche Richtungen werden automatisch
erstellt, wenn ein großer Sprung zwischen Tonhöhen gefunden wird. Dieses
Verhalten kann durch die auto-knee-gap
-Eigenschaft beeinflusst
werden. Ein derartiger Knie-Balken wird erstellt, wenn der Abstand größer
ist als der Wert von auto-knee-gap
plus der Dicke des Balkens
(was von der Notendauer und der Neigung des Balkens abhängt). Der
Standardwert von auto-knee-gap
ist 5.5 Notensystemabstände.
{ f8 f''8 f8 f''8 \override Beam #'auto-knee-gap = #6 f8 f''8 f8 f''8 }
Siehe auch
Notationsreferenz: Manuelle Balken, Einstellung von automatischen Balken.
Installierte Dateien: ‘scm/auto-beam.scm’.
Schnipsel: Rhythms.
Referenz der Interna: Beam.
Bekannte Probleme und Warnungen
Balken können mit Notenköpfen und Versetzungszeichen in anderen Stimmen zusammenstoßen.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Automatische Balken ] | [ Nach oben : Balken ] | [ Manuelle Balken > ] |
Einstellung von automatischen Balken
Die Platzierung der automatischen Bebalkung wird entsprechend der Taktart entschieden. Drei Arten von Regeln werden eingesetzt, um die Endpunkte der automatischen Balken zu bestimmen: Standardregeln für die Taktart, ausdrückliche Regeln für einen Balken in einer Taktart und die Eigenschaft beatLenght (Schlagdauer) der Taktart.
Die folgenden Regeln, in der Reihenfolge ihrer Priorität, gelten, wenn das Aussehen der Balken bestimmt wird:
- Wenn ein manueller Balken mit
[...]
definiert ist, wird er gesetzt, andernfalls - wenn
\autoBeamOff
eingeschaltet ist, werden keine Balken gesetzt, andernfalls - wenn eine ausdrückliche Balkenregel für diesen Balken in dieser Taktart definiert ist, wird sie genommen um die möglichen Stellen zu errechnen, an denen der Balken enden darf, andernfalls
- wenn eine Standardbalkenregel für die Taktart definiert ist, wird sie genommen, um Noten mit Balken zu gruppieren, andernfalls
- benutze den Wert von
beatLength
um die Noten mit Balken zu gruppieren.
Die Gruppierung von Taktzeiten verändern
Standardmäßig wird beatLength
(Schlagdauer) von der
Taktart abgeleitet, die mit dem \time
-Befehl gesetzt
wurde. Die Schlagdauer wird definiert als eine Eins über dem
Nenner der Taktart.
beatLength
ist ein Moment, eine Einheit musikalischer
Dauer. Eine Größe der Art Moment wird durch die Scheme-Funktion
ly:make-moment
erstellt. Für mehr Information zu dieser
Funktion siehe Verwaltung der Zeiteinheiten.
Automatische Bebalkung und Balkenunterteilungen werden gespeichert
in den Einstellungen der beamSettings
-Eigenschaft.
Standardwerte von beamSettings
werden in der Datei
‘scm/beam-settings.scm’ definiert. Einträge in
beamSettings
werden nach Taktart und Regelart sortiert.
Die Taktart sollte als Scheme-Paar dargestellt werden, also
#'(4 . 4)
.
Die Regelart sollte sein #'end
für Balkenenden und
#'subdivide
für Balkenunterteilungen.
Die Endungs- und Unterteilungsregeln bestehen aus einer Scheme-Aliste (oder Liste von Paaren), die den Balkentyp und die Gruppierung, die auf diesen Balkentyp angewendet werden soll, anzeigt.
#'((beam-type1 . grouping-1) (beam-type2 . grouping-2) (beam-type3 . grouping-3))
Balkentyp ist entweder ein Scheme-Paar, das die Dauer des Balkens
anzeigt, etwa (1 . 16)
, oder *
, um eine Standardregel
anzuzeigen, die auf alle Balken angewendet werden soll, wenn
keine spezifische Regel vorliegt.
Die Balkengruppierung ist eine Scheme-Liste, die die Gruppierungsart
für einen Balkentyp darstellt. Für Standardregeln (in denen
der Balkentyp *
ist) wird die Gruppierung in Einheiten
von beatLength
dargestellt. Für explizite Regeln wird
die Gruppierung in Einheiten der Balkenart angezeigt.
Balkenregeln werden verändert mit \overrideBeamSettings
und \revertBeamSettings
.
\time 5/16 c8^"beats" c16 c8 | \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3))) c8^"(2+3)" c16 c8 \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2))) c8^"(3+2)" c16 c8
Balkenregelveränderungen können auf bestimmte Kontexte beschränkt werden. Wenn keine Regeln in einen unteren Kontext definiert sind, gelten die Regeln des höheren Kontext, in dem sich der niedrigere befindet.
\new Staff << \time 7/8 \new Voice = one { \relative c'' { \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (2 3 2))) a8 a a a a a a } } \new Voice = two { \relative c' { \voiceTwo \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (1 3 3))) f8 f f f f f f } } >>
Wenn mehrere Stimmen eingesetzt werden, muss der Staff
-Kontext
definiert werden, wenn die Balkenregeln auf alle Stimmen des
Systems angewendet werden sollen:
\time 7/8 % rhythm 3-1-1-2 % Context Voice specified -- does not work correctly % Because of autogenerated voices, all beating will % be at beatLength (1 . 8) \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >> % Works correctly with context Staff specified \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
Balkenregeln können rückgängig gemacht und das Standardverhalten
wieder hergestellt werden. Das erreicht man durch den Einsatz
von \revertBeamSettings
. Die Argumente sind die gleichen
wie für overrideBeamSettings
, außer das kein Wert für
Gruppierung gegeben wird:
\revertBeamSettings Kontext Taktart Regelart
\time 4/4 \repeat unfold 16 {a16} % set default rule for (1 1 1 1) grouping \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1))) \repeat unfold 16 {a16} % revert the new rule \revertBeamSettings #'Score #'(4 . 4) #'end \repeat unfold 16 {a16}
Ausgewählte Schnipsel
Balken in Untergruppen teilen
Die Balken von aufeinanderfolgenden Sechszehnteln (oder kürzeren Notenwerten)
werden standardmäßig nicht unterteilt. Dieses Verhalten kann verändert
werden, sodass die Balken in Untergruppen aufgeteilt werden, indem man
die Eigenschaft subdivideBeams
verändert. Man muss die Unterteilungsintervalle
als Notenbruch mit der make-moment
-Funktion für beatLength
angeben,
damit die Balken unterbrochen wird und nur ein Balken durchgezogen bleibt. Der
Standardwert für beatLength
ist 1 / Zähler des aktuellen Taktes.
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set beam sub-group length to an eighth note \set beatLength = #(ly:make-moment 1 8) c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note \set beatLength = #(ly:make-moment 1 16) c32[ c c c c c c c] }
Dirigirzeichen Taktgruppenzeichen
Optionen, mit denen die Balken in einem Takt gruppiert werden, sind
durch die Scheme-Funktion set-time-signature
erhältlich, die
drei Argumente braucht: Die Zahl der Taktschläge, die Länge des
Schlages und die interne gruppieren von Balken in dem Takt. Wenn der
Measure_grouping_engraver
hinzugefügt worden ist, erstellt
diese Funktion auch MeasureGrouping
-(Taktgruppen)-Zeichen. Derartige
Zeichen erleichtern das Lesen von rhythmisch komplexer Musik. In dem
Beispiel ist der 9/8-Takt in 2, 2, 2 und 3 aufgeteilt. Das wird
der set-time-signature
-Funktion als das dritte Argument mitgegeben:
'(2 2 2 3)
:
\score { \relative c'' { \time 9/8 \overrideBeamSettings #'Score #'(9 . 8) #'end #'((* . (2 2 2 3))) g8 g d d g g a( bes g) | #(set-time-signature 9 8 '(4 5)) g8 g d d g g a( bes g) | \time 5/8 a4. g4 | } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Balkenenden auf Score-Ebene
Balkenenderegeln, die im Score
-Kontext definiert werden, wirken
sich auf alle Systeme aus, können aber auf Staff
- und
Voice
-Ebene neu verändert werden:
\relative c'' { \time 5/4 % Set default beaming for all staves \overrideBeamSettings #'Score #'(5 . 4) #'end #'(((1 . 8) . (3 4 3)) ((1 . 16) . (6 8 6)) ((1 . 32) . (12 16 12))) << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \overrideBeamSettings #'Staff #'(5 . 4) #'end #'((* . (3 2))) c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \overrideBeamSettings #'Voice #'(5 . 4) #'end #'((* . (3 2))) a8 a a a a a a a a a } >> } >> }
Bekannte Probleme und Warnungen
Wenn eine Partitur endet, während ein automatischer Balken noch
nicht beendet wurde und weiterhin Notenerwartet, wird dieser
letzte Balken nicht ausgegeben. Das Gleiche gilt auch für
polyphone Stimmen, die mit der <<
… \\ … >>
-Konstruktion notiert wurden. Wenn eine
polyphone Stimme endet, während ein Balken noch weitere Noten
erwartet, wird der Balken nicht gesetzt.
Siehe auch
Schnipsel: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Einstellung von automatischen Balken ] | [ Nach oben : Balken ] | [ Gespreizte Balken > ] |
Manuelle Balken
In einigen Fällen kann es nötig sein, den automatischen Algorithmus
für die Balken zu überschreiben. Die automatischen Balken werden
beispielsweise nicht über Pausen oder Taktlinien hinweg gesetzt, und
in Gesang werden die Balken oft nach dem Rhythmus des Textes und
nicht dem der Musik gesetzt.
Manuell definierte Balken werden mit den Zeichen [
und
]
(AltGr+8 bzw. 9) markiert.
{ r4 r8[ g' a r8] r8 g[ | a] r8 }
Einzelne Noten können mit dem Befehl \noBeam
markiert werden,
damit sie nicht mit einem Balken versehen werden.
\time 2/4 c8 c\noBeam c c
Noch bessere manuelle Kontrolle über die Balken kann durch Setzen
der Eigenschaften stemLeftBeamCount
und
stemRightBeamCount
erreicht werden. Sie bestimmen
die Anzahl von Balken, die rechts und links vom Hals der nächsten
Note gesetzt werden sollen. Wenn eine Eigenschaften gesetzt ist,
wird ihr Wert nur einmal eingesetzt und dann wieder auf Null gesetzt.
Im folgenden Beispiel hat das letzte f
nur einen Balken
an seiner linken Seite (der als Achtelbalken der gesamten
Gruppe gewertet wird).
a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f \set stemLeftBeamCount = #1 g a]
Ausgewählte Schnipsel
Gerade Fähnchen und überstehende Balkenenden
Gerade Fähnchen an einzelnen Noten und überstehende Balkenenden bei
bebalkten Notengruppen sind möglich mit einer Kombination aus
stemLeftBeamCount
, stemRightBeamCount
und Paaren von
[]
-Balkenbegrenzungen.
Für gerade Fähnchen, die nach rechts zeigen, kann []
eingesetzt
werden und stemLeftBeamCount
auf Null gesetzt werden (wie
Bsp. 1).
Für gerade Fähnchen, die nach links zeigen, muss stemRightBeamCount
eingesetzt werden (Bsp. 2).
Für überstehende Balkenenden nach rechts muss stemRightBeamCount
auf einen positiven Wert gesetzt werden, für Balkenenden, die nach links
zeigen benutzt man stemLeftBeamCount
(Bsp. 3).
Manchmal können einzelne Noten, die von Pausen umgeben sind, auch Balkenenden
in beide Richtungen tragen. Das geschieht mit []
-Klammern (Bsp. 4).
(\set stemLeftBeamCount
entspricht immer dem Befehl
\once \set
. Anders gesagt müssen die Einstellungen immer wieder
wiederholt werden und die Fähnchen des letzten Sechszehntels im letzten
Beispiel haben nichts mit dem \set
-Befehl zwei Noten vorher zu tun.)
\score { << % Example 1 \new RhythmicStaff { \set stemLeftBeamCount = #0 c16[] r8. } % Example 2 \new RhythmicStaff { r8. \set stemRightBeamCount = #0 c16[] } % Example 3 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r r \set stemLeftBeamCount = #2 c16 c c } % Example 4 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r c16[] r16 \set stemLeftBeamCount = #2 c16 c } >> }
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Manuelle Balken ] | [ Nach oben : Balken ] | [ Takte > ] |
Gespreizte Balken
Gespreizte Balken werden teilweise eingesetzt um anzuzeigen, dass
kleine Notengruppen in beschleunigendem oder verlangsamendem Tempo
gespielt werden sollen, ohne dass sich das Tempo des Stückes
verändert. Die Reichweite der gespreizten Balken muss manuell
mit [
und ]
angegeben werden und die Spreizung wird
kontrolliert, indem der Balken-Eigenschaft grow-direction
eine Richtung zugewiesen wird.
Wenn die Anordnung der Noten und die MIDI-Ausgabe das Ritardando
oder Accelerando, wie es die Spreizung angibt, reflektieren soll,
müssen die Noten als ein musikalischer Ausdruck notiert werden,
der von geschweiften Klammern umgeben ist und dem ein
featheredDurations
-(gespreizteDauern)-Befehl vorangestellt
ist, der das Verhaltnis der ersten und letzten Dauer definiert.
Die eckigen Klammern geben die Reichweite des Balkens an und die geschweiften Klammern zeigen, auf welche Noten sich die Veränderung der Dauern auswirkt. Normalerweise bezieht sich das auf die selbe Notengruppe, aber das ist nicht unbedingt erforderlich: beide Befehle sind unabhängig voneinander.
Im folgenden Beispiel nehmen die acht 16-Noten exakt die gleiche Zeit ein wie eine halbe Note, aber die erste Note ist halb so lang wie die letzte der Gruppe, und die Noten dazwischen werden stufenweise verlängert. Die ersten vier 32-Noten beschleunigen stufenweise das Tempo, während die darauffolgenden vier 32-Noten ein gleichmäßiges Tempo haben.
\override Beam #'grow-direction = #LEFT \featherDurations #(ly:make-moment 2 1) { c16[ c c c c c c c] } \override Beam #'grow-direction = #RIGHT \featherDurations #(ly:make-moment 2 3) { c32[ d e f] } % revert to non-feathered beams \override Beam #'grow-direction = #'() { g32[ a b c] }
Die Platzierung der Noten im Druckbild entspricht den Notendauern nur annähernd, aber die MIDI-Ausgabe ist exakt.
Bekannte Probleme und Warnungen
Der \featherDurations
-Befehl funktioniert nur mit kurzen
Notenabschnitten, und wenn die Zahlen in den Brüchen klein
sind.
Siehe auch
Snippets: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Gespreizte Balken ] | [ Nach oben : Rhythmus ] | [ Taktstriche > ] |
1.2.5 Takte
Taktstriche | ||
Taktzahlen | ||
Takt- und Taktzahlüberprüfung | ||
Übungszeichen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Takte ] | [ Nach oben : Takte ] | [ Taktzahlen > ] |
Taktstriche
Taktstriche trennen Takte voneinander, werden aber auch verwendet, um Wiederholungen anzuzeigen. Normalerweise werden sie automatisch nach Vorgabe der aktuellen Taktart eingefügt.
Die einfachen, automatisch eingefügten Taktstriche können mit dem
\bar
-Befehl geändert werden. Eine doppelter Tatkstrich etwa
wird normalerweise am Ende eines Stückes gesetzt:
e4 d c2 \bar "|."
Es ist kein Fehler, wenn die letzte Note in einem Takt nicht zum automatisch eingefügten Taktstrich aufhört: es wird angenommen, dass die Note im nächsten Takt weitergeht. Wenn aber eine ganze Reihe solcher überlappenden Takte auftritt, können die Noten gedrungen aussehen oder sogar über den Seitenrand hinausragen. Das kommt daher, dass Zeilenumbrüche nur dann vorgenommen werden, wenn ein vollständiger Takt auftritt, also ein Takt, an dem alle Noten vor dem Taktstrich zu Ende sind.
Achtung: Eine falsche Dauer kann bewirken, dass Zeilenumbrüche verhindert werden, woraus resultiert, dass die Noten entweder sehr stark gedrängt auf der Zeile notiert werden, oder die Zeile über den Seitenrand hinausragt.
Zeilenumbrüche werden erlaubt, wenn ein Taktstrich manuell eingefügt wird, auch, wenn es sich um keinen vollständigen Takt handelt. Um einen Zeilenumbruch zu erlauben, ohne den Taktstrich auszugeben, kann
\bar ""
benutzt werden. Damit wird ein unsichtbarer Taktstrich an dieser Stelle eingefügt und damit ein Zeilenumbruch erlaubt (aber nicht erzwungen), ohne dass sich die Anzahl der Takte erhöhen würde. Um einen Zeilenumbruch zu erzwingen, siehe Zeilenumbrüche.
Diese Art von Taktstrichen und auch andere besondere Taktstriche können manuell an jeder Stelle in der Partitur eingefügt werden. Wenn sie mit dem Ende eines Taktes übereinstimmen, wird der automatische Taktstrich durch den manuellen ersetzt. Diese manuellen Einfügungen haben keine Auswirkung auf die Zählung und Position der folgenden automatischen Taktstriche.
Manuell können zwei einfache Taktstriche und zusätzlich fünf Arten eines doppelten Taktstriches gesetzt werden:
f1 \bar "|" f \bar "." g \bar "||" a \bar ".|" b \bar ".|." c \bar "|.|" d \bar "|." e
Zusätzlich gibt es noch punktierte und gestrichelte Taktstriche:
f1 \bar ":" g \bar "dashed" a
und fünf unterschiedliche Wiederholungstaktstriche:
f1 \bar "|:" g \bar ":|:" a \bar ":|.|:" b \bar ":|.:" c \bar ":|" d
Zusätzlich kann eine Taktlinie mit einem einfachen Apostroph gesetzt werden:
f1 \bar "'"
Derartige Apostrophe werden allerdings vor allem im gregorianischen
Choral eingesetzt, und es wird empfohlen, anstatt dessen
\divisioMinima
zu benutzen, wie beschrieben im Abschnitt
Divisiones.
Auch wenn die Taktlinien, die Wiederholungen angeben, manuell eingefügt werden können, wird die Wiederholung dadurch nicht von LilyPond erkannt. Wiederholte Stellen werden besser notiert, indem man die Wiederholguns-Befehle einsetzt, die automatische die richtigen Taktlinien setzen. Das ist beschrieben inWiederholungszeichen.
Zusätzlich kann noch "||:"
verwendet werden, dass sich
genauso wie "|:"
verhält, außer bei Zeilenumbrüchen, wo ein
doppeltre Taktstrich am Ende der Zeile ausgegeben wird und ein
öffnender Wiederholungsstrich am Anfang der nächsten Zeile.
\override Score.RehearsalMark #'padding = #3 c c c c \bar "||:" c c c c \break \bar "||:" c c c c
In Partituren mit vielen Systemen wird ein \bar
-Befehl in einem
System automatisch auf alle anderen Systeme angewendet. Die resultierenden
Taktstriche sind miteinander verbunden innerhalb einer Gruppe
(StaffGroup
) oder einem Klaviersystem
(PianoStaff
bzw. (GrandStaff
).
<< \new StaffGroup << \new Staff { e'4 d' \bar "||" f' e' } \new Staff { \clef bass c4 g e g } >> \new Staff { \clef bass c2 c2 } >>
Ausgewählte Schnipsel
Der Befehl \bar
Taktart ist eine Kurzform von:
\set Timing.whichBar =
Taktart. Immer, wenn
whichBar
auf einen Wert gesetzt wird, wird ein
Taktstrich dieses Typs erzeugt.
Der automatisch erzeugte Taktstrich ist "|"
. Das kann
jederzeit durch den Befehl \set Timing.defaultBarType =
Takstrichart geändert werden.
Siehe auch
Notationsreferenz: Zeilenumbrüche, Wiederholungszeichen, Systeme gruppieren.
Schnipsel: Rhythms.
Referenz der Interna: BarLine (created at Staff level), SpanBar (across staves), Timing_translator (for Timing properties).
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Taktstriche ] | [ Nach oben : Takte ] | [ Takt- und Taktzahlüberprüfung > ] |
Taktzahlen
Taktnummern werden standardmäßig zu Beginn eines jeden Systems
ausgegeben, ausgenommen ist die erste Zeile. Die Zahl selber
wird in der currentBarNumber
-Eigenschaft gespeichert, die
normalerweise für jeden Takt aktualisiert wird. Sie kann aber auch
manuell gesetzt werden:
c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c
Taktnummern können in regelmäßigem Abstand ausgegeben werden,
anstatt dass sie nur am Beginn des Systems erscheinen. Um das
zu erreichen, muss die Standardeinstellung verändert werden, um
zu erlauben, dass Taktnummern an anderen Stellen als dem
Beginn von Systemen ausgegeben werden. Das wird mit der
Eigenschaft break-visibility
von BarNumber
vorgenommen.
Sie braucht drei Werte, die auf #t
(wahr) oder #f
(falsch) gestellt werden können, womit angegeben wird, ob die
Taktnummer an der entprechenden Stelle sichtbar ist. Die
Reihenfolge der Werte ist: Ende der Zeile, Mitte
der Zeile und Beginn der Zeile. Im folgenden
Beispiel werden die Taktlinien überall ausgegeben:
\override Score.BarNumber #'break-visibility = #'#(#t #t #t) \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" c1 | c | c | c \break c1 | c | c | c
Setzen der Taktnummer für den ersten Takt
Standardmäßig wird die erste Taktzahl einer Paritur nicht gesetzt,
wenn sie weniger oder gleich ’1’ ist. Indem man barNumberVisibility
auf all-bar-numbers-visible
setzt, kann eine beliebige
Taktzahl für den ersten und die folgenden Takte gesetzt werden.
Eine leere Taktlinie muss jedoch vor der ersten Note eingefügt
werden, damit das funktioniert.
\relative c' { \set Score.barNumberVisibility = #all-bar-numbers-visible \bar "" c1 | d | e | f \break g1 | e | d | c }
Setzen der Taktnummern in regelmäßigen Intevallen
Taktnummern können in regelmäßigen Intervallen gesetzt werden, indem
man die Eigenschaft barNumberVisibility
definiert. In diesem
Beispiel werden die Taktnummern jeden zweiten Takt gesetzt, außer
am Ende einer Zeile.
\relative c' { \override Score.BarNumber #'break-visibility = #end-of-line-invisible \set Score.currentBarNumber = #11 % Permit first bar number to be printed \bar "" % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c | c | c | c \break c1 | c | c | c | c }
Setzen von Taktnummern in Kästen oder Kreisen
Taktnummern können auch in Boxen oder Kreisen gesetzt werden.
\relative c' { % Prevent bar numbers at the end of a line and permit them elsewhere \override Score.BarNumber #'break-visibility = #end-of-line-invisible \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4) % Increase the size of the bar number by 2 \override Score.BarNumber #'font-size = #2 % Draw a box round the following bar number(s) \override Score.BarNumber #'stencil = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print) \repeat unfold 5 { c1 } % Draw a circle round the following bar number(s) \override Score.BarNumber #'stencil = #(make-stencil-circler 0.1 0.25 ly:text-interface::print) \repeat unfold 4 { c1 } \bar "|." }
Taktnummern ausrichten
Taktnummern sind standardmäßig links an ihrem Ursprungsobjet ausgerichtet. Das ist normalerweise die linke Ecke einer Linie oder, wenn die Nummern innerhalb einer Zeile gesetzt werden, auf der linken Seite eines Taktstrichs. Die Nummern können auch direkt über dem Taktstrich positioniert werden oder rechts vom Taktstrich gesetzt werden.
\relative c' { \set Score.currentBarNumber = #111 \override Score.BarNumber #'break-visibility = #all-visible % Increase the size of the bar number by 2 \override Score.BarNumber #'font-size = #2 % Print a bar number every second measure \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2) c1 | c1 % Center-align bar numbers \override Score.BarNumber #'self-alignment-X = #CENTER c1 | c1 % Left-align bar numbers \override Score.BarNumber #'self-alignment-X = #LEFT c1 | c1 }
Entfernung von Taktnummern in einer Partitur
Taktnummern können vollkommen aus den Noten entfernt werden, indem
man den Bar_number_engraver
aus dem Score
-Kontext
entfernt.
\layout { \context { \Score \remove "Bar_number_engraver" } } \relative c'' { c4 c c c \break c4 c c c }
Siehe auch
Schnipsel: Rhythms.
Referenz der Interna: BarNumber.
Bekannte Probleme und Warnungen
Taktnummern können mit der oberen Ecke der Klammer zu Beginn des
Systems zusammenstoßen. Um das zu verhindert, kann die
padding
-Eigenschaft von BarNumer
verwendet werden,
um die Zahl zu verschieben.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Taktzahlen ] | [ Nach oben : Takte ] | [ Übungszeichen > ] |
Takt- und Taktzahlüberprüfung
Die Taktüberprüfung hilft, Fehler in den Notendauern zu entdecken. Eine Taktüberprüfung wird mit dem Taktstrichsymbol „|“ (Taste AltGr+<) eingegeben. Immer, wenn LilyPond bei der Ausgabe des Notendrucks auf dieses Zeichen stößt, sollte hier in den Noten auch ein Taktstrich erscheinen. Wenn das nicht der Fall ist, wird eine Warnung ausgegeben. Im nächsten Beispiel resultiert die zweite Taktüberprüfung in einer Fehlermeldung.
\time 3/4 c2 e4 | g2 |
Taktüberprüfungen können auch in Gesangstexten verwendet werden:
\lyricmode { \time 2/4 Twin -- kle | Twin -- kle }
Besonders in mehrstimmiger komplizierter Musik können falschen Notenwerte die ganze Partitur durcheinander bringen. Es lohnt sich also, die Fehlersuche damit zu beginnen, nicht bestandene Taktüberprüfungen zu kontrollieren.
Wenn aufeinander folgende Taktüberprüfungen mit dem gleichen Abstand Fehler produzieren, wird eventuell nur die erste Warnung ausgegeben. Damit wird die Warnung auf den Ursprung de Fehlers fokussiert.
Es ist auch möglich, die Bedeutung des Symbols |
umzudefinieren, so dass hiermit eine andere Aktion als eine
Taktüberprüfung erreicht wird.
Das geschieht, indem man der Pipe (pipeSymbol
einen musikalischen
Ausdruck zuweist. Im nächsten Beispiel wird |
dazu
verwendet, eine doppelte Taktlinie auszugeben, woimmer man
das Zeichen auchsetzt. Gleichzeitig hört das Zeichen auf,
als Taktüberprüfung zu funktionieren.
pipeSymbol = \bar "||" { c'2 c'2 | c'2 c'2 c'2 | c'2 c'2 c'2 }
Wenn man größere Musikstücke kopiert, kann es hilfreich sein, wenn
LilyPond überprüft, ob die Taktnummer, in der Sie gerade kopieren,
mit der des Originales übereinstimmt. Das kann mit dem Befehl
\barNumberCheck
folgenderweise überprüft werden:
\barNumberCheck #123
Eine Warnung wird ausgegeben, wenn der interne Zähler
currentBarNumber
von LilyPond
nicht mit dem Wert 123 übereinstimmt.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Takt- und Taktzahlüberprüfung ] | [ Nach oben : Takte ] | [ Besondere rhythmische Fragen > ] |
Übungszeichen
Übungszeichen können mit dem \mark
-Befehl ausgegeben werden:
c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default
Der Buchstabe „I“ wird ausgelassen, was den allgemeinen Notensatzregeln entspricht. Wenn Sie dennoch den Buchstaben „I“ benutzen, wollen, müssen Sie
\set Score.markFormatter = #format-mark-alphabet
benutzen.
Das Zeichen wird automatisch erhöht, wenn Sie \mark
\default
schreiben, aber Sie können auch eine beliebige
Ganzzahl als Argument angeben. Der Wert, der gesetzt werden
soll, wird in der Eigenschaft rehearsalMark
gespeichert.
Der Stil der Übungszeichen wird von der Eigenschaft markFormatter
definiert. Das ist eine Funktion, die
das aktuelle Zeichen und den aktuellen Kontext als Argument
annimmt. Sie gibt dann ein Textbeschriftungsobjekt aus. Im
folgenden Beispiel ist markFormatter
so definiert, dass
eine Zahl ausgegeben wird. In den folgenden Takten
werden dann andere mögliche Einstellungen gezeigt.
\set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1
Die Datei ‘scm/translation-functions.scm’ beinhaltet
die Definitionen für format-mark-numbers
(erstelle-Zeichen-Nummern),
format-mark-box-numbers
(erstelle-Zeichen-Kasten-Nummern),
format-mark-letters
(erstelle-Zeichen-Buchstaben) und
format-mark-box-letters
(erstelle-Zeichen-Kasten-Buchstaben). Sie können als Anleitung
für eigene Formatierungsfunktionen dienen.
Die Funktionen format-mark-barnumbers
,
format-mark-box-barnumbers
und
format-mark-circle-barnumbers
könenn eingesetzt werden,
um Taktnummern anstelle der fortlaufenden Zahlen bzw. Buchstaben
zu erhalten.
Andere Übungszeichenstile können auch manuell gesetzt werden:
\mark "A1"
Score.markFormatter
hat keine Auswirkungen auf solcherart
definierte Zeichen. Man kann aber auch mit \markup
Textbeschriftungsobjekte zu dem selbstdefinierten Zeichen
hinzufügen:
\mark \markup{ \box A1 }
Musikbuchstaben (wie etwa das Segno-Zeichen) können mit dem Befehl
\musicglyph
als ein
\mark
-Zeichen definierte werden:
c1 \mark \markup { \musicglyph #"scripts.segno" } c1 \mark \markup { \musicglyph #"scripts.coda" } c1 \mark \markup { \musicglyph #"scripts.ufermata" } c1
Siehe Die Feta-Schriftart, wo alle Symbole gezeigt sind, die
mit dem Befehl \musicglyph
ausgegeben werden können.
Übliche Veränderungen der Positionierung von Übungszeichen finden sich in Text formatieren.
Siehe auch
Notationsreferenz: Die Feta-Schriftart, Text formatieren.
Installierte Dateien:
‘scm/translation-functions.scm’ beinhaltet die Definition
von format-mark-numbers
und
format-mark-letters
. Sie können als Anleitung für eigene
Funktionen benutzt werden.
Schnipsel: Rhythms.
Referenz der Interna: RehearsalMark.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Übungszeichen ] | [ Nach oben : Rhythmus ] | [ Verzierungen > ] |
1.2.6 Besondere rhythmische Fragen
Verzierungen | ||
An Kadenzen ausrichten | ||
Verwaltung der Zeiteinheiten |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Besondere rhythmische Fragen ] | [ Nach oben : Besondere rhythmische Fragen ] | [ An Kadenzen ausrichten > ] |
Verzierungen
Verzierungen sind ausgeschriebene Verzierungen. Sie werden in einer kleineren Schriftgröße gesetzt und nehmen keine logische Zeit im Takt ein.
c4 \grace c16 c4 \grace { c16[ d16] } c2
LilyPond hat auch Unterstützung für zwei besondere Verzierungen, den Vorschlag und den Vorhalt. Der Vorschlag wird durch eine verkleinerte Note mit Schrägstrich und Bogen notiert. Der Vorhalt dagegen ist eine Verzierung, die einen bestimmten Notenwert der Hauptnote für sich beansprucht. Er wird als verkleinerte Note ohne Schrägstrich notiert.
\grace c8 b4 \acciaccatura d8 c4 \appoggiatura e8 d4 \acciaccatura { g16[ f] } e4
Die Position von Verzierungen ist zwischen Notensystemen synchronisiert. Im nächsten Beispiel stehen im einen System zwei 16-Noten für jede 8-Note des zweiten Systems:
<< \new Staff { e2 \grace { c16[ d e f] } e2 } \new Staff { c2 \grace { g8[ b] } c2 } >>
Wenn Sie eine Note mit einer Verzierung abschließen wollen, müssen
Sie den \afterGrace
-Befehl benutzen. Er benötigt zwei
Argumente: die Hauptnote und die Verzierung, die nach der
Hauptnote folgen soll:
c1 \afterGrace d1 { c16[ d] } c1
Damit wird die Verzierung mit einem Abstand von der Hauptnote
gesetzt, der 3/4 der Dauer der Hauptnote entspricht. Dieser
Standard kann durch Definition von afterGraceFraction
verändert werden. Das nächste Beispiel zeigt, wie sich
der Abstand verändert, wenn der Wert 3/4, 15/16 und 1/2 der
Hauptnote beträgt.
<< \new Staff { c1 \afterGrace d1 { c16[ d] } c1 } \new Staff { #(define afterGraceFraction (cons 15 16)) c1 \afterGrace d1 { c16[ d] } c1 } \new Staff { #(define afterGraceFraction (cons 1 2)) c1 \afterGrace d1 { c16[ d] } c1 } >>
Der Abstand zwischen der Hauptnote und der Verzierung kann auch mit unsichtbaren Noten beeinflusst werden. Im nächsten Beispiel wird die Verzierung mit einem Abstand von 7/8 zur Hauptnote gesetzt.
\new Voice { << { d1^\trill_( } { s2 s4. \grace { c16[ d] } } >> c1) }
Ein \grace
-Notenabschnitt wird nach besonderen Satzregeln
gesetzt, um z. B. kleinere Noten zu benutzen und die Richtung der
Hälse einzustellen. Veränderungen am Layout müssen also innerhalb
des Verzierungsausdrucks gesetzt werden, damit sie auch eine Auswirkung haben. Die Veränderungen müssen auch innerhalb des
Verzierungsausdrucks rückgängig gemacht werden. In diesem
Fall wird die Richtung der Hälse geändert und dann wieder der
Standard eingestellt:
\new Voice { \acciaccatura { \stemDown f16-> \stemNeutral } g4 e c2 }
Ausgewählte Schnipsel
Veränderung des Layouts von Verzierungen innerhalb der Noten
Das Layout von Verzierungsausdrücken kann in der Musik verändert
werden mit den Funktionen add-grace-property
und
remove-grace-property
. Das folgende Beispiel definiert
die Richtung von Hälsen (Stem) für diese Verzierung, sodass die
Hälse nicht immer nach unten zeigen, und ändert den Standardnotenkopf
in ein Kreuz.
\relative c'' { \new Staff { #(remove-grace-property 'Voice 'Stem 'direction) #(add-grace-property 'Voice 'NoteHead 'style 'cross) \new Voice { \acciaccatura { f16 } g4 \grace { d16[ e] } f4 \appoggiatura { f,32[ g a] } e2 } } }
Globale Umdefinition von Verzierungsnoten
Die globalen Standardeinstellungen für Verzierungsnoten werden in
den VariablenstartGraceMusic
, stopGraceMusic
,
startAcciaccaturaMusic
, stopAcciaccaturaMusic
,
startAppoggiaturaMusic
und stopAppoggiaturaMusic
gespeichert, die in der Datei ly/grace-init.ly
definiert
sind. Wenn man sie umdefiniert, können andere Effekte erreicht
werden.
startAcciaccaturaMusic = { s1*0( \override Stem #'stroke-style = #"grace" \slurDashed } stopAcciaccaturaMusic = { \revert Stem #'stroke-style \slurSolid s1*0) } \relative c'' { \acciaccatura d8 c1 }
Positionierung von Verzierungen mit verschiebbarem Platz
Wenn man die Eigenschaft 'strict-grace-spacing
aktiviert,
werden die Verzierungsnoten "fließend" gemacht, d.h. sie sind
von den normalen Noten los gekoppelt: Zuerst werden die normalen
Noten platziert, dann erst die Verzierungen links von der
Hauptnote gesetzt.
\relative c'' { << \override Score.SpacingSpanner #'strict-grace-spacing = ##t \new Staff \new Voice { \afterGrace c4 { c16[ c8 c16] } c8[ \grace { b16[ d] } c8] c4 r } \new Staff { c16 c c c c c c c c4 r } >> }
Siehe auch
Glossar: grace notes, acciaccatura, appoggiatura.
Installierte Dateien: ‘ly/grace-init.ly’.
Schnipsel: Rhythms.
Referenz der Interna: GraceMusic.
Bekannte Probleme und Warnungen
Eine Partitur, die mit einem \grace
-Ausdruck beginnt, benötigt
eine explizit gesetzte neue Stimme (\new Voice
), sonst werden
Hauptnote und Verzierung auf verschiedenen Systemen gesetzt.
Ein Vorschlag (acciaccatura) mit mehreren Noten und Balken wird ohne den Schrägstrich gesetzt und sieht einem Vorhalt (appoggiatura) sehr ähnlich.
Die Synchronisation von Verzierungen kann auch zu Überraschungen führen. Auch andere Symbole der Systeme, wie Vorzeichen, Taktlinien usw., werden synchronisiert. Vorsicht ist geboten, wenn nur in bestimmten Systemen Verzierungen vorkommen:
<< \new Staff { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" d2. } >>
Dem kann abgeholfen werden, indem unsichtbare Verzierungsnoten der selben Länge in die anderen Systeme gesetzt werden. Im obigen Beispiel müsste also
<< \new Staff { e4 \bar "|:" \grace c16 d2. } \new Staff { c4 \bar "|:" \grace s16 d2. } >>
gesetzt werden.
Verzierungsabschnitte sollten nur innerhalb von sequentiellen musikalischen Ausdrücken benützt werden. Wenn sie ineinandergeschachtelt werden, kann es zu Fehlermeldungen oder Abstürzen kommen.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Verzierungen ] | [ Nach oben : Besondere rhythmische Fragen ] | [ Verwaltung der Zeiteinheiten > ] |
An Kadenzen ausrichten
In Orchesterpartituren stellen Kadenzen ein besonderes Problem dar: Wenn in der Partitur ein Instrument eine Kadenz spielt, die notiert wird, müssen die anderen Stimmen genau die entsprechende Anzahl Noten überspringen, damit sie nicht zu früh oder zu spät einsetzen.
Eine Lösung ist es, die Funktionen mmrest-of-length
oder
skip-of-length
zu benutzen. Diese Scheme-Funktionen
brauchen einen definierten Notenabschnitt (eine Variable)
als Argument und produzieren entweder Ganztaktpausen oder leere
Takte, die genauso lang sind wie der Notenabschnitt.
MyCadenza = \relative c' { c4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(ly:export (mmrest-of-length MyCadenza)) c'1 #(ly:export (skip-of-length MyCadenza)) c'1 } >>
Siehe auch
Glossar: cadenza.
Schnipsel: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < An Kadenzen ausrichten ] | [ Nach oben : Besondere rhythmische Fragen ] | [ Ausdrucksbezeichnungen > ] |
Verwaltung der Zeiteinheiten
Die Zeit in einer Partitur wird vom Timing_translator
verwaltet, der sich in den Standardeinstellungen im Score
-Kontext
befindet. Eine Parallelbezeichnung, Timing
, wird
dem Kontext hinzugefügt, in dem sich Timing_translator
befindet.
Die folgenden Eigenschaften von Timing
werden eingesetzt,
um die Zeit in Partituren zu verwalten.
-
currentBarNumber (aktuelle Taktnummer)
Die gerade aktuelle Taktzahl. Für ein Beispiel, das die Benutzung dieser Eigenschaft zeigt, siehe Taktzahlen.
-
measureLength (Taktlänge)
Die Länge der Takte mit der aktuellen Taktart. In einem 4/4-Takt ist sie 1, in einem 6/8-Takt 3/4. Dieser Wert bestimmt, wann eine Taktlinie gezogen wird und wie automatische Balken erstellt werden sollen.
-
measurePosition (Taktposition)
Der Schlag im Takt zum aktuellen Moment. Dieser Wert wird zurückgesetzt, indem
measureLength
(die Taktlänge) abgezogen wird, wenn der Wert vonmeasureLength
erreicht oder überschritten wird. Wenn das passiert, wird der ZählercurrentBarNumber
(aktuelle Taktnummer) erhöht.-
timing (Zeitberechnung)
Wenn auf wahr gesetzt, werden die oben genannten Variablen zu jedem Zeitpunkt aktualisiert. Wenn auf falsch gesetzt, bleibt der Engraver unendlich lange im aktuellen Takt.
Zeitverwaltung kann geändert werden, indem man diese Variablen
direkt beeinflusst. Im nächsten Beispiel wird die normale
Taktart mit 4/4 angegeben, aber measureLength
wird
auf 5/4 gesetzt. An der Stelle 4/8 des dritten Taktes wird die
Taktposition (measurePosition
) um 1/8 auf 5/8 erhöht, so
dass der Takt im Ergebnis 1/8 kürzer ist. Die nächste Taktlinie
wird dann auch bei 9/8 gezogen und nicht bei 5/4.
\set Score.measureLength = #(ly:make-moment 5 4) c1 c4 c1 c4 c4 c4 \set Score.measurePosition = #(ly:make-moment 5 8) b4 b4 b8 c4 c1
Wie das Beispiel zeigt, erstellt ly:make-moment n m
die Dauer Zähler/Nenner einer ganzen Note. Zum Beispiel heißt
ly:make-moment 1 8
die Dauer einer Achtelnote, und
ly:make-moment 7 16
die Dauer von sieben Sechszehntelnoten.
Siehe auch
Notationsreferenz: Taktzahlen, Musik ohne Metrum
Schnipsel: Rhythms.
Referenz der Interna: Timing_translator, Score
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Verwaltung der Zeiteinheiten ] | [ Nach oben : Musikalische Notation ] | [ An Noten angehängt > ] |
1.3 Ausdrucksbezeichnungen
Dieser Abschnitt zeigt verschiedene Ausdrucksbezeichnungen, die zur Partitur hinzugefügt werden können.
1.3.1 An Noten angehängt | ||
1.3.2 Bögen | ||
1.3.3 Linien |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Ausdrucksbezeichnungen ] | [ Nach oben : Ausdrucksbezeichnungen ] | [ Artikulationszeichen und Verzierungen > ] |
1.3.1 An Noten angehängt
Dieser Abschnitt erklärt, wie man Ausdrucksbezeichnungen erstellt, die an Noten gebunden sind: Artikulationszeichen, Ornamente und Dynamikzeichen. Es werden auch Methoden gezeigt, eigene Ausdrucksbezeichnungen zu erstellen.
Artikulationszeichen und Verzierungen | ||
Dynamik | ||
Neue Lautstärkezeichen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < An Noten angehängt ] | [ Nach oben : An Noten angehängt ] | [ Dynamik > ] |
Artikulationszeichen und Verzierungen
Eine Vielfalt an Symbolen kann über und unter den Noten erscheinen, um zu markieren, auf welche Art die Note ausgeführt werden soll. Hierzu wird folgende Syntax benutzt:
Note\Bezeichnung
Die möglichen Werte für Bezeichnung sind aufgelistet in Liste der Arktikulationszeichen. Ein Beispiel:
c4\staccato c\mordent b2\turn c1\fermata
Einige dieser Artikulationszeichen haben eine Abkürzung, damit
es einfacher ist, sie zu schreiben. Die Abkürzung wird an die
Notenbezeichnung gehängt, wobei ihre Syntax aus einem Minuszeichen
-
besteht, gefolgt von dem Symbol, das dem
Artikultationszeichen zugeordnet ist. Es gibt diese Abkürzungen
für marcato,
stopped (gedämpft), tenuto,
staccatissimo, accent, staccato,
and portato. Die ihnen entsprchenden Symbole
werden also folgendermaßen notiert:
c4-^ c-+ c-- c-| c4-> c-. c2-_
Die Regeln für die standardmäßige Platzierung von Artikulationszeichen werden in der Datei ‘scm/script.scm’ definiert. Artikulationszeichen und Ornamente können manuell über oder unter dem System gesetzt werden, siehe Richtung und Platzierung.
Artikulationszeichen sind Script
-Objekte. Ihre Eigenschaften
werden ausführlich in
Script beschrieben.
Zusätzlich zu den Artikulationszeichen können auch Text und Beschriftung an Noten angehängt werden. Siehe auch Textarten.
Zu weiterer Information über die Reihenfolge von Scripten und TextScripten, die an Noten angehängt werden, siehe Positionierung von Objekten.
Ausgewählte Schnipsel
Die Standardwerte der Abkürzungen von Artikulationen verändern
Die Abkürzungen sind in der Datei ‘ly/script-init.ly’ definiert, wo
den Variablen dashHat
, dashPlus
, dashDash
,
dashBar
, dashLarger
, dashDot
und
dashUnderscore
Standardwerte zugewiesen werden. Diese Standardwerte
können verändert werden. Um zum Beispiel die Abkürzung
-+
(dashPlus
) mit dem Triller anstatt mit dem +-Symbol zu
assoziieren, muss der Wert trill
der Variable
dashPlus
zugewiesen werden:
\relative c'' { c1-+ } dashPlus = "trill" \relative c'' { c1-+ }
Die vertikale Anordnung von Beschriftungen kontrollieren
Die vertikale Anordnung von Beschriftungen wird mit der
'script-priority
-Eigenschaft kontrolliert. Um so kleiner die
Zahl, umso näher wird die Beschriftung in Bezug auf die Note gesetzt. In
diesem Beispiel hat das TextScript
-Objekt (das Kreuz) zuerst
die niedrigste Priorität, wird also auch am niedrigsten in dem ersten
Beispiel gesetzt. Im zweiten Fall hat der Praller (das Script
)
die niedrigste Priorität, darum wird er am nächsten zum System gesetzt.
Wenn zwei Objekte die gleiche Priorität haben, wird ihre Reihenfolge
anhand ihres Auftretens in der Quelldatei entschieden.
\relative c''' { \once \override TextScript #'script-priority = #-100 a2^\prall^\markup { \sharp } \once \override Script #'script-priority = #-100 a2^\prall^\markup { \sharp } }
Einen Doppelschlag mit Vorhalt erstellen
Einen Doppelschlag mit Vorhalt zu erstellen, wobei die untere Note das
Vorzeichen benutzt, erfordert einige Einstellungsänderungen. Die
outside-staff-priority
-Eigenschaft muss auf falsch (#f
)
gesetzt werden, weil sie sonst über die Eigenschaft
avoid-slur property
dominieren würde. Der Wert von halign
wird benutzt, um den Doppelschlag horizontal zu positionieren.
\relative c'' { \once \override TextScript #'avoid-slur = #'inside \once \override TextScript #'outside-staff-priority = ##f c2(^\markup \tiny \override #'(baseline-skip . 1) { \halign #-4 \center-column { \sharp \musicglyph #"scripts.turn" } } d4.) c8 }
Siehe auch
Glossar: tenuto, accent, staccato, portato.
Handbuch zum Lernen: Positionierung von Objekten.
Notationsreferenz: Textarten, Richtung und Platzierung, Liste der Arktikulationszeichen, Triller.
Installierte Dateien: ‘scm/script.scm’.
Schnipsel: Expressive marks.
Referenz der Interna: Script, TextScript.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Artikulationszeichen und Verzierungen ] | [ Nach oben : An Noten angehängt ] | [ Neue Lautstärkezeichen > ] |
Dynamik
Absolute Dynamikbezeichnung wird mit Befehlen nach den Noten
angezeigt, etwa c4\ff
. Die vordefinierten Befehle lauten:
\ppppp
, \pppp
, \ppp
,
\pp
, \p
, \mp
, \mf
, \f
, \ff
,
\fff
, \ffff
, fffff
, \fp
, \sf
, \sff
,
\sp
, \spp
, \sfz
, and \rfz
. Die
Dynamikzeichen können manuell unter- oder oberhalb des Systems
platziert werden, siehe Richtung und Platzierung.
c2\ppp c\mp c2\rfz c^\mf c2_\spp c^\ff
Eine Crescendo-Klammer wird mit dem Befehl
\<
begonnen und mit \!
, einem absoluten Dynamikbefehl oder einer weiteren Crescento- oder
Decrescendo-Klammer beendet. Ein Decrescendo
beginnt mit \>
und wird auch beendet mit \!
,
einem absoluten Dynamikbefehl oder einem weiteren
Crescendo oder Decrescendo. \cr
und \decr
können
anstelle von \<
und
\>
benutzt werden. Die Befehle ergeben standardmäßig
Crescendo-Klammern.
c2\< c\! d2\< d\f e2\< e\> f2\> f\! e2\> e\mp d2\> d\> c1\!
Unsichtbare Pausen werden benötigt, um mehrere Zeichen einer Note zuzuweisen.
c4\< c\! d\> e\! << f1 { s4 s4\< s4\> s4\! } >>
In manchen Situationen kann auch der \espressivo
-Befehl
geeignet sein, ein An- und Abschwellen einer Note anzuzeigen.
c2 b4 a g1\espressivo
Crescendo und Decrescendo kann auch mit Text anstelle der
Klammern angezeigt werden. Gestrichelte Linien werden ausgegeben,
um die Dauer des Crescendos oder Decrescendos anzuzeigen. Die
vorgegebenen Befehle \crescTextCresc
, \dimTextDecresc
,
\dimTextDecr
und \dimTextDim
weisen LilyPond an,
Text-Anweisungen anstatt der spitzen Klammern zu setzen. Die entsprechenden
Befehle \crescHairpin
und \dimHairpin
stellen
wieder die spitzen Klammern ein:
\crescTextCresc c2\< d | e f\! \dimTextDecresc e2\> d | c b\! \crescHairpin c2\< d | e f\! \dimHairpin e2\> d\!
Um neue absolute Dynamikzeichen oder Text, der mit ihnen angeordnet wird, zu erstellen, siehe Neue Lautstärkezeichen.
Vertikale Position der Zeichen wird von der Funktion DynamicLineSpanner verwaltet.
Vordefinierte Befehle
\dynamicUp
,
\dynamicDown
,
\dynamicNeutral
,
\crescTextCresc
,
\dimTextDim
,
\dimTextDecr
,
\dimTextDecresc
,
\crescHairpin
,
\dimHairpin
.
Ausgewählte Schnipsel
Das Verhalten von Crescendo-Klammern an Taktlinien beeinflussen
Wenn die Note, an welcher eine Crescendo-Klammer endet, die erste Note
eines Taktes ist, wird die Klammer an der vorhergehenden Tatklinie
beendet. Dieses Verhalten kann auch mit der Eigenschaft
'to-barline
geändert werden:
\relative c'' { e4\< e2. e1\! \override Hairpin #'to-barline = ##f e4\< e2. e1\! }
Die Mindestlänge von Crescendo-Klammern bestimmen
Wenn Crescendo-Klammern zu kurz sind, können sie verlängert werden, indem
die minimum-length
-Eigenschaft des Hairpin
-Objektes
verändert wird.
\relative c'' { c4\< c\! d\> e\! \override Hairpin #'minimum-length = #5 << f1 { s4 s\< s\> s\! } >> }
Crescendo Klammern al niente schreiben
Crescendo-Klammern können mit einem kleinen Kreis vor der Spitze
notiert werden (al niente = bis zum Nichts), indem die
circled-tip
-Eigenschaft des Hairpin
-Objekts auf
#t
gesetzt wird.
\relative c'' { \override Hairpin #'circled-tip = ##t c2\< c\! c4\> c\< c2\! }
Vertikale Ausrichtung von Dynamik und Textbeschriftung beeinflussen
Indem man die 'Y-extent
-Eigenschaft auf einen passenden Wert setzt,
können alle DynamicLineSpanner
-Objekte (Crescendo-Klammern und
Dynamik-Texte) (hairpins and dynamic texts) unabhängig von ihrer
wirklichen Ausdehnung an einem gemeinsamen Referenzpunkt ausgerichtet werden.
Auf diese Weise ist jedes Element vertikal ausgerichtet und der Notensatz
sieht ansprechender aus.
Die gleiche Idee wird benutzt, um Textbeschriftungen an ihrer Grundlinie auszurichten.
music = \relative c'' { c2\p^\markup { gorgeous } c\f^\markup { fantastic } c4\p c\f\> c c\!\p } { \music \break \override DynamicLineSpanner #'staff-padding = #2.0 \override DynamicLineSpanner #'Y-extent = #'(-1.5 . 1.5) \override TextScript #'Y-extent = #'(-1.5 . 1.5) \music }
Crescendo-Linien von Dynamik-Texten unterdrücken
Dynamik-Texte (wie cresc. und dim.) werden mit einer gestrichelten Linie gesetzt, die ihre Dauer anzeigt. Diese Linie kann auf foldenge Weise unterdrückt werden:
\relative c'' { \override DynamicTextSpanner #'dash-period = #-1.0 \crescTextCresc c1\< | d | b | c\! }
Text und Strecker-Stile für Dynamik-Texte ändern
Der Text, der für Crescendo und Decrescendo gestzt wird, kann geändert
werden, indem man die Eigenschaften crescendoText
und
decrescendoText
verändert. Der Stil des Streckers kann auch
geändert werden, indem die 'style
-Eigenschaft des
DynamicTextSpanner
beeinflusst wird. Der Standardwert ist
'hairpin
, ander Möglichkeiten sind 'line
, 'dashed-line
und 'dotted-line
.
\relative c'' { \set crescendoText = \markup { \italic { cresc. poco } } \set crescendoSpanner = #'text \override DynamicTextSpanner #'style = #'dotted-line a2\< a a2 a a2 a a2 a\mf }
Siehe auch
Glossar: al niente, crescendo, decrescendo, hairpin. Handbuch zum Lernen: Artikulationszeichen und Lautstärke.
Notationsreferenz: Richtung und Platzierung, Neue Lautstärkezeichen, Was geht in die MIDI-Ausgabe, MIDI-Lautstärke kontrollieren.
Schnipsel: Expressive marks.
Referenz der Interna: DynamicText, Hairpin, DynamicLineSpanner.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Dynamik ] | [ Nach oben : An Noten angehängt ] | [ Bögen > ] |
Neue Lautstärkezeichen
Die einfachste ARt, eigene Dynamikbezeichnungen zu erstellen,
ist die Benutzung von \markup
-(Textbeschriftungs)-Objekten.
moltoF = \markup { molto \dynamic f } \relative c' { <d e>16_\moltoF <d e> <d e>2.. }
Mit einer Textbeschriftung können editorische Dynamikzeichen (in runden oder eckigen Klammern) erstellt werden. Die Syntax für den Textbeschriftungsmodus wird erklärt in Text formatieren.
roundF = \markup { \center-align \concat { \bold { \italic ( } \dynamic f \bold { \italic ) } } } boxF = \markup { \bracket { \dynamic f } } \relative c' { c1_\roundF c1_\boxF }
Einfache, mittig gesetzte Dynamikzeichen können schnell mit der
make-dynamic-script
-Funktion erstellt werden.
sfzp = #(make-dynamic-script "sfzp") \relative c' { c4 c c\sfzp c }
Allgemein gesagt kann make-dynamic-script
jegliches
Textbeschriftungsobjekt als Argument haben. Die
Schriftart für Dynamikzeichen enthält nur die Buchstaben
f,m,p,r,s
sowie z
; ein Dynamikzeichen, das
anderen Text oder satzzeichen enthalten soll, benötigt
Textbeschriftungsbefehle, die die normale Schriftart
einschalten, etwa \normal-text
. Die Funktion
make-dynamic-script
sollte anstelle einer normalen
Textbeschriftung vor allem deshalb benutzt werden, weil auf
diese Weise die vertikale Ausrichtung von den Textbeschriftungen
(engl. markup) und den spitzen Klammern an der selben Linie
gewährleistet wird.
roundF = \markup { \center-align \concat { \normal-text { \bold { \italic ( } } \dynamic f \normal-text { \bold { \italic ) } } } } boxF = \markup { \bracket { \dynamic f } } mfEspress = \markup { \center-align \line { \hspace #3.7 mf \normal-text \italic espress. } } roundFdynamic = #(make-dynamic-script roundF) boxFdynamic = #(make-dynamic-script boxF) mfEspressDynamic = #(make-dynamic-script mfEspress) \relative c' { c4_\roundFdynamic\< d e f g,1~_\boxFdynamic\> g1 g'1~\mfEspressDynamic g1 }
Anstelle dessen kann auch die Scheme-Form des Beschriftungs-Modus verwendet werden. Seine Syntax ist erklärt in Beschriftungskonstruktionen in Scheme.
moltoF = #(make-dynamic-script (markup #:normal-text "molto" #:dynamic "f")) \relative c' { <d e>16 <d e> <d e>2..\moltoF }
Die Auswahl von Schriftarten in Textbeschriftungen ist erklärt in Überblick über die wichtigsten Textbeschriftungsbefehle.
Siehe auch
Notationsreferenz: Text formatieren, Überblick über die wichtigsten Textbeschriftungsbefehle, Was geht in die MIDI-Ausgabe, MIDI-Lautstärke kontrollieren.
Schnipsel: Expressive marks.
Erweitert: @ref{Beschriftungskonstruktionen in Scheme}.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Neue Lautstärkezeichen ] | [ Nach oben : Ausdrucksbezeichnungen ] | [ Legatobögen > ] |
1.3.2 Bögen
Dieser Abschnitt erklärt, wie man verschiedene gebogene Ausdrucksbezeichnungen erstellt: Legato- und Phrasierungsbögen, Atemzeichen und Glissandos zu unbestimmten Tonhöhen.
Legatobögen | ||
Phrasierungsbögen | ||
Atemzeichen | ||
Glissando zu unbestimmter Tonhöhe |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Bögen ] | [ Nach oben : Bögen ] | [ Phrasierungsbögen > ] |
Legatobögen
Ein Legatobogen (engl. slur) zeigt an, dass die Noten legato gespielt werden sollen. Er wird mit Klammern hinter den Notenwerten notiert.
Achtung: In polyphoner Musik muss ein Legatobogen in der gleichen Stimme beendet werden, in der er begonnen wurde.
f4( g a) a8 b( a4 g2 f4) <c e>2( <b d>2)
Legatobögen können manuell ober- oder unterhalb des Notensystems besetzt werden, siehe Richtung und Platzierung.
Gleichzeitige, überlappende Legatobögen sind nicht erlaubt, aber ein Phrasierungsbogen kann einen Legatobogen überlappen. Damit können zwei Bögen gleichzeitig ausgegeben werden. Siehe auch Phrasierungsbögen.
Legatobögen können durchgehend, gepunket oder gestrichelt dargestellt werden. Standard ist der durchgehende Bogen:
c4( e g2) \slurDashed g4( e c2) \slurDotted c4( e g2) \slurSolid g4( e c2)
Bögen können auch halb gestrichelt (die erste Hälfte gestrichelt, die zweite Hälfte durchgehend) erstellt werden, oder als halb durchgehend (die erste Hälfte durchgehend, die zweite Hälfte gestrichelt:
c4( e g2) \slurHalfDashed g4( e c2) \slurHalfSolid c4( e g2) \slurSolid g4( e c2)
Eigene Muster für die Strichelung können definiert werden:
c4( e g2) \slurDashPattern #0.7 #0.75 g4( e c2) \slurDashPattern #0.5 #2.0 c4( e g2) \slurSolid g4( e c2)
Vordefinierte Befehle
\slurUp
,
\slurDown
,
\slurNeutral
,
\slurDashed
,
\slurDotted
,
\slurHalfDashed
,
\slurHalfSolid
,
\slurDashPattern
,
\slurSolid
.
Ausgewählte Schnipsel
Doppelte Bögen für Legato-Akkorde benutzen
Einige Komponisten schreiben doppelte Bögen, wenn Legato-Akkorde notiert
werden. Das kann mit der Eigenschaft doubleSlurs
erreicht werden.
\relative c' { \set doubleSlurs = ##t <c e>4( <d f> <c e> <d f>) }
Textbeschriftung innerhalb von Bögen positionieren
Textbeschriftung kann innerhalb von Bögen gesetzt werden, wenn die
outside-staff-priority
-Eigenschaft auf falsch gesetzt wird.
\relative c'' { \override TextScript #'avoid-slur = #'inside \override TextScript #'outside-staff-priority = ##f c2(^\markup { \halign #-10 \natural } d4.) c8 }
Legatobögen mit kompliziertem Strichelmuster definieren
Legatobögen können mit einem komplizierten Strichelmuster
gesetzt werden, indem die dash-definition
-Eigenschaft
definiert wird. dash-definition
ist eine Liste bestehend
aus dash-elements
-Elementen. Ein dash-element
ist
eine Liste an Parametern, die das Strichverhalten für einen
Abschnitt des Legatobogens definieren.
Der Bogen wird nach dem Bezierparameter t definiert, welcher
von 0 am linken Ende des Bogens zu 1 am rechten Ende des Bogens
reicht. dash-element
ist eine Liste (start-t stop-t dash-Unterbrechung dash-Abschnitt)
. Die Region des Bogens von start-t
bis stop-t
hat eine Unterbrechung von dash-Unterbrechung
von jedem dash-Abschnitt
-Schwarzabschnitt. dash-Abschnitt
ist in Notenlinienzwischenräumen definiert.
dash-Abschnitt
ist auf 1 für einen durchgehenden Bogen
gesetzt.
\relative c' { \once \override Slur #'dash-definition = #'((0 0.3 0.1 0.75) (0.3 0.6 1 1) (0.65 1.0 0.4 0.75)) c4( d e f) \once \override Slur #'dash-definition = #'((0 0.25 1 1) (0.3 0.7 0.4 0.75) (0.75 1.0 1 1)) c4( d e f) }
Siehe auch
Glossar: slur.
Handbuch zum Lernen: Über die Nicht-Schachtelung von Klammern und Bindebögen.
Notationsreferenz: Richtung und Platzierung, Phrasierungsbögen.
Schnipsel: Expressive marks.
Referenz der Interna: Slur.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Legatobögen ] | [ Nach oben : Bögen ] | [ Atemzeichen > ] |
Phrasierungsbögen
Ein Phrasierungsbogen verbindet Noten und wird verwendet, um einen
musikalischen Ausdruck anzuzeigen. Er wird mit den Befehlen
\(
und \)
eingegeben.
c4\( d( e) f( e2) d\)
Im typographischen Sinne verhalten sich Phrasierungsbögen genauso wie
Legatobögen. Sie werden aber als eigene Objekte behandelt. Ein
\slurUp
hat also keine Auswirkung auf die Phrasierungsbögen.
Phrasierungsbögen können manuell oberhalb oder unterhalb des
Notensystems gesetzt werden, siehe
Richtung und Platzierung.
Simultane oder überlappende Phrasierungsbögen sind nicht erlaubt.
Phrasierungsbögen können durchgehend, gepunket oder gestrichelt dargestellt werden. Standard ist der durchgehende Bogen:
c4\( e g2\) \phrasingSlurDashed g4\( e c2\) \phrasingSlurDotted c4\( e g2\) \phrasingSlurSolid g4\( e c2\)
funindex phrasingSlurHalfDashed
Phrasierungsbögen können auch als halbgestrichelt dargestellt werden (die erste Hälfte gestrichelt, die zweite Hälfte durchgehend, oder halb durchgehend (die erste Hälfte durchgehend, die zweite gestrichelt):
c4\( e g2\) \phrasingSlurHalfDashed g4\( e c2\) \phrasingSlurHalfSolid c4\( e g2\) \phrasingSlurSolid g4\( e c2\)
Eigene Strichelmuster für Phrasierungsbögen können definiert werden:
c4\( e g2\) \phrasingSlurDashPattern #0.7 #0.75 g4\( e c2\) \phrasingSlurDashPattern #0.5 #2.0 c4\( e g2\) \phrasingSlurSolid g4\( e c2\)
Strichelmusterdefinitionen für Phrasierungsbögen haben die gleiche Struktur wie die Definitionen für Legatobögen. Zu mehr Information über komplizierte Strichelmuster, siehe die Schnipsel im Abschnitt Legatobögen.
Vordefinierte Befehle
\phrasingSlurUp
,
\phrasingSlurDown
,
\phrasingSlurNeutral
,
\phrasingSlurDashed
,
\phrasingSlurDotted
,
\phrasingSlurHalfDashed
,
\phrasingSlurHalfSolid
,
\phrasingSlurDashPattern
,
\phrasingSlurSolid
.
Siehe auch
Handbuch zum Lernen: Über die Nicht-Schachtelung von Klammern und Bindebögen.
Notationsreferenz: Richtung und Platzierung.
Schnipsel: Expressive marks.
Referenz der Interna: PhrasingSlur.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Phrasierungsbögen ] | [ Nach oben : Bögen ] | [ Glissando zu unbestimmter Tonhöhe > ] |
Atemzeichen
Atemzeichen werden mit dem Befehl \breathe
eingegeben.
c2. \breathe d4
Ein Atemzeichen bezeichnet gleichzeitig das Ende eines automatischen Balkens. Um das Verhalten zu verändern siehe Manuelle Balken.
c8 \breathe d e f g2
Musikalische Zeichen für Atemzeichen in Alter Notation, auch Divisiones genannt, sind unterstützt. Für Einzelheiten siehe Divisiones.
Ausgewählte Schnipsel
Das Atemzeichen-Symbol verändern
Das Schriftzeichen für das Atemzeichen kann verändert werden, indem
die Text-Eigenschaft des BreathingSign
-Layoutobjekts mit einer
beliebigen Textbeschriftung definiert wird.
\relative c'' { c2 \override BreathingSign #'text = \markup { \musicglyph #"scripts.rvarcomma" } \breathe d2 }
Eine Zäsur einfügen
Zäsurzeichen können erstellt werden, indem die 'text
-Eigenschaft
des BreathingSign
-Objektes verändert wird. Ein gekrümmtes
Zäsurzeichen ist auch möglich.
\relative c'' { \override BreathingSign #'text = \markup { \musicglyph #"scripts.caesura.straight" } c8 e4. \breathe g8. e16 c4 \override BreathingSign #'text = \markup { \musicglyph #"scripts.caesura.curved" } g8 e'4. \breathe g8. e16 c4 }
Siehe auch
Glossar: caesura.
Notationsreferenz: Divisiones.
Schnipsel: Expressive marks.
Referenz der Interna: BreathingEvent, BreathingSign, Breathing_sign_engraver.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Atemzeichen ] | [ Nach oben : Bögen ] | [ Linien > ] |
Glissando zu unbestimmter Tonhöhe
Gleiten nach oben und unten kann mit dem Befehl \bendAfter
notiert werden. Die Richtung des Glissandos wird mit einem
Plus oder Minus (nach oben bzw. nach unten) angezeigt. Die
Zahl zeigt die Intervallgröße an, über die sich das Glissando nach
der Note erstreckt.
c2-\bendAfter #+4 c2-\bendAfter #-4 c2-\bendAfter #+6.5 c2-\bendAfter #-6.5 c2-\bendAfter #+8 c2-\bendAfter #-8
Das Minuszeichen (-
) direkt vor dem \bendAfter
-Befehl
ist notwendig um unbestimmte Glissandos zu notieren.
Ausgewählte Schnipsel
Das Aussehen von unbestimmten Glissandi anpassen
Die shortest-duration-space
-Eigenschaft kann verändert werden, um
das Aussehen von unbestimmten Glissandi anzupassen.
\relative c'' { \override Score.SpacingSpanner #'shortest-duration-space = #4.0 c2-\bendAfter #5 c2-\bendAfter #-4.75 c2-\bendAfter #8.5 c2-\bendAfter #-6 }
Siehe auch
Schnipsel: Expressive marks.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Glissando zu unbestimmter Tonhöhe ] | [ Nach oben : Ausdrucksbezeichnungen ] | [ Glissando > ] |
1.3.3 Linien
Dieser Abschnitt zeigt, wie man verschiedene Ausdrucksbezeichnungen erstellt, die sich linear erstrecken: Glissando, Arppegio und Triller.
Glissando | ||
Arpeggio | ||
Triller |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Linien ] | [ Nach oben : Linien ] | [ Arpeggio > ] |
Glissando
Ein Glissando wird
mit dem Befehl \glissando
auf eine Note folgend notiert:
g2\glissando g' c2\glissando c,
Verschiedene Glissando-Stile sind möglich. Für Einzelheiten siehe Zeilenstile.
Ausgewählte Schnipsel
Moderne Glissandi
Ein modernes Glissando ohne eine Endnote kann gesetzt werden, indem eine Kadenz eingesetzt wird und die Endnote unsichtbar gemacht wird.
\relative c'' { \time 3/4 \override Glissando #'style = #'zigzag c4 c \cadenzaOn c4\glissando \hideNotes c,,4 \unHideNotes \cadenzaOff \bar "|" }
Siehe auch
Glossar: glissando.
Notationsreferenz: Zeilenstile.
Schnipsel: Expressive marks.
Referenz der Interna: Glissando.
Bekannte Probleme und Warnungen
Printing text over the line (such as gliss.) is not supported.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Glissando ] | [ Nach oben : Linien ] | [ Triller > ] |
Arpeggio
Ein Arpeggio als Zeichen, dass ein Akkord gebrochen gespielt werden soll,
kann mit dem Befehl \arpeggio
hinter der
Akkord-Konstruktion erzeugt werden.
<c e g c>1\arpeggio
Unterschiedliche Arpeggio-Typen können benutzt werden.
\arpeggioNormal
stellt wieder das normale Verhalten
her:
<c e g c>2\arpeggio \arpeggioArrowUp <c e g c>2\arpeggio \arpeggioArrowDown <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio
Besondere Arpeggios mit Klammern können erstellt werden:
<c e g c>2 \arpeggioBracket <c e g c>2\arpeggio \arpeggioParenthesis <c e g c>2\arpeggio \arpeggioParenthesisDashed <c e g c>2\arpeggio \arpeggioNormal <c e g c>2\arpeggio
Die dash
-Eigenschaft der Arpeggioklammern werden von
der 'dash-details
-Eigenschaft kontrolliert, die
beschrieben ist in Legatobögen.
Ein Arpeggio kann auch explizit ausgeschrieben werden, indem Überbindungsbögen benutzt werden. Für mehr Information siehe Bindebögen.
Vordefinierte Befehle
\arpeggio
,
\arpeggioArrowUp
,
\arpeggioArrowDown
,
\arpeggioNormal
,
\arpeggioBracket
,
\arpeggioParenthesis
,
\arpeggioParenthesisDashed
.
Ausgewählte Schnipsel
Arpeggio über mehrere Systeme in anderen Kontexten
Arpeggio über mehrere Systeme können in anderen Kontexten als dem
PianoStaff
erstellt werden, wenn der Span_arpeggio_engraver
in den Score
-Kontext eingefügt wird.
\new PianoStaff \relative c'' << \set PianoStaff.connectArpeggios = ##t \new Staff { <c e g c>4\arpeggio <g c e g>4\arpeggio <e g c e>4\arpeggio <c e g c>4\arpeggio } \new Staff { \clef bass \repeat unfold 4 { <c,, e g c>4\arpeggio } } >>
Arpeggio zwischen Systemen in einem Klaviersystem erstellen
In einem Klaviersystem (PianoStaff
) ist es möglich, ein Arpeggio
zwischen beiden Systemen zu verbinden, indem die
PianoStaff.connectArpeggios
-Eigenschaft gesetzt wird.
\score { \new ChoirStaff { \set Score.connectArpeggios = ##t << \new Voice \relative c' { <c e>2\arpeggio <d f>2\arpeggio <c e>1\arpeggio } \new Voice \relative c { \clef bass <c g'>2\arpeggio <b g'>2\arpeggio <c g'>1\arpeggio } >> } \layout { \context { \Score \consists "Span_arpeggio_engraver" } } }
Arpeggios zwischen unterschiedlichen Stimmen erzeugen
Ein Arpeggio kann zwischen Noten aus unterschidlichen Stimmen auf demselben
System gezogen werden, wenn der Span_arpeggio_engraver
in den
Staff
-Kontext verschoben wird:
\new Staff \with { \consists "Span_arpeggio_engraver" } \relative c' { \set Staff.connectArpeggios = ##t << { <e' g>4\arpeggio <d f> <d f>2 } \\ { <d, f>2\arpeggio <g b>2 } >> }
Siehe auch
Glossar: arpeggio.
Notationsreferenz: Legatobögen, Bindebögen.
Schnipsel: Expressive marks.
Referenz der Interna: Arpeggio, Slur, PianoStaff.
Bekannte Probleme und Warnungen
Es ist nicht möglich, Arpeggios zwischen Systemen und solche, die sich
nur auf ein System erstrecken, zum gleichen Zeitpunkt in einem
Klaviersystem (PianoStaff
) zu benutzen.
Die Arpeggios im Klammer-Stil funktionieren nicht über mehrere Notensysteme.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Arpeggio ] | [ Nach oben : Linien ] | [ Wiederholungszeichen > ] |
Triller
Kurze Triller ohne eine Dauer werden nmit dem Befehl
\trill
notiert, siehe auch
Artikulationszeichen und Verzierungen.
Längere Triller mit einer Dauer werden mit den Befehlen
\startTrillSpan
zu
Beginn und \stopTrillSpan
am Ende erstellt.
d1~\startTrillSpan d1 c2\stopTrillSpan r2
Das nächste Beispiel zeigt Triller in Kombination mit einem Vorschlag. Die Syntax dieser Konstruktion und die Methode, wie man die Vorschläge genau positioniert, ist beschrieben in Verzierungen.
c1 \afterGrace d1\startTrillSpan { c32[ d]\stopTrillSpan } e2 r2
Triller, die auf einer bestimmten Note ausgeführt werden sollen, können
mit dem Befehl pitchedTrill
notiert werden. Das erste
Argument ist die Hauptnote, das zweite die Note, auf der getrillert
wird. Sie wird als Note ohne Hals in Klammern ausgegeben.
\pitchedTrill e2\startTrillSpan fis d\stopTrillSpan
Im nächsten Beispiel ist der zweite Triller nicht eindeutig notiert, denn das Versetzungszeichen der Trillernote ist nicht ausgegeben. Man kann das Versetzungszeichen erzwingen. Der zweite Takt zeigt diese Methode:
\pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis g\stopTrillSpan \pitchedTrill eis4\startTrillSpan fis! g\stopTrillSpan
Vordefinierte Befehle
\startTrillSpan
,
\stopTrillSpan
.
Siehe auch
Glossar: trill.
Notationsreferenz: Artikulationszeichen und Verzierungen, Verzierungen.
Schnipsel: Expressive marks.
Referenz der Interna: TrillSpanner.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Triller ] | [ Nach oben : Musikalische Notation ] | [ Lange Wiederholungen > ] |
1.4 Wiederholungszeichen
Wiederholung ist ein zentrales Konzept in der Musik, und es gibt eine ganze Vielzahl von Notationsmöglichkeiten für Wiederholungen. LilyPond unterstützt folgende Arten von Wiederholungen:
-
volta (Wiederholungsklammer)
Die wiederholte Musik wird nicht geschreiben, sondern zwischen zwei Wiederholungstaktstrichen eingeschlossen. Wenn die Wiederholung am Anfang eines Stückes beginnt, wird nur am Ende der Wiederholung eine Wiederholungstaktlinie gesetzt. Alternative Schlüsse (Volta) werden von links nach rechts mit Klammern gesetzt. Das ist die Standardnotationspraxis für Wiederholungen mit alternativen Schlüssen.
-
unfold (aufklappen)
Die wiederholte Musik wird ausgeschrieben, so oft, wie es durch Wiederholungszähler definiert wird. Das erspart Arbeit, wenn repititive Musik notiert wird.
-
percent (Prozent-Wiederholung)
Das sind Noten- oder Taktwiederholungen, sie sehen aus wie ein Schrägstrich bzw. wie ein Prozentzeichen.
-
tremolo
Das wird benutzt, um Tremolo-Wiederholungen am Notenhals zu notieren.
1.4.1 Lange Wiederholungen | ||
1.4.2 Kurze Wiederholungen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Wiederholungszeichen ] | [ Nach oben : Wiederholungszeichen ] | [ Normale Wiederholungen > ] |
1.4.1 Lange Wiederholungen
Normale Wiederholungen | ||
Manuelle Wiederholungszeichen | ||
Ausgeschriebene Wiederholungen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Lange Wiederholungen ] | [ Nach oben : Lange Wiederholungen ] | [ Manuelle Wiederholungszeichen > ] |
Normale Wiederholungen
Die Syntax für normale Wiederholungen ist
\repeat Typ Wiederholungszähler musikAusdr
wobei musikAusdr ein musikalischer Ausdruck ist. Alternative
Schlüsse können mit \alternative
gesetzt werden. Damit die
alternativen Schlüsse von den wiederholten Noten abgegrenzt werden,
müssen sie in geschweiften Klammern zusammengefasst werden. Wenn
es mehr Wiederholungen gibt, als Alternativen angegeben sind, erhalten
die ersten Wiederholungen den ersten Schluss.
Normale Wiederholungen ohne alternative Schlüsse:
\repeat volta 2 { c4 d e f } c2 d \repeat volta 2 { d4 e f g }
Normale Wiederholungen mit alternativen Schlüssen:
\repeat volta 4 { c4 d e f } \alternative { { d2 e } { f2 g } } c1
Achtung: \relative
darf nicht innerhalb von \repeat
gesetzt werden. Das würde dazu führen, dass ungewollte Notensysteme
erscheinen. Siehe auch
An extra staff appears.
Normale Wiederholungen mit Auftakt können auf zwei Arten notiert werden:
\partial 4 e | \repeat volta 4 { c2 d | e2 f | } \alternative { { g4 g g e } { a4 a a a | b2. } }
oder
\partial 4 \repeat volta 4 { e4 | c2 d | e2 f | } \alternative { { \partial 4*3 g4 g g } { a4 a a a | b2. } }
Bindebögen können auch an eine zweite Klammer angefügt werden:
c1 \repeat volta 2 { c4 d e f ~ } \alternative { { f2 d } { f2\repeatTie f, } }
Ausgewählte Schnipsel
Volta-Klammern verkürzen
Volta-Klammern werden normalerweise über alle Noten der Klammer gezogen, aber
es ist möglich sie zu verkürzen. Hierzu muss
voltaSpannerDuration
definiert werden, in dem Beispiel etwa als
3/4, sodass die Klammer nur einen Takt dauert.
\relative c'' { \time 3/4 c4 c c \set Score.voltaSpannerDuration = #(ly:make-moment 3 4) \repeat volta 5 { d4 d d } \alternative { { e4 e e f4 f f } { g4 g g } } }
Volta-Klammern zu zusätzlichen Systemen hinzufügen
Der Volta_engraver
befindet sich im Score
-Kontext und Klammern
werden deshalb nur auf dem obersten System dargestellt. Das kann umgangen
werden, indem man den Volta_engraver
zu dem Staff
-Kontext
hinzufügt, in dem die Klammern zusätzlichen vorkommen sollen. Siehe auch
das "Volta multi staff"-Schnipsel.
<< \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' } \new Staff { \repeat volta 2 { c'1 } \alternative { c' } } >>
Siehe auch
Notationsreferenz: Taktstriche, Umgebungs-Plugins verändern.
Schnipsel: Repeats.
Referenz der Interna: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic.
Bekannte Probleme und Warnungen
Eine ineinandergeschachtelte Wiederholung wie
\repeat … \repeat … \alternative
ist mehrdeutig, weil nicht klar ist, zu welchem \repeat
-Abschnitt
die \alternative
-Endung gehört. Diese Mehrdeutigkeit wird von
LilyPond aufgelöst, indem die alternative Endung immer zu der innersten
Wiederholung gehört. Um Klarheit zu schaffen, bietet es sich an, in solchen
Situationen Klammern zu benutzen.
Die Taktposition wird bei einer alternativen Endung nicht mitgeteilt, so
dass nach einer Wiederholung diese Information manuell angegeben werden
muss,
entweder durch setzen von Score.measurePosition
oder indem der
Befehl \partial
benutzt wird. Gleichermaßen werden auch
Bindebögen nicht wiederholt.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Normale Wiederholungen ] | [ Nach oben : Lange Wiederholungen ] | [ Ausgeschriebene Wiederholungen > ] |
Manuelle Wiederholungszeichen
Achtung: Diese Methoden werden nur verwendet, um ungewöhnliche
Wiederholungskonstruktionen darzustellen und können sich unerwünscht
verhalten. In den meisten Fällen sollten Wiederholungen mit dem
Befehl \repeat
erstellt werden oder indem die entsprechenden
Taktstriche eingegeben werden. Mehr Information in Taktstriche.
Die Eigenschaft repeatCommands
kann verwendet werden, um das
Aussehen der Wiederholungen zu beeinflussen. Ihr Argument ist eine
Scheme-Liste an Wiederholungsbefehlen.
-
start-repeat
Setzt eine
|:
Taktlinie.c1 \set Score.repeatCommands = #'(start-repeat) d4 e f g c1
Der Notensatzpraxis folgend werden Wiederholungstaktstrichen nicht zu Beginn eines Stückes gesetzt.
-
end-repeat
Setzt eine
:|
Taktlinie.c1 d4 e f g \set Score.repeatCommands = #'(end-repeat) c1
-
(volta Zahl) ... (volta #f)
Setzt eine Volta-Klammer mit der Beschriftung Nummer. Die Volta-Klammer muss explizit beendet werden, sonst wird sie nicht ausgegeben.
f4 g a b \set Score.repeatCommands = #'((volta "2")) g4 a g a \set Score.repeatCommands = #'((volta #f)) c1
Mehrfache Wiederholungszeichen können an der selben Stelle vorkommen:
f4 g a b \set Score.repeatCommands = #'((volta "2, 5") end-repeat) g4 a g a c1 \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat) b1 \set Score.repeatCommands = #'((volta #f))
Text kann auch in der Volta-Klammer gesetzt werden. Der Text kann aus Zahlen oder einer Zahl oder einer Textbeschriftung bestehen, siehe Text formatieren. Die einfachste Art Text zu benutzen ist, die Beschriftung zuerst zu definieren und dann die Beschriftung in einer Scheme-Liste einzufügen.
voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } } \relative c'' { c1 \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat) c4 b d e \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat) f1 \set Score.repeatCommands = #'((volta #f)) }
Ausgewählte Schnipsel
Ein Wiederholungszeichen zu Beginn eines Stückes ausgeben
Ein |:
-Taktstrich kann auch zu Beginn eines Stückes ausgegeben werden, indem
man die entsprechende Eigenschaft verändert:
\relative c'' { \once \override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(instrument-name left-edge ambitus span-bar breathing-sign clef key-signature time-signature staff-bar custos span-bar)) \once \override Staff.TimeSignature #'space-alist = #'((first-note . (fixed-space . 2.0)) (right-edge . (extra-space . 0.5)) ;; free up some space between time signature ;; and repeat bar line (staff-bar . (extra-space . 1))) \bar "|:" c1 d1 d4 e f g }
Siehe auch
Notationsreferenz: Taktstriche, Text formatieren.
Schnipsel: Repeats.
Referenz der Interna: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Manuelle Wiederholungszeichen ] | [ Nach oben : Lange Wiederholungen ] | [ Kurze Wiederholungen > ] |
Ausgeschriebene Wiederholungen
Mit dem unfold
-Befehl können Wiederholungen eingesetzt werden,
um repitetive Musik zu notieren. Die Syntax ist
\repeat unfold Wiederholgunszähler musikAusdr
wobei musikAusdr ein musikalischer Ausdruck ist und Wiederholungszähler die Anzahl bezeichnet, mit der musikAusdr wiederholt wird.
c1 \repeat unfold 2 { c4 d e f } c1
Ausgeschriebene Wiederholungen können auch alternative Schlüsse haben. Wenn mehr Wiederholungen als alternative Schlüsse notiert werden, wird der erste Schluss für die ersten Wiederholungen benutzt.
c1 \repeat unfold 2 { g4 f e d } \alternative { { cis2 g' } { cis,2 b } } c1
Siehe auch
Schnipsel: Repeats.
Referenz der Interna: RepeatedMusic, UnfoldedRepeatedMusic.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Ausgeschriebene Wiederholungen ] | [ Nach oben : Wiederholungszeichen ] | [ Prozent-Wiederholungen > ] |
1.4.2 Kurze Wiederholungen
Dieser Abschnitt zeigt, wie man kurze Wiederholungen notiert. Kurze Wiederholungen haben zwei grundlegende Formen: Wiederholungen von einer Note bis zu zwei Takten, die mit Schrägstrichen oder Prozentzeichen dargestellt werden, und Tremolos.
Prozent-Wiederholungen | ||
Tremolo-Wiederholung |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Kurze Wiederholungen ] | [ Nach oben : Kurze Wiederholungen ] | [ Tremolo-Wiederholung > ] |
Prozent-Wiederholungen
Kurze wiederholte Musikphrasen werden unterstützt. Dabei werden die Noten einmal gedruckt und dann durch ein spezielles Zeichen ersetzt. Phrasen, die kürzer als ein Takt sind, durch einen Schrägstrich dargestellt, Phrasen von ein oder zwei Takten Dauer werden durch ein dem Prozentzeichen ähnlichen Zeichen markiert. Die Syntax lautet
\repeat percent Wiederholungszahl musikAusdr
wobei musikAusdr ein musikalischer Ausdruck ist.
\repeat percent 4 { c4 } \repeat percent 2 { b4 a g f } \repeat percent 2 { c2 es | f4 fis g c | }
Ausgewählte Schnipsel
Prozent-Wiederholungen zählen
Ganztaktwiederholungen mit mehr als zwei Wiederholungen erhalten einen Zähler, wenn man die entsprechende Eigenschaft einsetzt:
\relative c'' { \set countPercentRepeats = ##t \repeat percent 4 { c1 } }
Sichtbarkeit von Prozent-Wiederholungen
Prozentwiederholungszähler können in regelmäßigen Intervallen angezeigt
werden, indem man die Eigenschaft repeatCountVisibility
beeinflusst.
\relative c'' { \set countPercentRepeats = ##t \set repeatCountVisibility = #(every-nth-repeat-count-visible 5) \repeat percent 10 { c1 } \break \set repeatCountVisibility = #(every-nth-repeat-count-visible 2) \repeat percent 6 { c1 d1 } }
Isolierte Prozentwiederholungen
Isolierte Prozentwiederholungen können auch ausgegeben werden. Das wird erreicht, indem man eine Ganztaktpause notiert und ihre Ausgabeform ändert:
\relative c'' { \override MultiMeasureRest #'stencil = #ly:multi-measure-rest::percent \override MultiMeasureRest #'thickness = #0.48 R1 }
Siehe auch
Glossar: percent repeat, simile.
Schnipsel: Repeats.
Referenz der Interna: RepeatSlash, PercentRepeat, DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeatCounter, PercentRepeatedMusic.
Bekannte Probleme und Warnungen
Nur drei Arten von Prozent-Wiederholungen sind unterstützt: ein einfacher Schrägstrich, der einen Taktschlag darstellt (unabhängig von der wirklichen Dauer der wiederholten Noten), ein einfacher Schrägstrich mit Punkten, der einen ganzen wiederholten Takt darstellt und zwei Schrägstriche mit Punkten über eine Taktlinie gedruckt, der zwei ganze Takte darstellt. Weder können mehrere Schrägstriche für Taktwiederholungen von Sechzehntelnoten dargestellt werden, noch zwei Striche mit Punkten für nur einen Takt, der aus unterschiedlichen Notenwerten besteht.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Prozent-Wiederholungen ] | [ Nach oben : Kurze Wiederholungen ] | [ Gleichzeitig erscheinende Noten > ] |
Tremolo-Wiederholung
Tremolos können in zwei Arten notiert werden: als Wechsel zwischen zwei Noten oder Akkorden oder als schnelle Wiederholung einer einzigen Note. Tremolos, die als Wechsel realisiert werden, werden dargestellt, indem Balken zwischen die Noten gesetzt werden, Tremolos, die eine schnelle Wiederholung darstellen, haben Balken oder Schrägstriche am Hals einer einzigen Note.
Um Tremolobalken zwischen Noten zu setzen, kann der \repeat
-Befehl
mit dem Tremolo-Stil benutzt werden:
\repeat tremolo 8 { c16 d } \repeat tremolo 6 { c16 d } \repeat tremolo 2 { c16 d }
Die \repeat tremolo
-Syntax braucht genau zwei Noten innerhalb
der geschweiften Klammern, und die Anzahl der Wiederholungen muss
einem Wert entsprechen, der mit einfachen oder punktierten Noten
ausgedrückt werden kann. \repeat tremolo 7
funktioniert und
setzt Tremolo für die Dauer einer Doppeltpunktierten, aber
\repeat tremolo 9
funktioniert nicht.
Die Dauer des Tremolos entspricht der Dauer der Wertes in Klammern,
multipliziert mit der Zahl der Wiederholungen: \repeat tremolo
8 { c16 d16 }
ergibt ein Tremolo für eine Ganze, notiert als zwei
Ganze, die zwei Tremolobalken zwischen sich haben.
Es gibt zwei Möglichkeiten, ein Tremolozeichen zu einer einzelnen
Noten hinzuzufügen. Die \repeat tremolo
-Syntax kann hier auch
benutzt werden; in diesem Fall wird die Note allerdings nicht
eingeklammert:
\repeat tremolo 4 c'16
Die gleiche Darstellung wird erreicht, indem nach der Note
„:
[Zahl]“ geschrieben wird. Die Zahl zeigt
die Dauer der Unterteilung an, und sie muss mindestens den
Wert 8 haben. Ein Wert von 8 ergibt einen Balken durch den
Notenhals. Wenn die Zahl ausgelassen wird, wird der letzte
benutzte Wert eingesetzt (gespeichert in tremoloFlags
):
c2:8 c:32 c: c:
Ausgewählte Schnipsel
Cross-staff tremolos
Since \repeat tremolo
expects exactly two musical arguments for
chord tremolos, the note or chord which changes staff within a
cross-staff tremolo should be placed inside curly braces together with
its \change Staff
command.
\new PianoStaff << \new Staff = "up" \relative c'' { \key a \major \time 3/8 s4. } \new Staff = "down" \relative c'' { \key a \major \time 3/8 \voiceOne \repeat tremolo 6 { <a e'>32 { \change Staff = "up" \voiceTwo <cis a' dis>32 } } } >>
Siehe auch
Schnipsel: Repeats.
Bekannte Probleme und Warnungen
Tremolo über Notensysteme hinweg funktioniert nicht gut.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Tremolo-Wiederholung ] | [ Nach oben : Musikalische Notation ] | [ Eine einzelne Stimme > ] |
1.5 Gleichzeitig erscheinende Noten
Polyphonie bedeutet in der musikalischen Terminologie das Vorhandensein von mehr als einer (eigenständigen) Stimme in einem Stück. Für LilyPond bedeutet es aber das Vorhandensein von mehr als einer Stimme pro System.
1.5.1 Eine einzelne Stimme | ||
1.5.2 Mehrere Stimmen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Gleichzeitig erscheinende Noten ] | [ Nach oben : Gleichzeitig erscheinende Noten ] | [ Noten mit Akkorden > ] |
1.5.1 Eine einzelne Stimme
Dieser Abschnitt behandelt gleichzeitige Noten innerhalb derselben Stimme.
Noten mit Akkorden | ||
Gleichzeitige Ausdrücke | ||
Cluster |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Eine einzelne Stimme ] | [ Nach oben : Eine einzelne Stimme ] | [ Gleichzeitige Ausdrücke > ] |
Noten mit Akkorden
Ein Akkord wird notiert, indem die zu ihm gehörenden Tonhöhen
zwischen spitze Klammern (<
und >
) gesetzt werden.
Auf einen Akkord kann eine Dauer-Angabe und/oder eine Anzahl
an Artikulationsbezeichnungen folgen, genauso wie bei
einfachen Noten.
<c e g>2 <c f a>4-> <e g c>-.
Der relative Modus kann auch für Tonhöhen in Akkorden benutzt werden. Die Oktave jeder Tonhöhe wird relativ zur vorhergehenden Tonhöhe bestimmt. Eine Ausnahme bildet die erste Tonhöhe in einem Akkord: ihre Oktave wird bestimmt relativ zur ersten Tonhöhe des vorherigen Akkords.
Mehr Information über Akkorden findet sich in Notation von Akkorden.
Siehe auch
Musikglossar: chord.
Handbuch zum Lernen: Noten zu Akkorden verbinden.
Notationsreferenz: Notation von Akkorden.
Schnipsel: Simultaneous notes.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Noten mit Akkorden ] | [ Nach oben : Eine einzelne Stimme ] | [ Cluster > ] |
Gleichzeitige Ausdrücke
Eine oder mehrere musikalische Ausdrücke, die in doppelte spitze Klammern eingeschlossen werden, werden gleichzeitig gesetzt. Wenn der erste Ausdruck mit einer einzelnen Note beginnt oder die gesamte Konstruktion explizit in einer einzelnen Stimme erstellt wird, wird auch nur ein Notensystem erstellt. In anderem Falle werden die Elemente der simultanen Konstruktion auf unterschiedlichen Systemen gesetzt.
Das nächste Beispiel zeigt simultane Konstruktionen auf einem System:
\new Voice { % explicit single voice << { a4 b g2 } { d4 g c,2 } >> }
% single first note a << { a4 b g } { d4 g c, } >>
Dass kann benutzt werden, wenn die simultanen Abschnitte einen identischen Rhythmus haben, aber wenn versucht wird, Noten mit unterschiedlicher Dauer an denselben Hals zu setzen, gibt es Fehlermeldungen.
Das nächste Beispiel zeigt, wie ein simultaner Ausdruck implizit mehrere Systeme erstellt:
% no single first note << { a4 b g2 } { d4 g2 c,4 } >>
In diesem Fall stellt der unterschiedliche Rhythmus kein Problem dar.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Gleichzeitige Ausdrücke ] | [ Nach oben : Eine einzelne Stimme ] | [ Mehrere Stimmen > ] |
Cluster
Ein Cluster zeigt an, dass alle Tonhöhen in einem Bereich gleichzeitig
gespielt werden sollen. Cluster können gedeutet werden als eine
Zusammenfassung einer ganzen Anzahl von Noten. Sie werden notiert,
indem die Funktion \makeClusters
auf eine Reihe von Akkorden
angewendet wird:
\makeClusters { <g b>2 <c g'> }
Normale Noten und Cluster können zusammen im selben System notiert werden, sogar gleichzeitig. In solchen Fällen wird nicht versucht, automatisch Zusammenstöße zwischen normalen Noten und Clustern aufzulösen.
Siehe auch
Musikglossar: cluster.
Schnipsel: Simultaneous notes.
Referenz der Interna: ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver.
Bekannte Probleme und Warnungen
Cluster sehen nur gut aus, wenn sie wenigstens über zwei Akkorde reichen – anderfalls sind sie zu schmal.
Cluster haben keine Hälse und können auch selber keine Dauern darstellen, aber die Länge des gesetzten Clusters wird erschlossen anhand der Dauern der definierten Akkorde. Voneinander getrennte Cluster brauchen eine unsichtbare Pause zwischen sich.
Cluster produzieren kein MIDI.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Cluster ] | [ Nach oben : Gleichzeitig erscheinende Noten ] | [ Mehrstimmigkeit in einem System > ] |
1.5.2 Mehrere Stimmen
Dieser Abschnitt behandelt gleichzeitige Noten in mehreren Stimmen oder mehreren Systemen.
Mehrstimmigkeit in einem System | ||
Stimmenstile | ||
Auflösung von Zusammenstößen | ||
Automatische Kombination von Stimmen | ||
Musik parallel notieren |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Mehrere Stimmen ] | [ Nach oben : Mehrere Stimmen ] | [ Stimmenstile > ] |
Mehrstimmigkeit in einem System
Stimmen explicit beginnen
Die grundlegende Struktur, die man benötigt, um mehrere unabhängige Stimmen in einem Notensystem zu setzen, ist im Beispiel unten dargestellt:
\new Staff << \new Voice = "first" { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d } \new Voice= "second" { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. } >>
Stimmen werden hier explizit erstellt und erhalten Bezeichnungen
zugewiesen. Die \voiceOne
... \voiceFour
-Befehle
stellen die Stimmen so ein, dass für die erste und dritte Stimme
die Hälse nach oben zeigen, für die zweite und vierte Stimme
hingegen nach unten. Die Noten der dritten und vierten Stimme
werden horizontal verschoben, und Pausen in den entsprechenden
Stimmen werden automatisch verschoben, um Zusammenstöße zu
vermeiden. Der \oneVoice
-Befehl stellt das Standardverhalten
mit neutralen Halsrichtungen wieder her.
Vorrübergehende polyphone Passagen
Ein vorrübergehender polyphoner Abschnitt kann mit folgender Konstruktion erstellt werden:
<< { \voiceOne ... } \new Voice { \voiceTwo ... } >> \oneVoice
Der erste Ausdruck innerhalb des polyphonen Abschnitts wird in
den Voice
-Kontext gestellt, der unmittelbar vor dem
polyphonen Abschnitt aktiv war, und der gleiche Voice
-Kontext
setzt sich nach dem Abschnitt fort. Andere Ausdrücke innerhalb
der eckigen Klammern werden anderen Stimmennummern zugewiesen.
Damit lassen sich auch Gesangstexte einer durchgehenden Stimme
vor, während und nach dem polyphonen Abschnitt zuweisen:
<< \new Voice = "melody" { a4 << { \voiceOne g f } \new Voice { \voiceTwo d2 } >> \oneVoice e4 } \new Lyrics \lyricsto "melody" { This is my song. } >>
Hierbei sind die Befehle \voiceOne
und \voiceTwo
notwendig, um die Einstellungen für jede Stimme zu
initialisieren.
Die Konstruktion mit doppeltem Backslash
Die << {...} \\ {...} >>
-Konstruktion, in welcher
die beiden (oder mehreren) Ausdrücke durch doppelte
Backslash-Zeichen (Taste AltGr+ß) getrennt werden, verhält
sich anderes als die ähnliche Konstruktion ohne die doppelten
Schrägstriche: alle Ausdrücke innerhalb der eckigen
Klammern werden in diesem Fall jeweils neuen Voice
-Kontexten
zugeordnet. diese neuen Voice
-Kontexte werden implizit
erstellt und haben die festen Bezeichnungen "1"
,
"2"
usw.
Das erste Beispiel könnte also auch wie folgt notiert werden:
<< { r8 r16 g e8. f16 g8[ c,] f e16 d } \\ { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. } >>
Diese Syntax kann benutzt werden, wenn es keine Rolle spielt,
ob vorrübergehend Stimmen erstellt werden und dann wieder
verworfen werden. Diese implizit erstellten Stimmen erhalten
die Einstellungen, die in den Befehlen
\voiceOne
... \voiceFour
enthalten sind, in
der Reihenfolge, in der sie im Quelltext auftauchen.
Im nächsten Beispiel zeigen die Hälse der zeitweiligen Stimme
nach oben, sie wird deshalb erst als dritte in der Konstruktion
notiert, damit sie die Eigenschaften von voiceThree
zugewiesen bekommt. Unsichtbare Pause werden eingesetzt, damit
keine doppelten Pausen ausgegeben werden.
<< { r8 g g g g f16 ees f8 d } \\ { ees,8 r ees r d r d r } \\ { d'8 s c s bes s a s } >>
Es wird sehr empfohlen, in allen außer den allereinfachsten Stücken explizite Stimmenkontexte zu erstellen, wie erklärt in Kontexte und Engraver und Stimmen explizit beginnen.
Identische Rhythmen
Wenn paralelle Abschnitte gesetzt werden sollen,
die identischen Rhythmus haben, kann man die Ausdrücke in
einen einzigen Voice
-Kontext parallel kombinieren, sodass
sich Akkorde ergeben. Um das zu erreichen, müssen sie einfach
von spitzen Klammern innerhalb einer expliziten Stimme
umgeben werden:
\new Voice << { e4 f8 d e16 f g8 d4 } { c4 d8 b c16 d e8 b4 } >>
Mit dieser Methode können sich seltsame Balken und Warnungen ergeben, wenn die Musikausdrücke nicht den gleichen Rhythmus haben.
Vordefinierte Befehle
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
,
\oneVoice
.
Siehe auch
Handbuch zum Lernen: Voice enthält Noten, Stimmen explizit beginnen.
Notationsreferenz: Schlagzeugsysteme, Unsichtbare Pausen, Hälse.
Schnipsel: Simultaneous notes.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Mehrstimmigkeit in einem System ] | [ Nach oben : Mehrere Stimmen ] | [ Auflösung von Zusammenstößen > ] |
Stimmenstile
Stimmen können unterschiedliche Farben erhalten, um einfach erkennbar zu sein:
<< { \voiceOneStyle d4 c2 b4 } \\ { \voiceTwoStyle e,2 e } \\ { \voiceThreeStyle b2. c4 } \\ { \voiceFourStyle g'2 g } >>
Der \voiceNeutralStyle
-Befehl wird benutzt, um wieder
die Standardausgabe einzuschalten.
Vordefinierte Befehle
\voiceOneStyle
,
\voiceTwoStyle
,
\voiceThreeStyle
,
\voiceFourStyle
,
\voiceNeutralStyle
.
Siehe auch
Handbuch zum Lernen: Ich höre Stimmen, Mehr Information.
Schnipsel: Simultaneous notes.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Stimmenstile ] | [ Nach oben : Mehrere Stimmen ] | [ Automatische Kombination von Stimmen > ] |
Auflösung von Zusammenstößen
Die Notenköpfe von Noten in unterschiedlichen Stimmen mit derselben Tonhöhe, demselben Notenkopf und den Hälsen in entgegengesetzte Richtungen werden automatisch verschmolzen, aber Noten mit unterschiedlichen Köpfen oder den Hälsen in die selbe Richtung werden nicht verschmolzen. Pausen, die einem Hals in einer anderen Stimme gegenüberstehen, werden vertikal verschoben.
<< { c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Noten mit unterschiedlichen Notenköpfen können verschmolzen werden, mit der Ausnahme von Halben- und Viertelnotenköpfen:
<< { \mergeDifferentlyHeadedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Auch Köpfe mit unterschiedlichen Punktierungen können verschmolzen werden:
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Die Halbe und die Achtel am Anfang des zweiten Taktes werden
fehlerhaft verschmolzen, weil \mergeDifferentlyHeadedOn
(Unterschiedliche Köpfe Verschmelzen An) nicht richtig arbeiten
kann, wenn drei oder mehr Noten zur gleichen Zeit auftreten –
in diesem Fall wird eine Warnung ausgegeben. Damit die
Verschmlezung richtig funktionieren kann, muss ein \shift
(Verschiebung) der Note hinzugefügt werden, die nicht mit
verschmolzen werden soll. In diesem Fall wurde
\shiftOn
gesetzt, um das oberste g aus der
Kolumne zu entfernen. Jetzt funktioniert
\mergeDifferentlyHeadedOn
so wie es soll.
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 \shiftOn g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
Die Befehle \shiftOn
, \shiftOnn
und \shiftOnnn
bezeichnen den Grad, mit dem Noten der aktuellen Stimme verschoben
werden sollen. Die äußeren Stimmen (normalerweise Stimme eins und
zwei) haben diese Funktion standardmäßig ausgeschaltet
(\shiftOff
), während die inneren Stimmen (drei und vier)
ein \shiftOn
eingestellt haben (Verschiebung an). Die
Befehle \shiftOnn
und \shiftOnnn
stellen weitere
Verschiebungesebenen dar.
Noten werden nur verschmolzen, wenn ihre Hälse in gegengesetzte
Richtungen zeigen (also etwa wie Voice
1 und 2).
Vordefinierte Befehle
\mergeDifferentlyDottedOn
,
\mergeDifferentlyDottedOff
,
\mergeDifferentlyHeadedOn
,
\mergeDifferentlyHeadedOff
,
\shiftOn
,
\shiftOnn
,
\shiftOnnn
,
\shiftOff
.
Ausgewählte Schnipsel
Zusätzliche Stimmen um Zusammenstöße zu vermeiden
Ein einigen Fällen von sehr komplexer polyphoner Musik sind zusätzliche
Stimmen notwendig, um Zusammestöße zwischen den Noten zu vermeiden.
Wenn mehr als vier parallele Stimmen benötigt werden, können zusätzliche
Stimmen definiert werden, indem eine Variable mit der Funktion
context-spec-music
definiert wird.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \\ { \voiceThree f,2 bes4 a2 a4 s2 } \\ { \voiceFive s2 g4 g2 f4 f2 } \\ \bar "||"{ \voiceTwo d2 d4 cis2 d4 bes2 } >> }
Horizontale Verschiebung von Noten erzwingen
Wenn es zu Zusammenstößen kommt, kann mit folgender Lösung eine andere Position manuell eingestellt werden. Die Einheiten hier sind Notenlinienzwischenräume.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn #'force-hshift = #1.7 <b f'>2 } >>
Siehe auch
Musikglossar: polyphony.
Handbuch zum Lernen: Mehrere Noten auf einmal, Voice enthält Noten, Kollision von Objekten.
Schnipsel: Simultaneous notes.
Referenz der Interna: NoteColumn, NoteCollision, RestCollision.
Bekannte Probleme und Warnungen
Es gibt keine Unterstützung für Akkorde, in denen die gleiche Note mit unterschiedlichen Versetzungszeichen im selben Akkord auftaucht. In diesem Fall wird empfohlen, enharmonische Töne zu verwenden, oder die besondere Cluster-Notation (siehe Cluster).
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Auflösung von Zusammenstößen ] | [ Nach oben : Mehrere Stimmen ] | [ Musik parallel notieren > ] |
Automatische Kombination von Stimmen
Automatische Kombination von Stimmen wird verwendet, um zwei Stimmen auf einem Notensystem zu setzen. Es wird vor allem in Orchesterpartituren eingesetzt. Wenn beide Stimmen für einige Noten identisch sind, wird nur eine dargestellt. An den Stellen, an denen die beiden Stimmen sich unterscheiden, werden sie als unterschiedliche Stimmen gesetzt, und die Richtung der Hälse wird automatisch bestimmt. Zusätzlich werden solo und a due-Stellen erkannt und bezeichnet.
Die Syntax zur Stimmenkombination lautet:
\partcombine musikAusdr1 musikAusdr2
Das nächste Beispiel zeigt, wie die Kombination funktioniert. Hier werden die Stimmen erst auf einem jeweils eigenen System und dann kombiniert gesetzt, beachten Sie, wie sich die Einstellungen für Polyphonie ändern.
instrumentOne = \relative c' { c4 d e f R1 d'4 c b a b4 g2 f4 e1 } instrumentTwo = \relative g' { R1 g4 a b c d c b a g f( e) d e1 } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partcombine \instrumentOne \instrumentTwo >>
Die Noten des dritten Taktes werden nur einfach ausgegeben, obwohl sie ein beiden Stimmen definiert sind. Die Richtung von Hälsen und Bögen werden automatisch gewählt, abhängig davon ob es eine Solo-Stelle oder Unisono ist. In polyphonen Situationen erhält die erste Stimme immer Hälse nach oben, die zweite Stimme Hälse nach unten. An Solo-Stellen werden die Stimmen mit „Solo“ bzw. „Solo II“ bezeichnet. Die Unisono-Stellen (a due) werden mit dem Text „a2“ gekennzeichnet.
Beide Argumente von \partcombine
werden als
Voice
-Kontexte interpretiert. Wenn relative Oktaven
benutzt werden, muss \relative
für beide Stimmen
benutzt werden, also:
\partcombine \relative … musikAusdr1 \relative … musikAusdr2
Ein \relative
-Abschnitt, der sich außerhalb von\partcombine
befindet, hat keinen Einfluss auf
die Tonhöhen von musikAusdr1 oder musikAusdr2.
Ausgewählte Schnipsel
Zwei Stimmen auf einem System kombinieren
Die Funktion, die Stimmen kombiniert (also der \partcombine
-Befehl)
ermöglicht die Kombination unterschiedlicher Stimmen auf einem
System. Textanweisungen wie "solo" or "a2" werden automatisch
hinzugefügt. Wenn man sie entfernen will, muss man die Eigenschaft
printPartCombineTexts
auf flasch setzen. Für Klavierauszüge
muss natürlich kein "solo"/"a2" usw. hinzugefügt werdne, man
sollte sie also ausschalten. Wenn aber Solo-Stellen in einem
Klavierauszug oder einer Chorpartitur angezeigt werden, ist es besser,
normale Polyphonie zu verwenden, weil so die Solostellen angezeigt
werden, auch wenn der Text des Stimmenkombinierers ausgeschaltet ist.
Der Schnipsel zeigt drei Möglichkeiten, Stimmen auf einem System zu
kombinieren: Standardpolyphonie, \partcombine
ohne Text und
\partcombine
mit Text.
musicUp = \relative c'' { \time 4/4 a4 c4.( g8) a4 | g4 e' g,( a8 b) | c b a2. } musicDown = \relative c'' { g4 e4.( d8) c4 | r2 g'4( f8 e) | d2 \stemDown a } \score { << << \new Staff { \set Staff.instrumentName = #"Standard polyphony" << \musicUp \\ \musicDown >> } \new Staff \with { printPartCombineTexts = ##f } { \set Staff.instrumentName = #"PartCombine without texts" \partcombine \musicUp \musicDown } \new Staff { \set Staff.instrumentName = #"PartCombine with texts" \partcombine \musicUp \musicDown } >> >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar #'collapse-height = #30 } } }
Partcombine-Text ändern
Wenn Stimmen automatisch kombiniert werden, kann der Text, der für Solo- und Unisono-Stellen ausgegeben wird, geändert werden:
\new Staff << \set Staff.soloText = #"girl" \set Staff.soloIIText = #"boy" \set Staff.aDueText = #"together" \partcombine \relative c'' { g4 g r r a2 g } \relative c'' { r4 r a( b) a2 g } >>
Siehe auch
Notationsreferenz: Orchesterstimmen erstellen.
Schnipsel: Simultaneous notes.
Referenz der Interna: PartCombineMusic, Voice.
Bekannte Probleme und Warnungen
\partcombine
kann nur zwei Stimmen bearbeiten.
Wenn printPartCombineTexts
(drucke Stimmenkombinationstext)
gesetzt ist und die Stimmen die gleichen Noten wiederholgt
spielen, kann a2
in einem Takt mehrmals gesetzt werden.
\partcombine
kann nicht innerhalb von \times
benutzt
werden.
\partcombine
kann nicht innerhalb von \relative
benutzt werden.
Intern werden beide Argumente von \partcombine
als
Stimmen (Voice
) interpretiert und entschieden, wann
die Stimmen kombiniert werden können. Wenn sie unterschiedliche
Dauern haben, können sie nicht kombiniert werden und erhalten
die Bezeichnung one
und two
Darum werden
Wechsel zu einem Voice
-Kontext, der eine andere
Bezeichnung hat, ignoriert. Genausowenig ist die Stimmenkombination
dazu ausgelegt, Gesangtext zu verarbeiten: wenn eine der
Stimmen eine explizite Bezeichnung erhält, damit Text damit
verknüpft werden kann, hört die Stimmenkombination auf zu
arbeiten.
\partcombine
findet nur den Beginn von Noten. Es kann
nicht bestimmen, ob eine vorher begonnene Noten weiterklingt,
was zu verschiedenen Problemen führen kann.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Automatische Kombination von Stimmen ] | [ Nach oben : Mehrere Stimmen ] | [ Notation auf Systemen > ] |
Musik parallel notieren
Noten für mehrere Stimmen können verschachtelt notiert werden.
Die Funktion \parallelMusic
akzeptiert eine Liste mit
den Bezeichnungen einer Reihe von Variablen und einen
musikalischen Ausdruck. Der Inhalt der verschiedenen Takte in
dem musikalischen Ausdruck bekommt die Bezeichnung der Variablen zugewiesen,
sodass sie benutzt werden können, um die Musik dann zu setzen.
Dabei entspricht jede Zeile einer Stimme.
Achtung: Taktüberprüfungen |
müssen benutzt werden, und
die Takte müssen die gleiche Länge haben.
\parallelMusic #'(voiceA voiceB voiceC) { % Bar 1 r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' | r16 e'8.~ e'4 r16 e'8.~ e'4 | c'2 c'2 | % Bar 2 r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' | r16 d'8.~ d'4 r16 d'8.~ d'4 | c'2 c'2 | } \new StaffGroup << \new Staff << \voiceA \\ \voiceB >> \new Staff { \clef bass \voiceC } >>
Der relative Modus kann auch benutzt werden. Beachten Sie, dass
der \relative
-Befehl nicht innerhalb von
\parallelMusic
benutzt wird. Die Noten sind paralell
zu der vorherigen Note der gleichen Stimme , nicht zu der
vorherigen Note in der Quelldatei. Anders gesagt ignorieren
realtive Noten von voiceA
die Noten von voiceB
.
\parallelMusic #'(voiceA voiceB voiceC) { % Bar 1 r8 g16 c e g, c e r8 g,16 c e g, c e | r16 e8.~ e4 r16 e8.~ e4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ d4 r16 d8.~ d4 | c2 c | } \new StaffGroup << \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >> \new Staff \relative c' { \clef bass \voiceC } >>
Das funktioniert ziemlich gut für Klaviernoten. Dieses Beispiel speichert vier konsekutive Takte in vier Variablen:
global = { \key g \major \time 2/4 } \parallelMusic #'(voiceA voiceB voiceC voiceD) { % Bar 1 a8 b c d | d4 e | c16 d e fis d e fis g | a4 a | % Bar 2 e8 fis g a | fis4 g | e16 fis g a fis g a b | a4 a | % Bar 3 ... } \score { \new PianoStaff << \new Staff { \global << \relative c'' \voiceA \\ \relative c' \voiceB >> } \new Staff { \global \clef bass << \relative c \voiceC \\ \relative c \voiceD >> } >> }
Siehe auch
Handbuch zum Lernen: Stücke durch Bezeichner organisieren.
Schnipsel: Simultaneous notes.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Musik parallel notieren ] | [ Nach oben : Musikalische Notation ] | [ Systeme anzeigen lassen > ] |
1.6 Notation auf Systemen
Dieser Abschnitt zeigt, wie die Erscheinung von Systemen beeinflusst wird, wie Partituren mit mehr als einem System gesetzt werden und wie man Aufführungsanweisungen und Stichnoten zu einzelnen Systemen hinzufügt.
1.6.1 Systeme anzeigen lassen | ||
1.6.2 Einzelne Systeme verändern | ||
1.6.3 Orchesterstimmen erstellen |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Notation auf Systemen ] | [ Nach oben : Notation auf Systemen ] | [ Neue Notensysteme erstellen > ] |
1.6.1 Systeme anzeigen lassen
Dieser Abschnitt zeigt unterschiedliche Methoden, Notensysteme und Gruppen von Systemen zu erstellen.
Neue Notensysteme erstellen | ||
Systeme gruppieren | ||
Verschachtelte Notensysteme |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Systeme anzeigen lassen ] | [ Nach oben : Systeme anzeigen lassen ] | [ Systeme gruppieren > ] |
Neue Notensysteme erstellen
Notensysteme (engl. staff, Pl. staves)
werden mit dem \new
oder \context
-Befehl erstellt. Zu
Einzelheiten siehe
Kontexte erstellen.
Der einfachste Notensystem-Kontext ist Staff
:
\new Staff { c4 d e f }
DrumStaff
(Perkussionsnotensystem) erstellt ein Notensystem
mit fünf Linien, das für ein typisches Schlagzeug eingerichtet ist.
Für jedes Instrument werden unterschiedliche Symbole dargestellt.
Die Instrumente werden innerhalb der
drummode
-Umgebung gesetzt, wo jedes Instrument seine eigene
Bezeichnung hat. Zu Einzelheiten siehe
Schlagzeugsysteme.
\new DrumStaff { \drummode { cymc hh ss tomh } }
RhythmicStaff
(Rhythmus-System) erstellt ein Notensystem mit
nur einer Notenlinie, auf welcher nur die rhythmischen Werte der
eingegebenen Noten dargestellt werden. Die wirklichen Längen bleiben
erhalten. Zu Einzelheiten, siehe
Melodierhythmus anzeigen.
\new RhythmicStaff { c4 d e f }
TabStaff
(Tabulatursystem) erstellt eine Tabulatur mit sechs
Saiten in der üblichen Gitarrenstimmung. Zu Einzelheiten siehe
Standardtabulaturen.
\new TabStaff { c4 d e f }
Es gibt zwei Notensysteme, die zur Notation von Alter Musik eingesetzt
werden: MensuralStaff
and VaticanaStaff
. Sie sind
erklärt in
Vordefinierte Umgebungen.
Das GregorianTranscriptionStaff
(System zur Transkription des
Gregorianischen Chorals) erstellt ein Notensystem, um modernen
Gregorianischen Choral zu notieren. Es hat keine Notenlinien.
\new GregorianTranscriptionStaff { c4 d e f e d }
Neue Notensystem-Kontexte können selber definiert werden. Zu Einzelheiten, siehe Neue Kontexte definieren.
Siehe auch
Notationsreferenz: Kontexte erstellen, Schlagzeugsysteme, Melodierhythmus anzeigen, Standardtabulaturen, Vordefinierte Umgebungen, Das Notensystem, Gregorianische Gesangs-Kontexte, Mensural-Kontexte, Neue Kontexte definieren.
Schnipsel: Staff notation.
Referenz der Interna: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Neue Notensysteme erstellen ] | [ Nach oben : Systeme anzeigen lassen ] | [ Verschachtelte Notensysteme > ] |
Systeme gruppieren
Es gibt verschiedene Kontexte, um einzelne Notensysteme zu gruppieren und einer Partitur zu verbinden. Jeder Gruppenstil beeinflusst das Aussehen des Systemanfangs und das Verhalten der Taktlinien.
Wenn kein Kontext angegeben ist, wird die Standardeinstellung eingesetzt: die Gruppe beginnt mit einer vertikalen Linie und die Taktlinien sind nicht verbunden.
<< \new Staff { c1 c } \new Staff { c1 c } >>
Im StaffGroup
-Kontext die Gruppe mit einer eckigen Klammer
begonnen und die Taktlinien durch alle Systeme gezogen.
\new StaffGroup << \new Staff { c1 c } \new Staff { c1 c } >>
In einem ChoirStaff
(Chorsystem) beginnt die Gruppe mit einer
eckigen Klammer, aber die Taktlinien sind nicht verbunden.
\new ChoirStaff << \new Staff { c1 c } \new Staff { c1 c } >>
In einem GrandStaff
(Akkolade) beginnt die Gruppe mit einer
geschweiften Klammer und die Taktlinien sind durchgezogen.
\new GrandStaff << \new Staff { c1 c } \new Staff { c1 c } >>
Der PianoStaff
-(Klaviersystem)-Kontext ist identisch mit dem
GrandStaff
-Kontext, aber es ermöglicht zusätzlich direkt
die Angabe einer Instrumentbezeichnung. Zu Einzelheiten siehe
Instrumentenbezeichnungn.
\new PianoStaff << \set PianoStaff.instrumentName = #"Piano" \new Staff { c1 c } \new Staff { c1 c } >>
Jede Systemgruppe stellt die Eigenschaft
systemStartDelimiter
(SystemBeginnBegrenzer) auf einen der
folgenden Werte:
SystemStartBar
, SystemStartBrace
oder
SystemStartBracket
. Ein vierter Begrenzer,
SystemStartSquare
, ist auch erreichbar, aber man muss ihr
explizit einstellen.
Neue Systemgruppen können definiert werden. Zu Einzelheiten siehe Neue Kontexte definieren.
Ausgewählte Schnipsel
Eine eckige Klammer zu Beginn von Systemgruppen benutzen
Die Klammer zu Beginn von Systemgruppen kann auch in eine eckige Klammer
(SystemStartSquare
) umgewandelt werden, wenn man sie explizit
im StaffGroup
- oder ChoirStaffGroup
-Kontext setzt.
\score { \new StaffGroup { << \set StaffGroup.systemStartDelimiter = #'SystemStartSquare \new Staff { c'4 d' e' f' } \new Staff { c'4 d' e' f' } >> } }
Klammer anzeigen wenn nur ein System gesetzt wird
Wenn nur ein System einer Systemgruppe vom Typ ChoirStaff
oder
StaffGroup
angezeigt wird, wird die Klammer zu Beginn normalerweise
nicht gesetzt. Das kann verändert werden, indem man die ensprechende
Eigenschaft veränder.
Bei Systemen wie PianoStaff
und GrandStaff
, die mit einer
geschweiften Klammer beginne, muss eine andere Eigenschaft verändt werden,
wie das zweite Beispiel zeigt.
\markup \left-column { \score { \new StaffGroup << % Must be lower than the actual number of staff lines \override StaffGroup.SystemStartBracket #'collapse-height = #1 \override Score.SystemStartBar #'collapse-height = #1 \new Staff { c'1 } >> \layout { } } \null \score { \new PianoStaff << \override PianoStaff.SystemStartBrace #'collapse-height = #1 \override Score.SystemStartBar #'collapse-height = #1 \new Staff { c'1 } >> \layout { } } }
Mensurstriche-Layout (Taktstriche zwischen den Systemen
Das Mensurstiche-Layout, in welchem die Taktlinien nicht auf den Systemen,
sondern zwischen den Systemen gesetzt werden, kann mit einer StaffGroup
anstelle von ChoirStaff
erreicht werden. Die Taktlinien auf den
Systemen werden mit der the transparent
-Eigenschaft ausgelöscht.
global = { \override Staff.BarLine #'transparent = ##t s1 s % the final bar line is not interrupted \revert Staff.BarLine #'transparent \bar "|." } \new StaffGroup \relative c'' { << \new Staff { << \global { c1 c } >> } \new Staff { << \global { c c } >> } >> }
Siehe auch
Glossar: brace, bracket, grand staff.
Notationsreferenz: Instrumentenbezeichnungn, Neue Kontexte definieren.
Schnipsel: Staff notation.
Referenz der Interna: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Systeme gruppieren ] | [ Nach oben : Systeme anzeigen lassen ] | [ Einzelne Systeme verändern > ] |
Verschachtelte Notensysteme
System-Gruppen können in beliebiger Tiefe geschachtelt werden. In diesem Fall erstellt jeder neue, innen liegende Kontext eine neue Klammer außerhalb der Klammer der Systemgruppe, in der er sich befindet.
\new StaffGroup << \new Staff { c2 c | c2 c } \new StaffGroup << \new Staff { g2 g | g2 g } \new StaffGroup \with { systemStartDelimiter = #'SystemStartSquare } << \new Staff { e2 e | e2 e } \new Staff { c2 c | c2 c } >> >> >>
Neue geschachtelte Systemgruppen können definiert werden. Zu Einzelheiten siehe Neue Kontexte definieren.
Ausgewählte Schnipsel
Systeme schachteln
Die Eigenschaft systemStartDelimiterHierarchy
kann eingesetzt
werden, um komplizierte geschachtelte Systemklammern zu erstellen. Der
Befehl \set StaffGroup.systemStartDelimiterHierarchy
nimmt eine
Liste mit der Anzahl der Systeme, die ausgegeben werden, auf. Vor jedem
System kann eine Systemanfangsklammer angegeben werden. Sie muss in Klammern eingefügt
werden und umfasst so viele Systeme, wie die Klammer einschließt. Elemente
in der Liste können ausgelassen werden, aber die erste Klammer umfasst immer
die gesamte Gruppe. Die Möglichkeiten der Anfangsklammer sind: SystemStartBar
,
SystemStartBracket
, SystemStartBrace
und
SystemStartSquare
.
\new StaffGroup \relative c'' << \set StaffGroup.systemStartDelimiterHierarchy = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a (SystemStartSquare b) ) c ) d) \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } \new Staff { c1 } >>
Siehe auch
Notationsreferenz: Systeme gruppieren, Instrumentenbezeichnungn, Neue Kontexte definieren.
Schnipsel: Staff notation.
Referenz der Interna: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Verschachtelte Notensysteme ] | [ Nach oben : Notation auf Systemen ] | [ Das Notensystem > ] |
1.6.2 Einzelne Systeme verändern
Dieser Abschnitt zeigt, wie man bestimmte Eigenschaften eines Systems ändert – etwa die Anzahld der Notenlinien oder die Größe des Systems. Es werden auch Methoden dargestellt, ein System zu beginnen und zu beenden sowie eine Methode, Ossia-Systeme zu erstellen.
Das Notensystem | ||
Ossia-Systeme | ||
Systeme verstecken |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Einzelne Systeme verändern ] | [ Nach oben : Einzelne Systeme verändern ] | [ Ossia-Systeme > ] |
Das Notensystem
Die Linien eines Notensystems gehören zu dem
StaffSymbol
-(NotensystemSymbol)-Grob.
StaffSymbol
-Eigenschaften können verändert werden, um die
Erscheinung des Notensystems zu beeinflussen, aber sie müssen
gesetzt werden, bevor das System erstellt wird.
Die Anzahl der Notenlinien kann verändert werden. Die Position des Notenschlüssels und die Position von c’ können geändert werden, um dem neuen System zu entsprechen. Eine Erklärung findet sich im Schnipselabschnit in Notenschlüssel.
\new Staff \with { \override StaffSymbol #'line-count = #3 } { d4 d d d }
Die Liniendicke der Notenlinien kann verändert werden. Die Dicke der Hilfslinien und Notenhälse wird auch beeinflusst, weil sie von der Notenliniendicke abhängen.
\new Staff \with { \override StaffSymbol #'thickness = #3 } { e4 d c b }
Die Dicke der Hilfslinien kann auch unabhängig von der Notenliniendicke verändert werden. Die zwei Zahlen in dem Beispiel sind Faktoren, mit denen die Notenlinien-Dicke und der Notenlinienabstand multipliziert werden. Die Addition beider Werte ergibt die Dicke der Hilfslinien.
\new Staff \with { \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2) } { e4 d c b }
Der Abstand zwischen Notenlinien kann verändert werden. Diese Einstellung wirkt sich auch auf den Abstand der Hilfslinien aus.
\new Staff \with { \override StaffSymbol #'staff-space = #1.5 } { a4 b c d }
Weitere Einzelheiten zu den Eigenschaften von StaffSymbol
findet sich in
staff-symbol-interface.
Veränderungen der Eigenschaften eines Notensystems mitten in einer
Partitur können zwischen die Befehle \stopStaff
und
\startStaff
gesetzt werden:
c2 c \stopStaff \override Staff.StaffSymbol #'line-count = #2 \startStaff b2 b \stopStaff \revert Staff.StaffSymbol #'line-count \startStaff a2 a
Die Befehle \startStaff
und \stopStaff
können
benutzt werden, um ein Notensystem irgendwo zu beenden oder zu
beginnen.
c4 b a2 \stopStaff b4 c d2 \startStaff e4 d c2
Vordefinierte Befehle
\startStaff
,
\stopStaff
.
Ausgewählte Schnipsel
Eine Linie des Notensystems dicker als die anderen machen
Für den pädagogischen Einsatz kann eine Linie des Notensystems dicker
gezeichnet werden (z. B. die Mittellinie, oder um den Schlüssel hervorzuheben).
Das ist möglich, indem man zusätzliche Linien sehr nahe an der Linie, die
dicker erscheinen soll, einfügt. Dazu wird die line-positions
-Eigenschaft
herangezogen.
{ \override Staff.StaffSymbol #'line-positions = #'(-4 -2 -0.2 0 0.2 2 4) d'4 e' f' g' }
Siehe auch
Glossar: line, ledger line, staff.
Notationsreferenz: Notenschlüssel.
Schnipsel: Staff notation.
Referenz der Interna: StaffSymbol, staff-symbol-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Das Notensystem ] | [ Nach oben : Einzelne Systeme verändern ] | [ Systeme verstecken > ] |
Ossia-Systeme
Ossia-Systeme können gesetzt werden, indem zwei gleichzeitige Notensysteme an der entsprechenden Position erstellt werden:
\new Staff \relative c'' { c4 b d c << { c4 b d c } \new Staff { e4 d f e } >> c4 b c2 }
Dieses Beispiel ist aber normalerweise nicht erwünscht. Um Ossia-Systeme zu setzen, die sich über dem eigentlichen System befinden, keine Takt- und Schlüsselangaben haben und kleiner gesetzt sind, müssen einige Optimierungen angewendet werden. Im Handbuch zum Lernen wird eine Technik vorgestellt, mit der das gewünschte Ergebnis erreicht werden kann, beginnend in Musikalische Ausdrücke ineinander verschachteln.
Das Beispiel unten setzt die
alignAboveContext
-(oberhalbAusrichtenKontext)-Eigenschaft
ein, um den Ossia-Abschnitt auszurichten. Diese Methode
bietet sich an, wenn nur einige Ossia-Systeme benötigt werden.
\new Staff = main \relative c'' { c4 b d c << { c4 b d c } \new Staff \with { \remove "Time_signature_engraver" alignAboveContext = #"main" fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) firstClef = ##f } { e4 d f e } >> c4 b c2 }
Wenn mehrere isolierte Ossia-Systeme gebraucht werden, kann es
günstiger sein, einen leeren Staff
-Kontext mit einer
spezifischen Kontextidentifikation zu erstellen. Die
Ossia-Abschnitte werden dann erstellt, indem dieser Kontext
aufgerufen wird und mit \startStaff
und
\stopStaff
an den richtigen Stellen sichtbar gemacht
wird. Der Vorteil dieser Methode zeigt sich, wenn man längere
Stücke setzt.
<< \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } { \stopStaff s1*6 } \new Staff \relative c' { c4 b c2 << { e4 f e2 } \context Staff = ossia { \startStaff e4 g8 f e2 \stopStaff } >> g4 a g2 \break c4 b c2 << { g4 a g2 } \context Staff = ossia { \startStaff g4 e8 f g2 \stopStaff } >> e4 d c2 } >>
Man kann auch den \RemoveEmptyStaffContext
-Befehl einsetzen,
um Ossia-Systeme zu erstellen. Diese Methode eignet sich am
besten, wenn nach dem Ossia sofort ein Zeilenumbruch erfolgt.
In diesem Fall müssen auch keine unsichtbaren Pausen eingesetzt
werden; es reicht, \startStaff
und \stopStaff
einzusetzen. Mehr Information zu \RemoveEmptyStaffContext
findet sich in
Systeme verstecken.
<< \new Staff = ossia \with { \remove "Time_signature_engraver" \override Clef #'transparent = ##t fontSize = #-3 \override StaffSymbol #'staff-space = #(magstep -3) \override StaffSymbol #'thickness = #(magstep -3) } \new Staff \relative c' { c4 b c2 e4 f e2 g4 a g2 \break << { c4 b c2 } \context Staff = ossia { c4 e8 d c2 \stopStaff } >> g4 a g2 e4 d c2 } >> \layout { \context { \RemoveEmptyStaffContext \override VerticalAxisGroup #'remove-first = ##t } }
Ausgewählte Schnipsel
Gesangstext und Ossia vertikal ausrichten
Dieser Schnipsel zeigt, wie man die Kontexteigenschaften
alignBelowContext
und alignAboveContext
benutzen kann, um
die Positionierung von Gesangstext und Ossia-Abschnitten zu kontrollieren.
\paper { ragged-right = ##t } \relative c' << \new Staff = "1" { c4 c s2 } \new Staff = "2" { c4 c s2 } \new Staff = "3" { c4 c s2 } { \skip 2 << \lyrics { \set alignBelowContext = #"1" lyrics4 below } \new Staff \with { alignAboveContext = #"3" fontSize = #-2 \override StaffSymbol #'staff-space = #(magstep -2) \remove "Time_signature_engraver" } { \times 4/6 { \override TextScript #'padding = #3 c8[^"ossia above" d e d e f] } } >> } >>
Siehe auch
Glossar: ossia, staff, Frenched staff.
Handbuch zum Lernen: Musikalische Ausdrücke ineinander verschachteln, Größe von Objekten, Länge und Dicke von Objekten.
Notationsreferenz: Systeme verstecken.
Schnipsel: Staff notation.
Referenz der Interna: StaffSymbol.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Ossia-Systeme ] | [ Nach oben : Einzelne Systeme verändern ] | [ Orchesterstimmen erstellen > ] |
Systeme verstecken
Die Notenlinien können entfernt werden, indem der
Staff_symbol_engraver
aus dem Staff
-Kontext
entfernt wird. Alternativ kann auch \stopStaff
eingesetzt werden.
\new Staff \with { \remove "Staff_symbol_engraver" } \relative c''' { a8 f e16 d c b a2 }
Leere Systeme können versteckt werden, wenn der
\RemoveEmptyStaffContext
-Befehl im \layout
-Abschnitt
benutzt wird. In großen Orchesterpartituren wird dies oft
verwendet, um die leeren Systeme von gerade nicht spielenden
Instrumenten zu verstecken. In der Standardeinstellung werden alle
leeren Notenzeilen außer die des ersten Systems entfernt.
Achtung: Eine Notenzeile gilt als leer, wenn sie nur Ganztaktpausen,
unsichtbare Noten, skip
-Befehle oder eine Kombination
der drei enthält.
\layout { \context { \RemoveEmptyStaffContext } } \relative c' << \new Staff { e4 f g a \break b1 \break a4 b c2 } \new Staff { c,4 d e f \break R1 \break f4 g c,2 } >>
\RemoveEmptyStaffContext
kann auch eingesetzt werden,
um Ossiaabschnitte zu erstellen. Zu Einzelheiten, siehe
Ossia-Systeme.
Der \AncientRemoveEmptyStaffContext
-Befehl kann
benutzt werden, um leere Takte in Notation der Alten Musik
zu entfernen. Gleichermaßen kann
\RemoveEmptyRhythmicStaffContext
eingesetzt werden, um
leere Takte in einem
RhythmicStaff
-Kontext zu entfernen.
Vordefinierte Befehle
\RemoveEmptyStaffContext
,
\AncientRemoveEmptyStaffContext
,
\RemoveEmptyRhythmicStaffContext
.
Ausgewählte Schnipsel
Die erste leere Notenzeile auch entfernen
Ein leeres Notensystem kann auch aus der ersten Zeile einer Partitur
entfernt werden, indem die Eigenschaft remove-first
der
VerticalAxisGroup
-Eigenschaft eingesetzt wird. Das kann
man global in einer \layout
-Umgebung oder lokal in dem
bestimmten Notensystem machen, das entfernt werden soll. In letzterem
Fall muss man den Kontext angeben.
Das untere Notensystem der zweiten Systemgruppe wird nicht entfernt, weil in die Einstellungen in dem Schnipsel nur für das eine Notensystem gültig sind.
\layout { \context { \Staff \RemoveEmptyStaves % To use the setting globally, uncomment the following line: % \override VerticalAxisGroup #'remove-first = ##t } } \new StaffGroup << \new Staff \relative c' { e4 f g a \break c1 } \new Staff { % To use the setting globally, comment this line, % uncomment the line in the \layout block above \override Staff.VerticalAxisGroup #'remove-first = ##t R1 \break R } >> \new StaffGroup << \new Staff \relative c' { e4 f g a \break c1 } \new Staff { R1 \break R } >>
Siehe auch
Glossar: Frenched staff.
Notationsreferenz: Das Notensystem, Ossia-Systeme.
Schnipsel: Staff notation.
Referenz der Interna: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver.
Bekannte Probleme und Warnungen
Wenn man den Staff_symbol_engraver
entfernt, werden auch
die Taktlinien entfernt. Wenn eine sichtbare Taktlinie
angefordert wird, kann es zu Formatierungsfehlern kommen. In
diesem Fall sollten folgende Befehle eingesetzt werden, anstatt
den Engraver zu entfernen:
\override StaffSymbol #'stencil = ##f \override NoteHead #'no-ledgers = ##t
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Systeme verstecken ] | [ Nach oben : Notation auf Systemen ] | [ Metronomangabe > ] |
1.6.3 Orchesterstimmen erstellen
Dieser Abschnitt zeigt, wie man Tempo-Anweisungen und Instrumentenbezeichnungen einfügt. Es werden auch Möglichkeiten vorgestellt, andere Stimmen zu zitieren und Stichnoten zu formatieren.
Metronomangabe | ||
Instrumentenbezeichnungn | ||
Stichnoten | ||
Stichnoten formatieren |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Orchesterstimmen erstellen ] | [ Nach oben : Orchesterstimmen erstellen ] | [ Instrumentenbezeichnungn > ] |
Metronomangabe
Eine Metronomanweisung wird wie folgt erstellt:
\tempo 4 = 120 c2 d e4. d8 c2
Anstelle dessen kann auch Text als Argument angegeben werden:
\tempo "Allegretto" c4 e d c b4. a16 b c4 r4
Wenn eine Metronombezeichnung und Text kombiniert wird, wird die Metronombezeichnung automatisch in Klammern gesetzt:
\tempo "Allegro" 4 = 160 g4 c d e d4 b g2
Der Text kann ein beliebiges Textbeschriftungsobjekt sein:
\tempo \markup { \italic Faster } 4 = 132 a8-. r8 b-. r gis-. r a-. r
Eine Metronombezeichnung in Klammern ohne Text kann erstellt werden, indem eine leere Zeichenkette hinzugefügt wird:
\tempo "" 8 = 96 d4 g e c
Ausgewählte Schnipsel
Metronom- und Übungszeichen unter das System setzen
Normalerweise werden Metronom- und Übungszeichen über dem Notensystem ausgegeben.
Um sie unter das System zu setzen, muss die direction
-Eigenschaft
von MetronomeMark
oder RehearsalMark
entsprechend verändert werden.
\layout { ragged-right = ##f } { % Metronome marks below the staff \override Score.MetronomeMark #'direction = #DOWN \tempo 8. = 120 c''1 % Rehearsal marks below the staff \override Score.RehearsalMark #'direction = #DOWN \mark \default c''1 }
Das Tempo ohne Metronom-Angabe verändern
Um das Tempo für die MIDI-Ausgabe zu ändern, ohne eine Tempoangabe in den Noten auszugeben, kann die Metronombezeichnung unsichtbar gemacht werden:
\score { \new Staff \relative c' { \tempo 4 = 160 c4 e g b c4 b d c \set Score.tempoHideNote = ##t \tempo 4 = 96 d,4 fis a cis d4 cis e d } \layout { } \midi { } }
Eine Metronombezeichnung als Textbeschriftung erstellen
Neue Metronombezeichnungen können als Textbeschriftung erstellt werden, aber sie ändern nicht das Tempo für die MIDI-Ausgabe.
\relative c' { \tempo \markup { \concat { ( \smaller \general-align #Y #DOWN \note #"16." #1 " = " \smaller \general-align #Y #DOWN \note #"8" #1 ) } } c1 c4 c' c,2 }
Zu Einzelheiten siehe Text formatieren.
Siehe auch
Glossar: metronome, metronomic indication, tempo indication, metronome mark.
Notationsreferenz: Text formatieren, MIDI-Ausgabe.
Schnipsel: Staff notation.
Referenz der Interna: MetronomeMark.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Metronomangabe ] | [ Nach oben : Orchesterstimmen erstellen ] | [ Stichnoten > ] |
Instrumentenbezeichnungn
Instrumentbezeichnungen können an der linken Seite von Notensystemen
im Staff
- und PianoStaff
-Kontext gesetzt
werden. Der Wert von instrumentName
wird für das erste
System eingesetzt, der Wert von shortInstrumentName
für
alle weiteren Systeme.
\set Staff.instrumentName = #"Violin " \set Staff.shortInstrumentName = #"Vln " c4.. g'16 c4.. g'16 \break c1
Mit dem Textbeschriftungsmodus können auch komplizierte Instrumentenbezeichnungen erstellt werden:
\set Staff.instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } c4 c,16 d e f g2
Wenn zwei oder mehr Systeme gruppiert werden, werden die
Instrumentenbezeichnungen automatisch zentriert. Um auch
mehrzeilige Instrumentenbezeichnungen zentriert zu setzen, muss
\center-column
benutzt werden:
<< \new Staff { \set Staff.instrumentName = #"Flute" f2 g4 f } \new Staff { \set Staff.instrumentName = \markup \center-column { Clarinet \line { "in B" \smaller \flat } } c4 b c2 } >>
Wenn die Instrumentenbezeichnung zu lang ist, kann es vorkommen,
dass die Bezeichnungen in einer Gruppe nicht zentriert werden.
Um dennoch eine Zentrierung zu erhalten, müssen die Werte des
Einzugs (indent
und short-indent
) vergrößert werden.
Zu Einzelheiten siehe Horizontale Dimensionen.
\layout { indent = 3.0\cm short-indent = 1.5\cm } \relative c'' << \new Staff { \set Staff.instrumentName = #"Alto Flute in G" \set Staff.shortInstrumentName = #"Fl." f2 g4 f \break g4 f g2 } \new Staff { \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clar." c,4 b c2 \break c2 b4 c } >>
Um Instrumentenbezeichnungen zu anderen Kontexten (wie etwa
GrandStaff
, ChoirStaff
oder StaffGroup
)
hinzuzufügen, muss der Instrument_name_engraver
dem
entsprechenden Kontext hinzugefügt werden. Zu Einzelheiten
siehe Umgebungs-Plugins verändern.
Instrumentenbezeichnungen können mitten in einer Partitur geändert werden:
\set Staff.instrumentName = #"First" \set Staff.shortInstrumentName = #"one" c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Second" \set Staff.shortInstrumentName = #"two" c1 c c c \break c1 c c c \break
Wenn das Instrument gewechselt werden soll, kann der Befehl
\addInstrumentDefinition
in Begleitung von
\instrumentSwitch
benutzt werden, um eine detaillierte
Auflistung aller notwendigen Änderungen für den Wechsel zu
definieren. Der \addInstrumentDefinition
-Befehl hat
zwei Argumente: eine Identifikation und eine Assosiationsliste
von Kontexteigenschaften und Werten, die für dieses Instrument
benutzt werden müssen. Der Befehl muss sich auf der höchsten
Ebene in der Eingabedatei befinden. \instrumentSwitch
wird dann benutzt, um den Wechsel vorzunhemen:
\addInstrumentDefinition #"contrabassoon" #`((instrumentTransposition . ,(ly:make-pitch -1 0 0)) (shortInstrumentName . "Cbsn.") (clefGlyph . "clefs.F") (middleCPosition . 6) (clefPosition . 2) (instrumentCueName . ,(make-bold-markup "cbsn.")) (midiInstrument . "bassoon")) \new Staff \with { instrumentName = #"Bassoon" } \relative c' { \clef tenor \compressFullBarRests c2 g' R1*16 \instrumentSwitch "contrabassoon" c,,2 g \break c,1 ~ | c1 }
Siehe auch
Notationsreferenz: Horizontale Dimensionen, Umgebungs-Plugins verändern.
Schnipsel: Staff notation.
Referenz der Interna: InstrumentName, PianoStaff, Staff.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Instrumentenbezeichnungn ] | [ Nach oben : Orchesterstimmen erstellen ] | [ Stichnoten formatieren > ] |
Stichnoten
Es kommt sehr oft vor, dass eine Orchesterstimme die gleichen Noten wie eine andere spielt. So können etwa die ersten und zweiten Geigen für eine Passage die gleichen Noten haben. In LilyPond kann man das erreichen, indem eine Stimme von der anderen zitiert, sodass man die Noten nicht nocheinmal eingeben muss.
Bevor eine Stimme zitiert werden kann, muss der
\addQuote
-Befehl benutzt werden, um das zitierbare
Fragment zu kennzeichnen. Dieser Befehl muss auf der höchsten
Ebene der Eingabedatei benutzt werden. Das erste Argument
dient zur Identifikation, das zweite ein musikalischer Ausdruck:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute }
Der \quoteDuring
-Befehl wird benutzt, um den Punkt
anzuzeigen, an dem das Zitat beginnt. Er benötigt zwei
Argumente: die Bezeichnung der zitierten Stimme, wie vorher mit
\addQuote
definiert, und einen musikalischen Ausdruck,
der Angibt, wie lange das Zitat dauern soll; normalerweise
Ganztaktpausen oder unsichtbare Noten. Die entsprechenden
Noten der zitierten Stimme wird an der Stelle in die aktuelle
Stimme eingefügt:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { s2 } }
Wenn der musikalische Ausdruck, der mit dem
\quoteDuring
-Befehl benutzt wird, etwas anderes
als unsichtbare Noten oder Ganztaktpausen enthält, wird eine
polyphone Stelle begonnen, was meistens nicht erwünscht ist:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { c4 b } }
Zitate erkennen die Einstellungen von transponierten Instrumenten
sowohl der Quell- als auch der Zielstimme, wenn der
\transposition
-Befehl eingesetzt wird. Zu Einzelheiten
über \transposition
siehe
Transposition von Instrumenten.
clarinet = \relative c'' { \transposition bes a4 gis g gis } \addQuote "clarinet" { \clarinet } \relative c' { c4 cis \quoteDuring #"clarinet" { s2 } }
Es ist möglich, Zitate mit eindeutigen Bezeichnungen zu versehen (unter Benutzung von tags), um sie auf unterschiedliche Weise zu verarbeiten. Einzelheiten zu diesem Vorgehen werden vorgestellt in Marken benutzen.
Ausgewählte Schnipsel
Eine Stimme mit Transposition zitieren
Zitate berücksichtigen sowohl die Transposition der Quelle als auch
des Zielinstruments. In diesem Beispiel spielen alle Instrumente
klingendes C, das Zielinstrument ist in F. Die Noten für das
Zielinstrument können mit \transpose
transponiert werden,
in diesem Fall werden alle Noten (auch die zitierten) transponiert.
\addQuote clarinet { \transposition bes \repeat unfold 8 { d'16 d' d'8 } } \addQuote sax { \transposition es' \repeat unfold 16 { a8 } } quoteTest = { % french horn \transposition f g'4 << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >> << \quoteDuring #"sax" { \skip 4 } s4^"sax." >> g'4 } { \set Staff.instrumentName = \markup { \center-column { Horn \line { in F } } } \quoteTest \transpose c' d' << \quoteTest s4_"up a tone" >> }
Eine andere Stimme zitieren
Die quotedEventTypes
-Eigenschaft bestimmt die
Typen an Musikereignissen, die zitiert werden. Die
Standardeinstellung ist (note-event rest-event)
, womit
nur Noten und Pausen der zitierten Stimme für den
\quoteDuring
-Ausdruck übernommen werden. Im
Beispiel hier wird die 16-Pause nicht übernommen, weil
sich rest-event
nicht in quotedEventTypes
befindet.
quoteMe = \relative c' { fis4 r16 a8.-> b4\ff c } \addQuote quoteMe \quoteMe original = \relative c'' { c8 d s2 \once \override NoteColumn #'ignore-collision = ##t es8 gis8 } << \new Staff { \set Staff.instrumentName = #"quoteMe" \quoteMe } \new Staff { \set Staff.instrumentName = #"orig" \original } \new Staff \relative c'' << \set Staff.instrumentName = #"orig+quote" \set Staff.quotedEventTypes = #'(note-event articulation-event) \original \new Voice { s4 \set fontSize = #-4 \override Stem #'length-fraction = #(magstep -4) \quoteDuring #"quoteMe" { \skip 2. } } >> >>
Siehe auch
Notationsreferenz: Transposition von Instrumenten, Marken benutzen.
Schnipsel: Staff notation.
Referenz der Interna: QuoteMusic, Voice.
Bekannte Probleme und Warnungen
Nur der Inhalt der ersten Stimme innerhalb eines
\addQuote
-Befehls wird für das Zitat herangezogen, die
Variable Noten kann also keine \new
oder \context Voice
-Einheiten enthalten, die zu einer anderen
Stimme wechseln würden.
Ziernoten und Vorschläge können nicht zitiert werden und können sogar dazu führen, dass LilyPond abstürzt.
Wenn geschachtelte Triolen zitiert werden, ist das Notenbild unter Umständen sehr schlecht.
In früheren LilyPond-Versionen (vor 2.11) wurde der Befehl
addQuote
vollständig in Kleinbuchstaben geschrieben:
\addquote
.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Stichnoten ] | [ Nach oben : Orchesterstimmen erstellen ] | [ Anmerkungen > ] |
Stichnoten formatieren
Der vorige Abschnitt zeigt, wie man Zitate erstellt. Der
\cueDuring
-Befehl (engl. cue note = Stichnote)
ist eine spezialisierte Form des
\quoteDuring
-Befehls, der insbesondere dazu dient,
Stichnoten zu einer Stimme hinzuzufügen. Seine Syntax lautet:
\cueDuring #Stimmenbezeichnung #Stimme Noten
Dieser Befehl kopiert die entsprechenden Takte von
Stimmenbezeichnung in einen CueVoice
-Kontext. Eine
CueVoice
(Stichnoten-Stimme) wird implizit erstellt
und erscheint simultan mit Noten, wobei folglich eine
polyphone Situation entsteht. Das Stimme-Argument entscheidet,
ob die Stichnoten als eine erste oder zweite Stimme
eingefügt werden sollen; UP
entspricht der ersten Stimme,
DOWN
der zweiten.
oboe = \relative c'' { r2 r8 d16 f e g f a g8 g16 g g2. } \addQuote "oboe" { \oboe } \new Voice \relative c'' { \cueDuring #"oboe" #UP { R1 } g2 c, }
In diesem Beispiel muss der Voice
-Kontext explizit
begonnen werden, damit nicht der gesamte musikalische Ausdruck
als Stichnoten-Stimme formatiert wird.
Die Bezeichnung des Instruments, von dem die Stichnoten genommen
werden, kann auch ausgegeben werden, wenn die Eigenschaft
instrumentCueName
im CueVoice
-Kontext definiert wird.
oboe = \relative c''' { g4 r8 e16 f e4 d } \addQuote "oboe" { \oboe } \new Staff \relative c'' << \new CueVoice \with { instrumentCueName = "ob." } \new Voice { \cueDuring #"oboe" #UP { R1 } g4. b8 d2 } >>
Zusätzlich zu der Instrumentenbezeichnung kann auch die
Bezeichnung des Originalinstruments ausgegeben werden, und alle
Änderungen, die für die Stichnoten gemacht wurden, müssen
wieder rückgängig gemacht werden. Das kann mit den Befehlen
\addInstrumentDefinition
und \instrumentSwitch
vorgenommen werden. Ein Beispiel und mehr Information findet
sich in
Instrumentenbezeichnungn.
Der \killCues
-Befehl entfernt Stichnoten aus einem
musikalischen Ausdruck. Das kann nützlich sein, wenn die
Stichnoten von einer Stimme entfernt werden sollen, aber in
einer anderen Edition benötigt werden.
flute = \relative c''' { r2 cis2 r2 dis2 } \addQuote "flute" { \flute } \new Voice \relative c'' { \killCues { \cueDuring #"flute" #UP { R1 } g4. b8 d2 } }
Der \transposedCueDuring
-Befehl bietet sich an, wenn man
Stichnoten eines Instrumentes mit einem vollständig anderen
Register hinzufügen will. Die Syntax ähnelt der des
\cueDuring
-Befehls, aber ein zusätzliches Argument
wird benötigt, das die Transposition der Stichnoten-Stimme
bezeichnet. Mehr Information zu Transposition siehe
Transposition von Instrumenten.
piccolo = \relative c''' { \clef "treble^8" R1 c8 c c e g2 a4 g g2 } \addQuote "piccolo" { \piccolo } cbassoon = \relative c, { \clef "bass_8" c4 r g r \transposedCueDuring #"piccolo" #UP c,, { R1 } c4 r g r } << \new Staff = "piccolo" \piccolo \new Staff = "cbassoon" \cbassoon >>
Es ist möglich, Zitate mit eindeutigen Bezeichnungen zu versehen (unter Benutzung von tags), um sie auf unterschiedliche Weise zu verarbeiten. Einzelheiten zu diesem Vorgehen werden vorgestellt in Marken benutzen.
Siehe auch
Notationsreferenz: Transposition von Instrumenten, Instrumentenbezeichnungn, Marken benutzen.
Schnipsel: Staff notation.
Referenz der Interna: CueVoice, Voice.
Bekannte Probleme und Warnungen
Zusammenstöße können zwischen Pausen der Hauptstimme und
den Stichnoten des CueVoice
-Kontexts auftreten.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Stichnoten formatieren ] | [ Nach oben : Musikalische Notation ] | [ Innerhalb des Systems > ] |
1.7 Anmerkungen
Dieser Abschnitt zeigt die verschiedenen Möglichkeiten, die Erscheinung der Noten zu ändern und analytische bzw. pädagogische Anmerkungen anzubringen.
1.7.1 Innerhalb des Systems | ||
1.7.2 Außerhalb des Notensystems |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Anmerkungen ] | [ Nach oben : Anmerkungen ] | [ Auswahl der Notations-Schriftgröße > ] |
1.7.1 Innerhalb des Systems
Dieser Abschnitt zeigt, wie man Elemente hervorhebt, die sich innerhalb des Notensystems befinden.
Auswahl der Notations-Schriftgröße | ||
Fingersatzanweisungen | ||
Unsichtbare Noten | ||
Farbige Objekte | ||
Klammern | ||
Hälse |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Innerhalb des Systems ] | [ Nach oben : Innerhalb des Systems ] | [ Fingersatzanweisungen > ] |
Auswahl der Notations-Schriftgröße
Die Schriftgröße von Notationselementen kann geändert werden. Damit wird allerdings nicht die Größe von veränderlichen Symbolen, wie Balken oder Bögen, geändert.
Achtung: Für Schriftgröße von Text, siehe Überblick über die wichtigsten Textbeschriftungsbefehle.
\huge c4.-> d8---3 \large c4.-> d8---3 \normalsize c4.-> d8---3 \small c4.-> d8---3 \tiny c4.-> d8---3 \teeny c4.-> d8---3
Intern wird hiermit die fontSize
-Eigenschaft gesetzt. Sie
wird für alle Layout-Objekte definiert. Der Wert von
font-size
ist eine Zahl, die die Größe relativ zur Standardgröße
für die aktuelle Systemhöhe angibt. Jeder Vergrößerungsschritt bedeutet
etwa eine Vergrößerung um 12% der Schriftgröße. Mit sechs Schritten wird
die Schriftgröße exakt verdoppelt. Die Scheme-Funktion magstep
wandelt einen Wert von font-size
in einen Skalierungsfaktor um.
Die font-size
-Eigenschaft kann auch direkt gesetzt werden, so dass
sie sich nur auf bestimmte Layoutobjekte bezieht.
\set fontSize = #3 c4.-> d8---3 \override NoteHead #'font-size = #-4 c4.-> d8---3 \override Script #'font-size = #2 c4.-> d8---3 \override Stem #'font-size = #-5 c4.-> d8---3
Schriftgrößenänderungen werden erreicht, indem man die Design-Schriftgröße
nimmt, die der gewünschten am nächsten kommt, und sie dann skaliert. Die
Standard-Schriftgröße (für font-size = #0
) hängt von der
Standard-Systemhöhe ab. Für ein Notensystem von 20pt wird eine Schriftgröße
von 10pt ausgewählt.
Die font-size
-Eigenschaft kann nur für die Layoutobjekte gesetzt
werden, die Schrift-Dateien benutzen. Das sind die, welche die
font-interface
-Layoutschnittstelle unterstützen.
Vordefinierte Befehle
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
.
Siehe auch
Schnipsel: Editorial annotations.
Referenz der Interna: font-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Auswahl der Notations-Schriftgröße ] | [ Nach oben : Innerhalb des Systems ] | [ Unsichtbare Noten > ] |
Fingersatzanweisungen
Fingersatzanweisungen können folgenderweise notiert werden: Note-Zahl
c4-1 d-2 f-4 e-3
Für Fingerwechsel muss eine Textbeschriftung (markup) benutzt werden:
c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }
Mit dem Daumen-Befehl (\thumb
) können die Noten bezeichnet
werden, die mit dem
Daumen (etwa auf dem Cello) gespielt werden sollen.
<a_\thumb a'-3>2 <b_\thumb b'-3>
Fingersätze für Akkorde können auch zu einzelnen Noten des Akkordes hinzugefügt werden, indem sie innerhalb der Akkord-Klammer direkt an die Noten angefügt werden.
<c-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
Fingersatzanweisungen können manuell oberhalb des Systems gesetzt werden, siehe Richtung und Platzierung.
Ausgewählte Schnipsel
Position von Fingersatz in Akkorden kontrollieren
Die Position von Fingersatzzahlen kann exakt kontrolliert werden.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 }
Fingersatz auch innerhalb des Systems setzen
Normalerweise werden vertikal orientierte Fingersatzzahlen außerhalb des Systems gesetzt. Das kann aber verändert werden.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering #'staff-padding = #'() <c-1 e-2 g-3 b-5>4 <g'-0> }
Avoiding collisions with chord fingerings
Fingerings and string numbers applied to individual notes will automatically avoid beams and stems, but this is not true by default for fingerings and string numbers applied to the individual notes of chords. The following example shows how this default behavior can be overridden.
\relative c' { \set fingeringOrientations = #'(up) \set stringNumberOrientations = #'(up) \set strokeFingerOrientations = #'(up) % Default behavior r8 <f c'-5>8 <f c'\5>8 <f c'-\rightHandFinger #2 >8 % Corrected to avoid collisions r8 \override Fingering #'add-stem-support = ##t <f c'-5>8 \override StringNumber #'add-stem-support = ##t <f c'\5>8 \override StrokeFinger #'add-stem-support = ##t <f c'-\rightHandFinger #2 >8 }
Siehe auch
Notationsreferenz: Richtung und Platzierung.
Schnipsel: Editorial annotations.
Referenz der Interna: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Fingersatzanweisungen ] | [ Nach oben : Innerhalb des Systems ] | [ Farbige Objekte > ] |
Unsichtbare Noten
Versteckte (oder unsichtbare oder transparente) Noten können sinnvoll sein, wenn man Notation für den Theorieunterricht oder Kompositionsübungen erstellen will.
c4 d \hideNotes e4 f \unHideNotes g a \hideNotes b \unHideNotes c
Notationsobjekte, die an die unsichtbaren Noten angefügt sind, sind weiterhin sichtbar.
c4( d) \hideNotes e4(\p f)--
Vordefinierte Befehle
\hideNotes
,
\unHideNotes
.
Siehe auch
Handbuch zum Lernen: Visibility and color of objects.
Notationsreferenz: Unsichtbare Pausen, @ref{Visiblity of objects}, Systeme verstecken.
Schnipsel: Editorial annotations.
Referenz der Interna: Note_spacing_engraver, NoteSpacing.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Unsichtbare Noten ] | [ Nach oben : Innerhalb des Systems ] | [ Klammern > ] |
Farbige Objekte
Einzelnen Objekten können einfach eigene Farben zugewiesen werden. Gültige Farben-Bezeichnungen sind aufgelistet in Liste der Farben.
\override NoteHead #'color = #red c4 c \override NoteHead #'color = #(x11-color 'LimeGreen) d \override Stem #'color = #blue e
Die ganze Farbpalette, die für X11 definiert ist, kann mit der
Scheme-Funktion x11-color
benutzt werden. Diese Funktion
hat ein Argument: entweder ein Symbol in der Form ’FooBar
oder eine Zeichenkette in der Form "FooBar"
. Die erste
Form ist schneller zu schreiben und effizienter. Mit der zweiten
Form ist es allerdings möglich, auch Farbbezeichnungen einzusetzen,
die aus mehr als einem Wort bestehen.
Wenn x11-color
die angegebene Farbbezeichnung nicht kennt, wird
Schwarz eingesetzt.
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) \set Staff.instrumentName = \markup { \with-color #(x11-color 'navy) "Clarinet" } gis8 a \override Beam #'color = #(x11-color "medium turquoise") gis a \override Accidental #'color = #(x11-color 'DarkRed) gis a \override NoteHead #'color = #(x11-color "LimeGreen") gis a % this is deliberate nonsense; note that the stems remain black \override Stem #'color = #(x11-color 'Boggle) b2 cis
Exakte RGB-Farben können mit Hilfe der Scheme-Funktion rgb-color
definiert werden.
\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2) \set Staff.instrumentName = \markup { \with-color #(x11-color 'navy) "Clarinet" } \override Stem #'color = #(rgb-color 0 0 0) gis8 a \override Stem #'color = #(rgb-color 1 1 1) gis8 a \override Stem #'color = #(rgb-color 0 0 0.5) gis4 a
Siehe auch
Notationsreferenz:
Liste der Farben, Der \tweak
-Befehl.
Schnipsel: Editorial annotations.
Bekannte Probleme und Warnungen
Eine X11-Farbe hat nicht notwendigerweise exakt denselben Farbton wie eine ähnlich genannte normale Farbe.
Nicht alle X11-Farben lassen sich am Webbrowser erkennen, d. h. der
Unterschied etwa zwischen 'LimeGreen
und 'ForestGreen
wird
eventuell nicht dargestellt. Für die Benutzung im Internet wird
die Benutzung von einfachen Farben nahegelegt (z. B. #blue
,
#green
, #red
).
Noten in Akkorden können nicht mit \override
eingefärbt werden,
dazu muss \tweak
benutzt werden. Siehe auch Der \tweak
-Befehl.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Farbige Objekte ] | [ Nach oben : Innerhalb des Systems ] | [ Hälse > ] |
Klammern
Objekte können in Klammern gesetzt werden, indem vor ihnen der Befehl
\parenthesize
geschrieben wird. Wenn ein Akkord in Klammern gesetzt
wird, wirkt sich das auf jede Noten im Akkord aus. Innerhalb von einem
Akkord gesetzte Befehle wirken sich auf einzelne Noten aus.
c2 \parenthesize d c2 \parenthesize <c e g> c2 <c \parenthesize e g>
Auch andere Objekte als Noten können in Klammern gesetzt werden.
Wenn Artikulationszeichen in Klammern gesetzt werden sollen,
braucht man ein Minuszeichen vor dem \parenthesize
-Befehl.
c2-\parenthesize -. d c2 \parenthesize r
Siehe auch
Schnipsel: Editorial annotations.
Referenz der Interna: Parenthesis_engraver, ParenthesesItem, parentheses-interface.
Bekannte Probleme und Warnungen
Wenn man einen Akkord einklammert, wird um jede Note eine eigene Klammer gesetzt, anstatt den gesamten Akkord in eine große Klammer zu fassen.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Klammern ] | [ Nach oben : Innerhalb des Systems ] | [ Außerhalb des Notensystems > ] |
Hälse
Immer, wenn das Programm eine Note findet, wird automatisch ein Notenhals ( Stem) -Objekt erzeugt. Auch für ganze Noten und Pausen werden sie erzeugt, aber unsichtbar gemacht.
Hälse können manuell gesetzt werden, um nach oben oder unten zu zeigen, siehe Richtung und Platzierung.
Vordefinierte Befehle
\stemUp
(Hälse nach oben),
\stemDown
(Hälse nach unten),
\stemNeutral
(Hälse je nach Notenposition).
Ausgewählte Schnipsel
Standardrichtung für Hälse auf der Mittellinie
Die Richtung von Hälsen auf der mittleren Linie kann mit der Stem
-Eigenschaft
neutral-direction
gesetzt werden.
\relative c'' { a4 b c b \override Stem #'neutral-direction = #up a4 b c b \override Stem #'neutral-direction = #down a4 b c b }
Siehe auch
Notationsreferenz: Richtung und Platzierung.
Schnipsel: Editorial annotations.
Referenz der Interna: Stem_engraver, Stem, stem-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Hälse ] | [ Nach oben : Anmerkungen ] | [ Erklärungen in Ballonform > ] |
1.7.2 Außerhalb des Notensystems
Dieser Abschnitt zeigt, wie man Elemente im System von außerhalb des Systems hervorhebt.
Erklärungen in Ballonform | ||
Gitternetzlinien | ||
Analyseklammern |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Außerhalb des Notensystems ] | [ Nach oben : Außerhalb des Notensystems ] | [ Gitternetzlinien > ] |
Erklärungen in Ballonform
Notationselemente können bezeichnet und markiert werden, indem um sie eine rechteckige Blase gezeichnet wird. Dies ist vor allem dazu da, Notation zu erklären.
\new Voice \with { \consists "Balloon_engraver" } { \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" } r <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2. }
Es gibt zwei Funktionen, balloonGrobText
und
balloonText
; die erste wird auf gleiche Art wie ein
\once \override
eingesetzt umd Text an einen Grob zu
hängen, die zweite funktioniert wie ein \tweak
und
wird üblicherweise innerhalb von Akkorden eingesetzt, um Text
an einzelne Noten zu hängen.
Textblasen beeinflussen normalerweise die Positionierung der Notation, aber das kann geändert werden.
\new Voice \with { \consists "Balloon_engraver" } { \balloonLengthOff \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" } a8 \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" } r \balloonLengthOn <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2. }
Vordefinierte Befehle
\balloonLengthOn
,
\balloonLengthOff
.
Siehe auch
Schnipsel: Editorial annotations.
Referenz der Interna: Balloon_engraver, BalloonTextItem, balloon-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Erklärungen in Ballonform ] | [ Nach oben : Außerhalb des Notensystems ] | [ Analyseklammern > ] |
Gitternetzlinien
Vertikale Linien können zwischen Systemen gesetzt werden, die mit den Noten synchronisiert sind.
Der Grid_point_engraver
muss benutzt werden, um die Endpunkte
der Linien zu definieren, und der Grid_line_span_engraver
wird
benutzt, um dann die Linien zu setzen. Der Standard ist, dass die
Gitterlinien unter den Noten und zur linken Seite des Notenkopfes
gesetzt werden. Sie reichen von der Mitte eines Systems bis zur
Mitte des anderen. Mit gridInterval
wird die Dauer zwischen
den Linien festgesetzt.
\layout { \context { \Staff \consists "Grid_point_engraver" gridInterval = #(ly:make-moment 1 4) } \context { \Score \consists "Grid_line_span_engraver" } } \score { \new ChoirStaff << \new Staff \relative c'' { \stemUp c4. d8 e8 f g4 } \new Staff \relative c { \clef bass \stemDown c4 g' f e } >> }
Ausgewählte Schnipsel
Gitternetzlinien: Aussehen verändern
Die Erscheinung der Gitternetzlinien kann durch einige Eigenschaften geändert werden.
\score { \new ChoirStaff << \new Staff { \relative c'' { \stemUp c'4. d8 e8 f g4 } } \new Staff { \relative c { % this moves them up one staff space from the default position \override Score.GridLine #'extra-offset = #'(0.0 . 1.0) \stemDown \clef bass \once \override Score.GridLine #'thickness = #5.0 c4 \once \override Score.GridLine #'thickness = #1.0 g'4 \once \override Score.GridLine #'thickness = #3.0 f4 \once \override Score.GridLine #'thickness = #5.0 e4 } } >> \layout { \context { \Staff % set up grids \consists "Grid_point_engraver" % set the grid interval to one quarter note gridInterval = #(ly:make-moment 1 4) } \context { \Score \consists "Grid_line_span_engraver" % this moves them to the right half a staff space \override NoteColumn #'X-offset = #-0.5 } } }
Siehe auch
Schnipsel: Editorial annotations.
Referenz der Interna: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Gitternetzlinien ] | [ Nach oben : Außerhalb des Notensystems ] | [ Text > ] |
Analyseklammern
Klammern über dem System werden in der Musikanalyse benutzt, um strukturelle Einheiten der Musik zu markieren. Einfache horizontale Klammern werden von LilyPond unterstützt.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { c2\startGroup d\stopGroup }
Analyseklammern können verschachtelt sein.
\layout { \context { \Voice \consists "Horizontal_bracket_engraver" } } \relative c'' { c4\startGroup\startGroup d4\stopGroup e4\startGroup d4\stopGroup\stopGroup }
Siehe auch
Schnipsel: Editorial annotations.
Referenz der Interna: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, Staff.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Analyseklammern ] | [ Nach oben : Musikalische Notation ] | [ Text eingeben > ] |
1.8 Text
Dieser Abschnitt erklärt, wie man Text (mit vielfältiger Formatierung) in Partituren einfügt.
Einige Textelemente, die hier nicht behandelt werden, finden sich in anderen Abschnitten: Notation von Gesang, Titel.
1.8.1 Text eingeben | ||
1.8.2 Text formatieren | ||
1.8.3 Schriftarten |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Text ] | [ Nach oben : Text ] | [ Textarten > ] |
1.8.1 Text eingeben
Dieser Abschnitt zeigt verschiedene Arten, wie Text in die Partitur eingefügt werden kann.
Achtung: Wenn man Zeichen mit Akzenten und Umlaute oder besondere Zeichen (wie etwa Text mit anderen Alphabeten) eingeben möchte, kann man die Zeichen einfach direkt in die Datei einfügen. Die Datei muss als UTF-8 gespeichert werden. Für mehr Information siehe Zeichenkodierung.
Textarten | ||
Text mit Verbindungslinien | ||
Textartige Zeichen | ||
Separater Text |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Text eingeben ] | [ Nach oben : Text eingeben ] | [ Text mit Verbindungslinien > ] |
Textarten
Am einfachsten kann Text mit geraden Anführungsstrichen in eine Partitur eingefügt werden, wie das folgende Beispiel zeigt. Derartiger Text kann manuell über oder unter dem Notensystem platziert werden, die Syntax hierzu ist beschrieben in Richtung und Platzierung.
d8^"pizz." g f e a4-"scherz." f
Diese Syntax ist eine Kurzform, komplexere Formatierungen
können einem Text hinzugefügt werden, wenn man
explizit den \markup
-Befehl mit darauf folgenden
geschweiften Klammern einsetzt, wie beschrieben in
Text formatieren.
a8^\markup { \italic pizz. } g f e a4_\markup { \tiny scherz. \bold molto } f
Standardmäßig haben Textbeschriftungen keinen Einfluss auf die
Positionierung der Noten. Man kann aber auch bestimmen, dass
die Breite des Textes mit berücksichtigt wird. Im nächsten
Beispiel fordert der erste Text keinen Platz, während der
zweite die Note nach rechts verschiebt. Das Verhalten wird mit
dem Befehl \textLengthOn
(Textlänge an) erreicht, rückgängig
kann es mit dem Befehl \textLengthOff
gemacht werden.
a8^"pizz." g f e \textLengthOn a4_"scherzando" f
Vordefinierte Befehle
\textLengthOn
,
\textLengthOff
.
Siehe auch
Notationsreferenz: Text formatieren, Richtung und Platzierung.
Schnipsel: Text.
Referenz der Interna: TextScript.
Bekannte Probleme und Warnungen
Eine Überprüfung, ob sich auch alle Textbeschriftungen und Gesangstext innerhalb der Ränder der Noten befinden, braucht verhältnismäßig viel Rechenaufwand. Diese Überprüfung ist standardmäßig ausgestellt, damit LilyPond die Dateien schneller bearbeiten kann. Man kann die Überprüfung aber mit folgendem Code einschalten:
\override Score.PaperColumn #'keep-inside-line = ##t
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Textarten ] | [ Nach oben : Text eingeben ] | [ Textartige Zeichen > ] |
Text mit Verbindungslinien
Einige Aufführungsanweisungen, etwa rallentando oder accelerando, werden als Text geschrieben, gefolgt von einer gestrichelten Linie, die anzeigt, wie weit sich die Anweisung auswirkt. Solche Objekte, „Strecker“ (engl. spanners) genannt, können von einer Note bis zu einer anderen mit folgender Anweisung erstellt werden:
\override TextSpanner #'(bound-details left text) = "rit." b1\startTextSpan e,\stopTextSpan
Der Text wird durch Objekteigenschaften beeinflusst. In den
Standardeinstellungen wird er kursiv ausgegeben, aber eine andere
Formatierung kann erreicht werden, indem man \markup
-Blöcke
einsetzt, wie beschrieben in Text formatieren.
\override TextSpanner #'(bound-details left text) = \markup { \upright "rit." } b1\startTextSpan c e,\stopTextSpan
Auch der Stil der Linie kann ähnlich wie der Text mit den Objekteigenschaften geändert werden. Diese Syntax ist beschrieben in Zeilenstile.
Vordefinierte Befehle
\textSpannerUp
,
\textSpannerDown
,
\textSpannerNeutral
.
Siehe auch
Notationsreferenz: Zeilenstile, Dynamik.
Schnipsel: Text.
Referenz der Interna: TextSpanner.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Text mit Verbindungslinien ] | [ Nach oben : Text eingeben ] | [ Separater Text > ] |
Textartige Zeichen
Verschiedene Textelemente können der Partitur hinzugefügt werden, indem man die Syntax für Zeichen einsetzen, wie beschrieben in Übungszeichen:
c4 \mark "Allegro" c c c
Diese Syntax ermöglicht es, beliebigen Text über eine Taktlinie
zu platzieren, weitere Formatierungsmöglichkeiten sind mit dem
\markup
-Befehl gegeben, wie beschrieben in
Text formatieren:
Diese Syntax ermöglicht es auch, besondere Zeichen einzufügen, wie
etwa Coda-, Segno- oder Fermatenzeichen, indem das entsprechende
Symbol mit dem Befehl \musicglyph
angegeben wird, wie
beschrieben in
Musikalische Notation innerhalb einer Textbeschriftung:
Derartige Objekte werden über dem höchsten System einer Partitur gesetzt – abhängig davon, ob sie mitten im Takt oder an seinem Ende notiert werden, werden sie zwischen Noten oder über der Taktlinie gesetzt. Wenn sie an einem Zeilenumbruch angegeben werden, wird das Zeichen zu Beginn der nächsten Zeile ausgegeben.
Ausgewählte Schnipsel
Printing marks at the end of a line
Marks can be printed at the end of the current line, instead of the beginning of the following line. In such cases, it might be preferable to align the right end of the mark with the bar line.
\relative c'' { g2 c d,2 a' \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT \mark "D.C. al Fine" \break g2 b, c1 \bar "||" }
Zeichen an verschiedenen Notationsobjekten ausrichten
Wenn angegeben, können Textzeichen auch an anderen Objekten als Taktstrichen
ausgerichtet werden. Zu diesen Objekten gehören ambitus
,
breathing-sign
, clef
, custos
, staff-bar
,
left-edge
, key-cancellation
, key-signature
und
time-signature
.
In diesem Fall werden die Zeichen horizontal über dem Objekt zentriert. Diese Ausrichtung kann auch geändert werden, wie die zweite Zeile des Beispiels zeigt. In einer Partitur mit vielen Systemen sollte diese Einstellung für alle Systeme gemacht werden.
\relative c' { e1 % the RehearsalMark will be centered above the Clef \override Score.RehearsalMark #'break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e1 % the RehearsalMark will be centered above the TimeSignature \override Score.RehearsalMark #'break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark \markup { \char ##x2193 } e2. % the RehearsalMark will be centered above the KeySignature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark \markup { \char ##x2193 } e1 \break e1 % the RehearsalMark will be aligned with the left edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT \mark \markup { \char ##x2193 } \key a \major e1 % the RehearsalMark will be aligned with the right edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT \key a \major \mark \markup { \char ##x2193 } e1 % the RehearsalMark will be aligned with the left edge of the KeySignature % and then shifted right by one unit. \once \override Score.KeySignature #'break-align-anchor = #1 \key a \major \mark \markup { \char ##x2193 } e1 }
Zeichen über jedem System ausgeben
Normalerweise werden Textzeichen nur über dem obersten Notensystem gesetzt. Sie können aber auch über jedem System ausgegeben werden.
\score { << \new Staff { c''1 \mark "molto" c'' } \new Staff { c'1 \mark "molto" c' } >> \layout { \context { \Score \remove "Mark_engraver" \remove "Staff_collecting_engraver" } \context { \Staff \consists "Mark_engraver" \consists "Staff_collecting_engraver" } } }
Siehe auch
Notationsreferenz: Übungszeichen, Text formatieren, Musikalische Notation innerhalb einer Textbeschriftung, Die Feta-Schriftart.
Schnipsel: Text.
Referenz der Interna: MarkEvent, Mark_engraver, RehearsalMark.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Textartige Zeichen ] | [ Nach oben : Text eingeben ] | [ Text formatieren > ] |
Separater Text
Eine \markup
-Umgebung kann auch für sich alleine existieren,
außerhalb einer \score
-Umgebung, als ein Ausdruck auf der
höchsten Ebene.
\markup { Morgen, morgen, und morgen... }
Damit kann Text unabhängig von den Noten gesetzt werden. Das bietet sich vor allem in Situationen an, in denen mehrere Stücke in einer Datei vorkommen, wie beschrieben in Mehrere Partituren in einem Buch.
\score { c'1 } \markup { Morgen, übermorgen, und überübermorgen... } \score { c'1 }
Unabhängige Textabschnitte können über mehrere Seiten reichen, so dass man Textdokumente oder Bücher ausschließlich mit LilyPond setzen kann. Einzelheiten zu den vielfältigen Möglichkeiten finden sich in Textbeschriftung über mehrere Seiten.
Vordefinierte Befehle
Ausgewählte Schnipsel
Isolierter Text in zwei Spalten
Isolierter Text kann in mehreren Spalten mit \markup
-Befehlen
angeordnet werden:
\markup { \fill-line { \hspace #1 \column { \line { O sacrum convivium } \line { in quo Christus sumitur, } \line { recolitur memoria passionis ejus, } \line { mens impletur gratia, } \line { futurae gloriae nobis pignus datur. } \line { Amen. } } \hspace #2 \column { \line { \italic { O sacred feast } } \line { \italic { in which Christ is received, } } \line { \italic { the memory of His Passion is renewed, } } \line { \italic { the mind is filled with grace, } } \line { \italic { and a pledge of future glory is given to us. } } \line { \italic { Amen. } } } \hspace #1 } }
Siehe auch
Notationsreferenz: Text formatieren, Die Dateistruktur, Mehrere Partituren in einem Buch, Textbeschriftung über mehrere Seiten.
Schnipsel: Text.
Referenz der Interna: TextScript.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Separater Text ] | [ Nach oben : Text ] | [ Textbeschriftung (Einleitung) > ] |
1.8.2 Text formatieren
Dieser Abschnitt zeigt grundlegende und fortgeschrittene
Formatierung von Text, wobei der Textbeschriftungsmodus
(\markup
benutzt wird.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Text formatieren ] | [ Nach oben : Text formatieren ] | [ Überblick über die wichtigsten Textbeschriftungsbefehle > ] |
Textbeschriftung (Einleitung)
Eine \markup
-Umgebung wird benutzt, um Text mit einer
großen Anzahl von Formatierungsmöglichkeiten (im „markup-Modus“)
zu setzen.
Die Syntax für Textbeschriftungen ähnelt der normalen Syntax von
LilyPond: ein \markup
-Ausdruck wird in geschweifte Klammern
eingeschlossen ({… }
). Ein einzelnes Wort wird als
ein Minimalausdruck erachtet und muss deshalb nicht notwendigerweise
eingeklammert werden.
Anders als Text in Anführungsstrichen können sich in einer
Textbeschriftungsumgebung (\markup
) geschachtelte Ausdrücke
oder weitere Textbefehle befinden, eingeführt mit einem Backslash
(\
). Derartige Befehle beziehen sich nur auf den ersten
der folgenden Ausdrücke.
a1-\markup intenso a2^\markup { poco \italic più forte } c e1 d2_\markup { \italic "string. assai" } e b1^\markup { \bold { molto \italic agitato } } c
Eine \markup
-Umgebung kann auch Text in
Anführungszeichen beinhalten. Derartige Zeichenketten werden als
ein Textausdruck angesehen, und darum werden innerhalb von ihnen
Befehle oder Sonderzeichen (wie \
oder #
) so
ausgegeben, wie sie eingeben werden. Doppelte Anführungsstriche
können gesetzt werden, indem man ihnen einen Backslash voranstellt.
a1^"\italic Text..." a_\markup { \italic "... setzt \"kursive\" Buchstaben!" } a a
Damit eine Anzahl von Wörtern als ein einziger Ausdruck behandelt
wird, müssen alle Wörter zwischen geraden Anführungszeichen (Shift+2)
stehen oder ihnen muss ein Befehl vorangestellt werden. Die Art,
wie die Ausdrücke definiert sind, wirkt sich darauf aus, wie
sie übereinander gestapelt, mittig und aneinander ausgerichtet
werden. Im folgenden Beispiel verhält sich der zweite
\markup
-Ausdruck genauso wie der erste:
c1^\markup { \center-column { a bbb c } } c1^\markup { \center-column { a { bbb c } } } c1^\markup { \center-column { a \line { bbb c } } } c1^\markup { \center-column { a "bbb c" } }
Textbeschriftung kann auch durch Variablen definiert werden. Diese Variablen können dann direkt an Noten angefügt werden:
allegro = \markup { \bold \large Allegro } { d''8.^\allegro d'16 d'4 r2 }
Eine ausführliche Liste der \markup
-Befehle findet sich in
Text markup commands.
Siehe auch
Notationsreferenz: Text markup commands.
Schnipsel: Text.
Installierte Dateien: ‘scm/markup.scm’.
Bekannte Probleme und Warnungen
Syntaxfehler im Textbeschriftungsmodus können sehr verwirrend sein.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Textbeschriftung (Einleitung) ] | [ Nach oben : Text formatieren ] | [ Textausrichtung > ] |
Überblick über die wichtigsten Textbeschriftungsbefehle
Einfache Änderungen des Schriftartschnitts können im Textbeschriftungsmodus vorgenommen werden:
d1^\markup { \bold { Più mosso } \italic { non troppo \underline Vivo } } r2 r4 r8 d,_\markup { \italic quasi \smallCaps Tromba } f1 d2 r
Die Größe von Buchstaben kann auf verschiedene Arten verändert werden:
- die Schriftgröße kann auf bestimmte deinierte Standardgrößen gesetzt werden,
- die Schriftgröße kann mit einem absoluten Wert gesetzt werden,
- die Schriftgröße kann relativ zur vorhergehenden Größe geändert werden.
Das Beispiel unten zeigt alle drei Möglichkeiten:
f1_\markup { \tiny espressivo \large e \normalsize intenso } a^\markup { \fontsize #5 Sinfonia \fontsize #2 da \fontsize #3 camera } bes^\markup { (con \larger grande \smaller emozione \magnify #0.6 { e sentimento } ) } d c2 r8 c bes a g1
Text kann auch hoch- bzw. tiefgestellt gesetzt werden. Die so markierten Buchstaben werden automatisch in einer kleineren Schriftgröße gesetzt, aber die normale Schriftgröße kann auch eingesetzt werden:
\markup { \column { \line { 1 \super st movement } \line { 1 \normal-size-super st movement \sub { (part two) } } } }
Der Textbeschriftungsmodus stellt eine einfache Möglichkeit zur Verfügung
unterschiedliche Schriftschnitte anzuwählen. Ohne besondere Einstellungen
wird automatisch eine Schriftart mit Serifen ausgewählt. Das Beispiel
unten zeigt die Verwendung der eigenen Zahlenschriftart von LilyPond,
den Einsatz von serifenloser Schriftart und von Schreibmaschinenschriftart.
Die letzte Zeile zeigt, dass sich die Standardeinstellung mit dem
Befehl \roman
wieder herstellen lässt.
\markup { \column { \line { Act \number 1 } \line { \sans { Scene I. } } \line { \typewriter { Verona. An open place. } } \line { Enter \roman Valentine and Proteus. } } }
Einige dieser Schriftarten, etwa die Zahlenschriftart oder die Schriftart für Dynamikzeichen, stellen nicht alle Zeichen zur Verfügung, wie beschrieben in Neue Lautstärkezeichen und Manuelle Wiederholungszeichen.
Einige Schriftartbefehle können ungewollte Leerzeichen innerhalb von Wörtern
hervorrufen. Das kann vermieden werden, indem die einzelnen Elemente mit
dem Befehl \concat
zu einem Element verschmolzen werden:
\markup { \column { \line { \concat { 1 \super st } movement } \line { \concat { \dynamic p , } \italic { con dolce espressione } } } }
Eine ausführliche Liste der unterschiedlichen Befehl zur Beeinflussung der Schriftarten findet sich in Font.
Es ist auch möglich, eigene Schriftfamlien zu definieren, wie erklärt in Schriftarten.
Vordefinierte Befehle
\teeny
,
\tiny
,
\small
,
\normalsize
,
\large
,
\huge
,
\smaller
,
\larger
.
Siehe auch
Notationsreferenz: Font, Neue Lautstärkezeichen, Manuelle Wiederholungszeichen, Schriftarten.
Schnipsel: Text.
Referenz der Interna: TextScript.
Installierte Dateien: ‘scm/define-markup-commands.scm’.
Textausrichtung
Dieser Abschnitt zeigt, wie man Text im Textbeschriftungsmodus eingibt. Textobjekte können auch als eine Einheit verschoben werden, wie beschrieben in Verschieben von Objekten.
Textbeschriftungsobjekte können auf verschiedene Weise ausgerichtet werden. Standardmäßig wird ein Textobjekt an seiner linken Ecke ausgerichtet, darum wird das erste und zweite Objekt gleichermaßen an der linken Ecke ausgerichtet.
d1-\markup { poco } f d-\markup { \left-align poco } f d-\markup { \center-align { poco } } f d-\markup { \right-align poco }
Die horizontale Ausrichtung kann mit einer Zahl auf einen exakten Wert festgelegt werden:
a1-\markup { \halign #-1 poco } e' a,-\markup { \halign #0 poco } e' a,-\markup { \halign #0.5 poco } e' a,-\markup { \halign #2 poco }
Manche Objekte haben eigene Ausrichtungsvorgänge und werden deshalb nicht von diesen Befehlen beeinflusst. Es ist möglich, solche Objekte als eine Einheit anzusprechen und zu bewegen, wie gezeigt in Textartige Zeichen.
Die vertikale Ausrichtung ist etwas schwieriger. Textelemente
können komplett verschoben werden, es ist aber auch möglich, nur
einen Teil innerhalb der Textbeschriftung zu bewegen. In diesem
Fall muss dem zu verschiebenden Objekt ein Ankerpunkt zugewiesen
werden, welcher entweder ein anderes Textelement oder ein
unsichtbares Objekt sein kann (im Beispiel mit \null
erstellt).
Der letzte Text im Beispiel hat keinen Anker und wird deshalb auch nicht verschoben.
d2^\markup { Acte I \raise #2 { Scène 1 } } a' g_\markup { \null \lower #4 \bold { Très modéré } } a d,^\markup { \raise #4 \italic { Une forêt. } } a'4 a g2 a
Einige Befehle können sowohl die horizontale als auch die vertikale Ausrichtung von Textobjekten beeinflussen. Jedes Objekt, das auf diese Weise verschoben wird, benötigt einen Anker:
d2^\markup { Acte I \translate #'(-1 . 2) "Scène 1" } a' g_\markup { \null \general-align #Y #3.2 \bold "Très modéré" } a d,^\markup { \null \translate-scaled #'(-1 . 2) \teeny "Une forêt." } a'4 a g2 a
Ein Textbeschriftungsobjekt kann mehrere Zeilen beinhalten. Im folgenden
Beispiel wird jeder Ausdruck innerhalb von \markup
auf einer
eigenen Zeile gesetzt, entweder linksbündig oder zentriert:
\markup { \column { a "b c" \line { d e f } } \hspace #10 \center-column { a "b c" \line { d e f } } }
Eine Anzahl an Ausdrücken innerhalb von \markup
kann auch
gestreckt werden, so dass die gesamte Seitenbreite benutzt wird. Wenn
nur ein Objekt vorhanden ist, wird es zentriert gesetzt. Die Ausdrücke
selber können wiederum mehrzeilig sein und andere Textbeschriftungsbefehle
beinhalten.
\markup { \fill-line { \line { William S. Gilbert } \center-column { \huge \smallCaps "The Mikado" or \smallCaps "The Town of Titipu" } \line { Sir Arthur Sullivan } } } \markup { \fill-line { 1885 } }
Längere Texte können auch automatisch umgebrochen werden, wobei es möglich ist, die Zeilenbreite zu bestimmen. Der Text ist entweder linksbündig oder im Blocksatz, wie das nächste Beispiel illustriert:
\markup { \column { \line \smallCaps { La vida breve } \line \bold { Acto I } \wordwrap \italic { (La escena representa el corral de una casa de gitanos en el Albaicín de Granada. Al fondo una puerta por la que se ve el negro interior de una Fragua, iluminado por los rojos resplandores del fuego.) } \hspace #0 \line \bold { Acto II } \override #'(line-width . 50) \justify \italic { (Calle de Granada. Fachada de la casa de Carmela y su hermano Manuel con grandes ventanas abiertas a través de las que se ve el patio donde se celebra una alegre fiesta) } } }
Eine vollständige Liste der Textausrichtungsbefehle findet sich in Align.
Siehe auch
Handbuch zum Lernen: Verschieben von Objekten.
Notationsreferenz: Align, Textartige Zeichen.
Schnipsel: Text.
Installierte Dateien: ‘scm/define-markup-commands.scm’.
Referenz der Interna: TextScript.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Textausrichtung ] | [ Nach oben : Text formatieren ] | [ Musikalische Notation innerhalb einer Textbeschriftung > ] |
Graphische Notation innerhalb einer Textbeschriftung
Verschiedene graphische Objekte können im Textbeschriftungsmodus eingefügt werden.
Mit bestimmten Textbeschriftungsbefehlen kann man Textelementen Graphik hinzufügen, wie das nächste Beispiel zeigt:
\markup \fill-line { \center-column { \circle Jack \box "in the box" \null \line { Erik Satie \hspace #3 \bracket "1866 - 1925" } \null \rounded-box \bold Prelude } }
Es kann nötig sein, einem Text mehr Platz einzuräumen. Das geschieht mit verschiedenen Befehlen, wie das folgende Beispiel zeigt. Eine ausführliche Übersicht findet sich in Align.
\markup \fill-line { \center-column { \box "Charles Ives (1874 - 1954)" \null \box \pad-markup #2 "THE UNANSWERED QUESTION" \box \pad-x #8 "A Cosmic Landscape" \null } } \markup \column { \line { \hspace #10 \box \pad-to-box #'(-5 . 20) #'(0 . 5) \bold "Largo to Presto" } \pad-around #3 "String quartet keeps very even time, Flute quartet keeps very uneven time." }
Andere graphische Elemente oder Symbole können gesetzt werden, ohne dass
man Text benötigt. Wie mit allen Textbeschriftungen können Objekte
innerhalb von \markup
kombiniert werden.
\markup { \combine \draw-circle #4 #0.4 ##f \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1 \hspace #5 \center-column { \triangle ##t \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f } }
Fortgeschrittene graphische Möglichkeiten bietet unter Anderem eine Funktion, mit der man externe Graphiken im Encapsulated PostScript (eps) -Format einbinden kann oder aber Graphiken direkt in den Quelltext unter Verwendung von PostScript-Code notiert. In diesem Fall kann es nötig sein, die Größe der Zeichnung explizit anzugeben, wie im Beispiel unten gezeigt:
c1^\markup { \combine \epsfile #X #10 #"./context-example.eps" \with-dimensions #'(0 . 6) #'(0 . 10) \postscript #" -2 3 translate 2.7 2 scale newpath 2 -1 moveto 4 -2 4 1 1 arct 4 2 3 3 1 arct 0 4 0 3 1 arct 0 0 1 -1 1 arct closepath stroke" } c
Eine ausführliche Liste der Graphik-Befehle findet sich in Graphic.
Siehe auch
Notationsreferenz: Graphic, Anmerkungen.
Schnipsel: Text.
Referenz der Interna: TextScript.
Installierte Dateien: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm’.
Musikalische Notation innerhalb einer Textbeschriftung
Auch Musikobjekte können innerhalb der Textbeschriftungsumgebung gesetzt werden.
Noten und Versetzungszeichen lassen sich mit \markup
einfügen:
a2 a^\markup { \note #"4" #1 = \note-by-number #1 #1 #1.5 } b1_\markup { \natural \semiflat \flat \sesquiflat \doubleflat } \glissando a1_\markup { \natural \semisharp \sharp \sesquisharp \doublesharp } \glissando b
Andere Notationsobjekte können auch eingefügt werden:
g1 bes ees-\markup { \finger 4 \tied-lyric #"~" \finger 1 } fis_\markup { \dynamic rf } bes^\markup { \beam #8 #0.1 #0.5 } cis d-\markup { \markalphabet #8 \markletter #8 }
Allgemeiner gesagt kann jedes verfügbare Notationssymbol unabhängig von der Notation als ein Textbeschriftungsobjekt eingefügt werden, wie unten gezeigt. Eine vollständige Liste der verfügbaren Symbole findet sich in Die Feta-Schriftart.
c2 c'^\markup { \musicglyph #"eight" } c,4 c,8._\markup { \musicglyph #"clefs.G_change" } c16 c2^\markup { \musicglyph #"timesig.neomensural94" }
Eine andere Möglichkeit, andere als Textsymbole zu schreiben, findet sich in Was sind Schriftarten. Diese Methode bietet sich an, um Klammern unterschiedlicher Größe zu setzen.
Der Textbeschriftungsmodus unterstützt auch Diagramme für bestimmte Instrumente:
c1^\markup { \fret-diagram-terse #"x;x;o;2;3;2;" } c^\markup { \harp-pedal #"^-v|--ov^" } c c^\markup { \combine \musicglyph #"accordion.accDiscant" \combine \raise #0.5 \musicglyph #"accordion.accDot" \raise #1.5 \musicglyph #"accordion.accDot" }
Derartige Digramme sind dokumentiert in Instrument Specific Markup.
Sogar eine ganze Partitur kann in ein Textbeschriftungsobjekt eingefügt
werden. In diesem Fall muss die eingefügte \score
-Umgebung
eine \layout
-Umgebung haben, wie in diesem Beispiel:
c4 d^\markup { \score { \relative { c4 d e f } \layout { } } } e f | c d e f
Eine vollständige Liste der Musiksymbol-Befehle findet sich in Music.
Siehe auch
Notationsreferenz: Music, Die Feta-Schriftart, Was sind Schriftarten.
Schnipsel: Text.
Referenz der Interna: TextScript.
Installierte Dateien: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Musikalische Notation innerhalb einer Textbeschriftung ] | [ Nach oben : Text formatieren ] | [ Schriftarten > ] |
Textbeschriftung über mehrere Seiten
Normale Textbeschriftungsobjekte können nicht getrennt werden, aber mit einer spezifischen Umgebung ist es möglich, Text auch über mehrere Seiten fließen zu lassen:
\markuplines { \justified-lines { A very long text of justified lines. ... } \wordwrap-lines { Another very long paragraph. ... } ... }
Die Syntax braucht eine Liste von Textbeschriftungen folgender Art:
- das Resultat eines Beschriftungslistenbefehls,
- eine Textbeschriftungsliste,
- eine Liste von Beschriftungslisten.
Eine vollständige Liste der Beschriftungslistenbefehle findet sich in Text markup list commands.
Siehe auch
Notationsreferenz: Text markup list commands, @ref{Neue Definitionen von Beschriftungsbefehlen für Listen}.
Schnipsel: Text.
Referenz der Interna: TextScript.
Installierte Dateien: ‘scm/define-markup-commands.scm’.
Vordefinierte Befehle
\markuplines
.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Textbeschriftung über mehrere Seiten ] | [ Nach oben : Text ] | [ Was sind Schriftarten > ] |
1.8.3 Schriftarten
Dieser Abschnitt zeigt, wie Schriftarten eingesetzt werden können und wie man sie in Partituren ändern kann.
Was sind Schriftarten | ||
Schriftarten für einen Eintrag | ||
Schriftart des gesamten Dokuments |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Schriftarten ] | [ Nach oben : Schriftarten ] | [ Schriftarten für einen Eintrag > ] |
Was sind Schriftarten
Schriftarten werden von mehreren Bibliotheken verwaltet. FontConfig wird benützt, um die vorhandenen Schriftarten des Systems zu erkennen, die gewählte Schriftart wird dann mit Pango verarbeitet.
Notationsschriftarten können als eine Ansammlung von besonderen Zeichen
erklärt werden, wobei die Sonderzeichen in verschiedene Familien
klassifiziert werden. Die Syntax des folgenden Beispiels ermöglicht es,
direkt auf verschiedene nicht textuelle Sonderzeichen der
feta
-Schriftart zuzugreifen. Das ist die Standardschriftart
für Notationselemente in LilyPond.
a1^\markup { \vcenter { \override #'(font-encoding . fetaBraces) \lookup #"brace120" \override #'(font-encoding . fetaNumber) \column { 1 3 } \override #'(font-encoding . fetaDynamic) sf \override #'(font-encoding . fetaMusic) \lookup #"noteheads.s0petrucci" } }
Außer den verschiedenen Klammern, die in fetaBraces
in verschiedenen Größen enthalten sind, lassen sich alle
dieses Symbole auch mit einer einfacheren Syntax notieren.
Sie ist beschrieben in
Musikalische Notation innerhalb einer Textbeschriftung.
Wenn man die Klammern von fetaBraces
benutzt, wird die
Größe der Klammer durch einen numeralen Part in der
Bezeichnung des Glyphs bestimmt. Als Wert kann eine
Ganzzahl von 0
bis 575
benutzt werden, wobei
0
die kleinste Klammern ergibt. Der optimale Wert
muss durch Ausprobieren herausgefunden werden. Diese Glyphen
sind alle linke Klammern, rechte Klammern lassen sich durch
eine Drehung herstellen, siehe
Drehen von Objekten.
Drei Textschriftarten sind verfügbar (auf Englisch family
genannt):
mit roman
eine Schriftart
mit Serifen (Standard ist New Century Schoolbook), mit sans
eine serifenlose (gerade) Schriftart und mit typewriter
eine
Schreibmaschinenschrift, in welcher die Buchstaben alle die gleiche
Weite haben. Die aktuelle Schriftart von sans
und
tpyewriter
wird durch Pango entspechend den Systemvorgaben
gewählt.
Jede Familie kann verschiedene Schriftschnitte besitzen. Im Englischen
wird unterschieden zwischen shape
für kursive Schnitte und
series
für fette Schnitte. Im folgenden Beispiel wird
demonstriert, wie man die verschiedenen Eigenschaften auswählen kann.
Der Wert, der font-size
übergeben wird, entspricht der geforderten
Änderung in Bezug auf die Standardschriftgröße.
\override Score.RehearsalMark #'font-family = #'typewriter \mark \markup "Ouverture" \override Voice.TextScript #'font-shape = #'italic \override Voice.TextScript #'font-series = #'bold d'2.^\markup "Allegro" \override Voice.TextScript #'font-size = #-3 c4^smaller
Eine ähnliche Syntax kann im Textbeschriftungsmodus eingesetzt werden, hier bietet es sich aber an, die einfacheren Befehle zu verwenden, die erklärt wurden in Überblick über die wichtigsten Textbeschriftungsbefehle:
\markup { \column { \line { \override #'(font-shape . italic) \override #'(font-size . 4) Idomeneo, } \line { \override #'(font-family . typewriter) { \override #'(font-series . bold) re di } \override #'(font-family . sans) Creta } } }
Auch wenn es einfach ist, zwischen den vorefinierten Schriftarten umzuschalten, kann man auch eigene Schriftarten verwenden, wie erklärt in folgenden Abschnitten: Schriftarten für einen Eintrag und Schriftart des gesamten Dokuments.
Siehe auch
Notationsreferenz: Die Feta-Schriftart, Musikalische Notation innerhalb einer Textbeschriftung, Überblick über die wichtigsten Textbeschriftungsbefehle, Font.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Was sind Schriftarten ] | [ Nach oben : Schriftarten ] | [ Schriftart des gesamten Dokuments > ] |
Schriftarten für einen Eintrag
Jede Schriftart, die über das Betriebssystem installiert ist und von FontConfig erkannt wird, kann in einer Partitur eingefügt werden. Dazu verwendet man folgende Syntax:
\override Staff.TimeSignature #'font-name = #"Charter" \override Staff.TimeSignature #'font-size = #2 \time 3/4 a1_\markup { \override #'(font-name . "Vera Bold") { Vera Bold } }
Mit folgendem Befehl erhält man eine Liste aller verfügbaren Schriftarten des Betriebssystems:
lilypond -dshow-available-fonts x
Das letzte Argument kann ein beliebiges Zeichen sein, aber es darf nicht fehlen.
Siehe auch
Notationsreferenz: Was sind Schriftarten, Schriftart des gesamten Dokuments.
Schnipsel: Text.
Installierte Dateien: ‘lily/font-config-scheme.cc’.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Schriftarten für einen Eintrag ] | [ Nach oben : Schriftarten ] | [ Spezielle Notation > ] |
Schriftart des gesamten Dokuments
Es ist auch möglich, die Schriftarten für die gesamte Partitur zu ändern.
In diesem Fall müssen die Familien roman
,
sans
und typewriter
in genaus dieser Reihenfolge
entsprechend der Syntax unten definiert werden. Einzelheiten zu
Schriftarten in Was sind Schriftarten.
\paper { myStaffSize = #20 #(define fonts (make-pango-font-tree "Times New Roman" "Nimbus Sans" "Luxi Mono" (/ myStaffSize 20))) } \relative c'{ c1-\markup { roman, \sans sans, \typewriter typewriter. } }
Siehe auch
Notationsreferenz: Was sind Schriftarten, Schriftarten für einen Eintrag, Überblick über die wichtigsten Textbeschriftungsbefehle, Font.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Schriftart des gesamten Dokuments ] | [ Nach oben : Top ] | [ Notation von Gesang > ] |
2. Spezielle Notation
Dieser Abschnitt erklärt, wie Notation erstellt wird, die nur für ein bestimmtes Instrument oder einen Stil eingesetzt wird.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Spezielle Notation ] | [ Nach oben : Spezielle Notation ] | [ Übliche Notation für Vokalmusik > ] |
2.1 Notation von Gesang
Dieser Abschnitt erklärt, wie Vokalmusik gesetzt werden kann und die Silben von Gesangstext an den Noten ausgerichtet werden.
2.1.1 Übliche Notation für Vokalmusik | ||
2.1.2 Eingabe von Text | ||
2.1.3 Text an einer Melodie ausrichten | ||
2.1.4 Besonderheiten der Gesangtextnotation | ||
2.1.5 Strophen |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Notation von Gesang ] | [ Nach oben : Notation von Gesang ] | [ Referenz für Vokalmusik und Gesangstext > ] |
2.1.1 Übliche Notation für Vokalmusik
Dieser Abschnitt behandelt allgemeine Fragen der Notation von Vokalmusik und einige spezifische Vokalmusikstile.
Referenz für Vokalmusik und Gesangstext | ||
Oper | ||
Liederhefte | ||
Gesprochene Musik | ||
Hymnen | ||
Alte Vokalmusik |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Übliche Notation für Vokalmusik ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Oper > ] |
Referenz für Vokalmusik und Gesangstext
Viele Probleme können auftreten, wenn man Vokalmusik setzt. Einige davon werden in diesem Abschnitt behandelt, während weitere sich in anderen Abschnitten befinden:
- Die meisten Vokalmusikstile benutzen Text für den Gesangstext. Eine Einleitung hierzu findet sich in Einfache Lieder setzen.
-
Vokalmusik braucht oft die Benutzung von Textbeschriftung (dem
markup
-Modus) für den Gesangstext oder andere Textelemente (Namen von Figuren usw.). Die entsprechende Syntax ist beschrieben in Textbeschriftung (Einleitung). - Liedblätter können erstellt werden, indem eine Gesangsstimme mit Akkorden kombiniert wird, Einzelheiten finden sich in Notation von Akkorden.
- ‚Ambitus‘ können zu Beginn der Stimmen hinzugefügt werden, dies findet sich erklärt in Tonumfang.
- Gesangsstimmen können auch mit traditionellen Schlüsseln gesetzt werden, siehe Notenschlüssel.
- Alte Vokalmusik ist unterstützt, Einzelheiten hierzu in Notation von alter Musik.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Referenz für Vokalmusik und Gesangstext ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Liederhefte > ] |
Oper
TBC
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Oper ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Gesprochene Musik > ] |
Liederhefte
TBC
Ausgewählte Schnipsel
Ein einfaches Liedblatt
Ein Liedblatt besteht aus Akkordbezeichnungen, einer Melodie und dem Liedtext:
<< \chords { c2 g:sus4 f e } \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >>
Siehe auch
Notationsreferenz: Notation von Akkorden.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Liederhefte ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Hymnen > ] |
Gesprochene Musik
Effekte wie „Parlato“ bzw. „Sprechgesang“ erfordern, dass die Noten ohne Tonhöhe, aber mit dem notierten Rhythmus gesprochen werden. Solche Noten werden mit einem Kreuz als Notenkopf notiert, siehe hierzu Besondere Notenköpfe.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Gesprochene Musik ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Alte Vokalmusik > ] |
Hymnen
TBC
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Hymnen ] | [ Nach oben : Übliche Notation für Vokalmusik ] | [ Eingabe von Text > ] |
Alte Vokalmusik
TBC
Siehe auch
Notationsreferenz: Notation von alter Musik.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Alte Vokalmusik ] | [ Nach oben : Notation von Gesang ] | [ Was ist Gesangtext > ] |
2.1.2 Eingabe von Text
Was ist Gesangtext | ||
Einfache Lieder setzen | ||
Mit Gesangtexten und Bezeichnern arbeiten |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Eingabe von Text ] | [ Nach oben : Eingabe von Text ] | [ Einfache Lieder setzen > ] |
Was ist Gesangtext
LilyPond-Eingabedateien sind einfache Textdateien, in denen
Text verwendet wird, um Notationssymbole darzustellen. Für
die Notation von Gesangstext muss also sichergestellt sein,
dass ein Buchstabe, etwa d
, nicht als Note, sondern
als Buchstabe „d“ interpretiert wird. Darum gibt es einen
besonderen Modus, in dem Gesangstext geschreiben werden kann,
den „Lyric“-Modus (engl. lyrics = Gesangstext).
Der Gesangstextmodus kann mit der Umgebung \lyricmode
spezifiziert werden, oder indem \addlyrics
bzw.
\lyricsto
eingesetzt wird. In diesem Modus kann
Text mit Akzenten und Satzzeichen notiert werden, und das
Programm geht davon aus, dass es sich auch um Text handelt.
Silben werden wie Noten notiert, indem ihnen ihre Dauer
angehängt wird:
\lyricmode { Twin-4 kle4 twin- kle litt- le star2 }
Es gibt zwei generelle Methoden, die horizontale Orientierung der
Textsilben zu spezifizieren, entweder indem ihre Dauer angegeben wird,
wie oben in dem Beispiel, oder indem die Silben automatisch an den
Noten ausgerichtet werden. Dazu muss entweder \addlyrics
oder \lyricsto
eingesetzt werden.
Ein Wort oder eine Silbe beginnt mit einem alphabetischen Zeichen und endet mit einem Leerzeichen oder einer Zahl. Die folgenden Zeichen können beliebig sein, außer Leerzeichen und Zahlen.
Jedes Zeichen, das nicht Leerzeichen noch Zahl ist, wird als Bestandteil
der Silbe angesehen. Eine Silbe kann also auch mit }
enden,
was oft zu dem Fehler
\lyricmode { lah- lah}
führen kann. Hier wird }
als Teil der letzten Silbe gerechnet, so
dass die öffnende Klammer keine schließende Klammer hat und die Eingabedatei
nicht funktioniert.
Auch ein Punkt, der auf eine Silbe folgt, wird in die Silbe inkorporiert. Infolgedessen müssen auch um Eigenschaftsbezeichnungen Leerzeichen gesetzt werden. Ein Befehl heißt also nicht:
\override Score.LyricText #'font-shape = #'italic
sondern
\override Score . LyricText #'font-shape = #'italic
Um mehr als eine Silbe einer einzelnen Note zuzuweisen, kann
man die Silben mit geraden Anführungszeichen umgeben (Shift+2)
oder einen Unterstrich (_
) benutzen, um Leerzeichen
zwischen die Silben zu setzen, bzw. die Tilde (~
)
einsetzen, um einen Bindebogen zu erhalten.
\time 3/4 \relative c' { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to }
Dieser Bindebogen ist definiert als das Unicode-Zeichen
U+203F
; es muss deshalb sichergestellt werden,
dass eine Schriftart benutzt wird (wie etwa DejaVuLGC),
die dieses Zeichen enthält. Mehr Information zur
Schriftartauswahl findet sich in Schriftarten.
Um Gesangstext mit Akzenten, Umlauten, besonderen Zeichen oder anderen Alphabeten zu setzen, müssen diese Zeichen direkt in den Text geschrieben werden und die Datei als UTF-8 gespeichert werden. Für weitere Information siehe Zeichenkodierung.
\relative c' { e4 f e d e f e2 } \addlyrics { He said: “Let my peo ple go”. }
Um gerade Anführungszeichen im Gesangstext zu verwenden, müssen sie mit einem Backslash markiert werden, beispielsweise:
\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. } \addlyrics { "\"I" am so lone- "ly\"" said she }
Die vollständige Definition eines Wortanfangs im Gesangstextmodus ist jedoch etwas komplizierter.
Eine Silbe im Gesangstextmodus beginnt mit: einem alphabetischen Zeichen,
_
, ?
, !
, :
, '
, den Kontrollzeichen ^A
bis ^F
, ^Q
bis ^W
, ^Y
, ^^
,
einem beliebigen 8-Bit-Zeichen mit ASCII über 127, oder
Zeichenkombinationen, in denen ein Backslas mit `
, '
,
"
oder ^
kommbiniert wird.
Um Variablen zu definieren, in denen sich Gesangstext befindet, muss
die lyricmode
-Umgebung benutzt werden:
stropheEins = \lyricmode { Joy to the world the Lord is come } \score { << \new Voice = "eins" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \addlyrics { \stropheEins } >> }
Siehe auch
Notationsreferenz: Schriftarten.
Referenz der Interna: LyricText, LyricSpace.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Was ist Gesangtext ] | [ Nach oben : Eingabe von Text ] | [ Mit Gesangtexten und Bezeichnern arbeiten > ] |
Einfache Lieder setzen
Am einfachsten kann Gesangstext zu Noten mit dem Befehl
\addlyrics { Gesangstext }
hinzugefügt werden. Hier ein Beispiel:
\time 3/4 \relative c' { c2 e4 g2. } \addlyrics { play the game }
Weitere Strophen können hinzugefügt werden, indem
weitere \addlyrics
-Abschnitte erstellt werden:
\time 3/4 \relative c' { c2 e4 g2. } \addlyrics { play the game } \addlyrics { speel het spel } \addlyrics { joue le jeu }
Der Befehl \addlyrics
funktioniert nicht in polyphonen
Situationen. In diesem Fall solte man \lyricsto
in Kombination
mit \lyricmode
benutzen, wie erklärt in
Was ist Gesangtext.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Einfache Lieder setzen ] | [ Nach oben : Eingabe von Text ] | [ Text an einer Melodie ausrichten > ] |
Mit Gesangtexten und Bezeichnern arbeiten
Um Variablen zu definieren, die Gesangstext beinhalten, muss die
\lyricmode
-Umgebung benutzt werden. Man braucht hier
keine Dauern einzugeben, wenn die Variable mit
\addlyrics
oder \lyricsto
zu einer Melodie hinzugefügt
wird.
stropheEins = \lyricmode { Joy to the world the Lord is come } \score { << \new Voice = "eins" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } \addlyrics { \stropheEins } >> }
Für eine andere Anordnung oder kompliziertere Sitationen bietet es sich an, zuerst Systeme und Gesangstextumgebungen zu definieren
\new ChoirStaff << \new Voice = "soprano" { Noten } \new Lyrics = "sopranoLyrics" { s1 } \new Lyrics = "tenorLyrics" { s1 } \new Voice = "tenor" { Noten } >>
und erst dann die entsprechenden Stimmen mit den dem Text zu kombinieren
\context Lyrics = sopranoLyrics \lyricsto "soprano" Gesangstext
Siehe auch
Referenz der Interna: LyricCombineMusic, Lyrics.
2.1.3 Text an einer Melodie ausrichten
Gesangstext kann an einer Melodie automatisch ausgerichtet werden, aber
wenn die Dauern der Silben angegeben werden, kann man sie auch manuell
ausrichten. Die Ausrichtung kann angepasst werden mit leeren Noten
(mit \skip
oder _
), Trennungsstrichen und Fülllinien.
Gesantstext wird gesetzt, wenn er sich in dem Kontext Lyrics
befindet:
\new Lyrics \lyricmode …
Es gibt zwei Methoden, mit denen man die horizontale Ausrichtung der Silben beeinflussen kann:
-
Automatische Ausrichtung mit
\addlyrics
oder\lyricsto
. -
Definition der Silbendauer innerhalb von
\lyricmode
.
Der Voice
-Kontext mit der Melodie, an die der Text
angehängt werden soll, darf nicht „gestorben“ sein, ansonsten
werden die Silben danach nicht mehr desetzt. Das kann passieren,
wenn die Stimme für einige Zeit nichts zu tun hat. Für Methoden,
wie der Kontext am Leben gehalten werden kann, siehe
Kontexte am Leben halten.
Automatische Silbendauer | ||
Manuelle Silbendauer | ||
Mehrere Silben zu einer Note | ||
Mehrere Noten zu einer Silbe | ||
Noten überspringen | ||
Fülllinien und Trennstriche | ||
Gesangtext und Wiederholungen |
Automatische Silbendauer
Die Silben des Gesangstextes können automatisch an einer
Melodie ausgerichtet werden. Das erreicht man, indem
der Gesangstext mit dem \lyricsto
-Befehl einer
Melodie zugewiesen wird:
\new Lyrics \lyricsto Bezeichnung …
Hiermit werden die Silben an den Noten eines Voice
-Kontexts
mit der Bezeichnung Bezeichnung ausgerichtet. Dieser Kontext
muss schon vorher definiert sein, damit er aufgerufen werden kann.
Mit dem Befehl \lyricsto
wird in den \lyricmode
gewechselt, so dass der Gesangstextmodus nicht mehr extra angegeben
werden muss.
Das folgende Beispiel zeigt die Wirkung der unterschiedlichen Befehle, mit welchen Gesangtext mit einer Melodie kombiniert werden kann:
<< \new Voice = "one" \relative c'' { \autoBeamOff \time 2/4 c4 b8. a16 g4. f8 e4 d c2 } % not recommended: left aligns syllables \new Lyrics \lyricmode { Joy4 to8. the16 world!4. the8 Lord4 is come.2 } % wrong: durations needed \new Lyrics \lyricmode { Joy to the earth! the Sa -- viour reigns. } %correct \new Lyrics \lyricsto "one" { No more let sins and sor -- rows grow. } >>
Die zweite Strophe ist nicht richtig ausgerichtet, weil die Dauern der
Silben nicht angegeben wurden. Anstelle dessen könnte besser \lyricsto
eingesetzt werden.
Der \addlyrics
-Befehl ist eigentlich nur eine Abkürzung für eine
etwas kompliziertere LilyPond-Struktur:
{ Noten } \addlyrics { Gesangstext }
bedeutet das Gleiche wie
\new Voice = "bla" { Noten } \new Lyrics \lyricsto "bla" { Gesangstext }
Manuelle Silbendauer
Gesangstext kann auch ohne \addlyrics
bezw. \lyricsto
notiert werden. In diesem Fall werden die Silben wie Noten notiert
– indem die Tonhöhen durch den Text der Silbe ersetzt werden – und
die Dauer jeder Silbe muss angegeben werden. Beispielsweise so:
play2 the4 game2. sink2 or4 swim2.
Die Ausrichtung an einer Melodie kann mit der
associatedVoice
-Eigenschaft bestimmt werden, etwa:
\set associatedVoice = #"lala"
Das Argument dieser Eigenschaft (hier "lala"
) muss die Bezeichnung
der entsprechenden Stimme sein. Ohne diese Einstellung werden
Fülllinien nicht richtig formatiert.
Hier ein Beispiel, dass die manuale Ausrichtung von Gesangstext zeigt:
<< \new Voice = "melody" { \time 3/4 c2 e4 g2. } \new Lyrics \lyricmode { \set associatedVoice = #"melody" play2 the4 game2. } >>
Siehe auch
Notationsreferenz: Kontexte am Leben halten.
Referenz der Interna: Lyrics.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Manuelle Silbendauer ] | [ Nach oben : Text an einer Melodie ausrichten ] | [ Mehrere Noten zu einer Silbe > ] |
Mehrere Silben zu einer Note
Um mehr als eine Silbe zu einer Note zuzuordnen, können die Silben
mit geraden Anführungszeichen ("
) umgeben werden oder ein
Unterstricht (_
) benutzt werden, um ein Leerzeichen zwischen
Silben zu setzen. Mit der Tilde (~
) kann ein Bindebogen
gesetzt werden. Dies erfordert, dass eine Schriftart vorhanden ist,
die das entsprechende Symbol (U+203F) beinhaltet, wie etwa DejaVuLGC.
\time 3/4 \relative c' { c2 e4 g2 e4 } \addlyrics { gran- de_a- mi- go } \addlyrics { pu- "ro y ho-" nes- to } \addlyrics { pu- ro~y~ho- nes- to }
Siehe auch
Referenz der Interna: LyricCombineMusic.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mehrere Silben zu einer Note ] | [ Nach oben : Text an einer Melodie ausrichten ] | [ Noten überspringen > ] |
Mehrere Noten zu einer Silbe
Öfters wird eine einzige Silbe zu mehreren Noten gesungen, was als Melisma bezeichnet wird.
Melismen können direkt im Gesangstext definiert werden, indem
ein Unterstrich (_
) für jede Note notiert wird, die
übersprungen werden soll.
Zusätzlich kann auch eine Fülllinie eingefügt werden, die das Melisma anzeigt. Sie wird notiert, indem ein doppelter Unterstrich direkt hinter die Silbe des Melismas gesetzt wird. Das Beispiel unten zeigt drei Elemente, die eingesetzt werden können: ein doppelter Bindestrich erstellt Trennungsstriche zwischen Silben, mit Unterstrichen wird eine Note übersprungen und mit einem doppelten Unterstrich wird eine Fülllinie gesetzt. Alle diese Zeichen müssen von Leerzeichen umgeben sein, damit sie erkannt werden.
{ \set melismaBusyProperties = #'() c d( e) f f( e) e e } \addlyrics { Ky -- _ _ ri __ _ _ _ e }
Legatobögen können eingesetzt werden, wenn die Funktion
melismaBusyProperties
aufgerufen wird, wie in dem Beispiel oben.
Mit dem \lyricsto
-Befehl können Melismen aber auch automatisch
zugewiesen werden: unter übergebundene Noten oder Notengruppen mit einem
Legatobogen wird nur eine einzige Silbe gesetzt. Wenn eine Notengruppe
ohne Legatobogen als Melisma definiert werden soll, kann die Reichweite
mit den Befehlen \melisma
und \melismaEnd
eingegrenzt
werden:
<< \new Voice = "lala" { \time 3/4 f4 g8 \melisma f e f \melismaEnd e2 } \new Lyrics \lyricsto "lala" { la di __ daah } >>
Zusätzlich werden Noten als Melisma erachtet, wenn man sie manuell zu einer Balkengruppe verbindet und die automatische Bebalkung gleichzeitig ausgeschaltet ist. Siehe auch Einstellung von automatischen Balken.
Ein vollständiges Beispiel für einen SATB-Chorsatz findet sich in Vokalensemble.
Vordefinierte Befehle
Siehe auch
Bekannte Probleme und Warnungen
Melismen werde nicht automatisch erkannt, und Fülllinien müssen manuell gestzt werden.
Noten überspringen
Damit der Gesangstext langsamer als die Melodie fortschreitet,
kann man \skip
-Befehle einfügen. Jeder \skip
-Befehl
schiebt den Text eine Note weiter. Der Befehl muss von einer
gültigen Dauer gefolgt werden, wie das Beispiel zeigt: dieser
Dauerwert wird jedoch ignoriert, wenn man \skip
im
Gesangstext einsetzt.
\relative c' { c c g' } \addlyrics { twin -- \skip 4 kle }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Noten überspringen ] | [ Nach oben : Text an einer Melodie ausrichten ] | [ Gesangtext und Wiederholungen > ] |
Fülllinien und Trennstriche
Wenn die letzte Silbe eines Wortes auf ein Melisma fällt, wird
das Melisma oft mit einer langen horizontalen Linie angezeigt,
die nach dem Wort beginnt und mit der letzten Note des Melismas
endet. Derartige Fülllinien werden mit einem doppelten
Unterstrich ( __
) eingegeben, wobei beachtet werden muss,
dass er von Leerzeichen umgeben ist.
Achtung: Melismen werden mit Fülllinien angezeigt, die als doppelter Unterstrich notiert sind. Kurze Melismen können auch notiert werden, indem eine Note übersprungen wird. Hierzu wird ein einfacher Unterstrich notiert und keine Fülllinie gezogen.
Zentrierte Bindestriche zwischen den einzelnen Silben werden mit
einem doppelten Bindestrich ( --
) eingegeben, wobei beachtet
werden muss, dass er von Leerzeichen umgeben ist. Der Bindestrich
wird zwischen den Silben zentriert und seine Länge dem Notenabstand
angepasst.
In sehr eng notierter Musik können die Bindestriche ganz wegfallen.
Dieses Verhalten kann aber auch unterbunden werden, wenn den Eigenschaften
minimum-distance
(minimaler Abstand zwischen Silben) und
minimum-length
(Wert, unterhalb von dem Bindestriche wegfallen)
andere Werte erhalten.
Siehe auch
Referenz der Interna: LyricExtender, LyricHyphen
Gesangtext und Wiederholungen
TBC
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Gesangtext und Wiederholungen ] | [ Nach oben : Notation von Gesang ] | [ Getrennte Texte > ] |
2.1.4 Besonderheiten der Gesangtextnotation
In vielen Fällen werden unterschiedliche Strophen mit einer
Liedmelodie angeordnet, wobei kleine Schwankungen in der
Silbenaufteilung auftreten können. Derartige Variationen
können mit \lyricsto
notiert werden.
Getrennte Texte | ||
Text unabhängig von den Noten | ||
Silben platzieren | ||
Gesangtext zwischen Systemen zentrieren |
Getrennte Texte
Alternative (oder divisi Gesangstexte können notiert werden, indem Stimmenkontexten Bezeichnungen zugewiesen werden und die Texte dann jeweils der entsprechenden Bezeichnung zugewiesen wird.
\score{ << \new Voice = "melody" { \relative c' { c4 << { \voiceOne c8 e } \new Voice = "splitpart" { \voiceTwo c4 } >> \oneVoice c4 c | c } } \new Lyrics \lyricsto "melody" { we shall not o- ver- come } \new Lyrics \lyricsto "splitpart" { will } >> }
Mit diesem Trick kann auch ein unterschiedlicher Text für eine wiederholte Stelle gesetzt werden:
\score{ << \new Voice = "melody" \relative c' { c2 e | g e | c1 | \new Voice = "verse" \repeat volta 2 {c4 d e f | g1 | } a2 b | c1} \new Lyrics = "mainlyrics" \lyricsto melody \lyricmode { do mi sol mi do la si do } \context Lyrics = "mainlyrics" \lyricsto verse \lyricmode { do re mi fa sol } \new Lyrics = "repeatlyrics" \lyricsto verse \lyricmode { dodo rere mimi fafa solsol } >> }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Getrennte Texte ] | [ Nach oben : Besonderheiten der Gesangtextnotation ] | [ Silben platzieren > ] |
Text unabhängig von den Noten
In sehr komplexer Vokalmusik ist es manchmal erforderlich,
den Gesangstext vollständig unabhängig von den Noten zu
setzen. Das Beispiel unten zeigt das Vorgehen: die
Noten, die für lyricrhythm
definiert sind, verschwinden
im Devnull
-Kontext, während ihre Dauern immernoch
gültig sind, um die Silben daran auszurichten.
voice = { c''2 \tag #'music { c''2 } \tag #'lyricrhythm { c''4. c''8 } d''1 } lyr = \lyricmode { I like my cat! } << \new Staff \keepWithTag #'music \voice \new Devnull="nowhere" \keepWithTag #'lyricrhythm \voice \new Lyrics \lyricsto "nowhere" \lyr \new Staff { c'8 c' c' c' c' c' c' c' c' c' c' c' c' c' c' c' } >>
Diese Vorgehensweise ist nur empfehlenswert, wenn die Noten innerhalb
des Devnull
-Kontextes keine Melismen enthalten. Melismen
werden im Voice
-Kontext definiert. Wenn ein Gesangstext
mit einem Devnull
-Kontext verknüpft wird, wird die Verbindung
von Voice
- und Lyrics
-Kontext aufgehoben und somit
auch die Information zu Melismen. Darum werden implizite Melismen
ignoriert.
Silben platzieren
Um den Abstand zwischen Silben zu vergrößern, kann die
minimum-distance
-Eigenschaft des
LyricSpace
-Objekts gesetzt werden:
{ c c c c \override Lyrics.LyricSpace #'minimum-distance = #1.0 c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext }
Damit diese Einstellung für alle Gesangtextzeilen in einer Partitur
wirkt, muss sie im layout
-Block vorgenommen werden.
\score { \relative c' { c c c c c c c c } \addlyrics { longtext longtext longtext longtext longtext longtext longtext longtext } \layout { \context { \Lyrics \override LyricSpace #'minimum-distance = #1.0 } } }
Ausgewählte Schnipsel
Eine Überprüfung, mit der sichergestellt wird, dass kein Text in die Seitenränder ragt, ist sehr rechenintensiv. Damit die Bearbeitungszeit von Dateien nicht so lange dauert, wird diese Überprüfung nicht automatisch vorgenommen. Man kann sie mit dem Befehl
\override Score.PaperColumn #'keep-inside-line = ##t
aktivieren. Damit Gesangstext auch nicht mit Taktlinien zusammenstößt, kann folgende Einstellung gesetzt werden:
\layout { \context { \Lyrics \consists "Bar_engraver" \consists "Separating_line_group_engraver" \override BarLine #'transparent = ##t } }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Silben platzieren ] | [ Nach oben : Besonderheiten der Gesangtextnotation ] | [ Strophen > ] |
Gesangtext zwischen Systemen zentrieren
TBC
2.1.5 Strophen
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Strophen ] | [ Nach oben : Strophen ] | [ Lautstärkebezeichnung zu Strophen hinzufügen > ] |
Strophennummern hinzufügen
Strophennummerierung kann hinzugefügt werden:
\new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set stanza = #"1. " Hi, my name is Bert. } \addlyrics { \set stanza = #"2. " Oh, ché -- ri, je t'aime }
Die Zahl wird direkt vor die erste Silbe gesetzt.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Strophennummern hinzufügen ] | [ Nach oben : Strophen ] | [ Sängernamen zu Strophen hinzufügen > ] |
Lautstärkebezeichnung zu Strophen hinzufügen
Dynamikzeichen können zur Strophennummer hinzugefügt werden.
In LilyPond muss alles, was vor einer Strophe gesetzt wird,
als Teil der stanza
-Eigenschaft definiert werden, also
auch Dynamikbezeichnung. Aus technischen Gründen muss die
Strophe außerhalb von lyricmode
gesetzt werden:
text = { \set stanza = \markup { \dynamic "ff" "1. " } \lyricmode { Big bang } } << \new Voice = "tune" { \time 3/4 g'4 c'2 } \new Lyrics \lyricsto "tune" \text >>
Sängernamen zu Strophen hinzufügen
Namen von Sängern können auch eingefügt werden. Sie werden zu Beginn
der Zeile gesetzt, ähnlich wie eine Instrumentenbezeichnung. Sie
werden mit der vocalName
-Eigenschaft erstellt. Eine Kurzversion
kann mit shortVocalName
definiert werden.
\new Voice { \time 3/4 g2 e4 a2 f4 g2. } \addlyrics { \set vocalName = #"Bert " Hi, my name is Bert. } \addlyrics { \set vocalName = #"Ernie " Oh, ché -- ri, je t'aime }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Sängernamen zu Strophen hinzufügen ] | [ Nach oben : Strophen ] | [ Die Strophen am Ende ausdrucken > ] |
Strophen mit unterschiedlichem Rhythmus
Melismen ignorieren
Teilweise wird zu einer Silbe ein Melisma in einer Strophe
gesungen, während in einer anderen jede Note eine Silbe erhält.
Eine Möglichkeit ist, dass die Strophe mit mehr Text das
Melisma ignoriert. Das wird mit der
ignoreMelismata
-Eigenschaft im Lyrics
-Kontext
vorgenommen.
<< \relative c' \new Voice = "lahlah" { \set Staff.autoBeaming = ##f c4 \slurDotted f8.[( g16]) a4 } \new Lyrics \lyricsto "lahlah" { more slow -- ly } \new Lyrics \lyricsto "lahlah" { go \set ignoreMelismata = ##t fas -- ter \unset ignoreMelismata still } >>
Bekannte Probleme und Warnungen
Anders als die meisten \set
-Befehle funktioniert
\set ignoreMelismata
nicht zusammen mit \once
.
Es ist notwendig, explizit \set
und \unset
zu
verwenden, um den Text einzugrenzen, für den Melismen ignoriert
werden sollen.
Silben zu Verzierungsnoten hinzufügen
Normalerweise werden Verzierungsnoten (z.B. durch \grace
) bei
\lyricsto
keine Silben zugeordnet. Dieses Verhalten kann
geändert werden, wie das folgende Beispiel zeigt.
\relative c' { f4 \appoggiatura a32 b4 \grace { f16[ a16] } b2 \afterGrace b2 { f16[ a16] } \appoggiatura a32 b4 \acciaccatura a8 b4 } \addlyrics { normal \set includeGraceNotes = ##t case, gra -- ce case, after -- grace case, \set ignoreMelismata = ##t app. case, acc. case. }
Bekannte Probleme und Warnungen
Wie bei associatedVoice
muss includeGraceNotes
spätestens eine Silbe vor derjenigen gesetzt werden, die unter einer
Verzierungsnote stehen soll. Im Fall, dass eine Verzierungsnote
die erste des Musikstückes ist, kann ein \with
- oder
\context
-Block verwendet werden:
<< \new Voice = melody \relative c' { \grace { c16[( d e f] } g1) f } \new Lyrics \with { includeGraceNotes = ##t } \lyricsto melody { Ah __ fa } >>
Zu einer alternativen Melodie umschalten
Es ist auch möglich, die Silben von verschiedenen Textzeilen an
unterschiedlichen Melodien auszurichten. Das wird mit der
associatedVoice
-Eigenschaft vorgenommen:
Der Text der ersten Strophe wird an der Stimme „lahlah“ ausgerichtet:
\new Lyrics \lyricsto "lahlah" { Ju -- ras -- sic Park }
Auch die zweite Strophe wird an „lahlah“ ausgerichtet, aber für die Silbe „ran“ wird zu einer anderen Melodie gewechselt. Dazu wird der Befehl
\set associatedVoice = alternative
eingesetzt. alternative
ist die Bezeichnung der Stimme, die
die Triole enthält.
Dieser Befehl muss eine Silbe vor der Note notiert werden, auf die er sich auswirken soll, also vor „Ty“ in diesem Fall.
\new Lyrics \lyricsto "lahlah" { \set associatedVoice = alternative % applies to "ran" Ty -- ran -- no -- \set associatedVoice = lahlah % applies to "rus" sau -- rus Rex }
Zurück zu der alten Stimme kommt man, indem wieder „lahlah“ mit dem Text verknüpft wird.
Die Strophen am Ende ausdrucken
Manchmal soll nur eine Strophe mit der Melodie gesetzt
werden und die weiteren Strophen als Text under den Noten
hinzugefügt werden. Dazu wird der Text in einer
markup
-Umgebung außerhalb der \score
-Umgebung
gesetzt. Es gibt zwei Arten, die Zeilen auszurichten,
wie das Beispiel zeigt:
melody = \relative c' { e d c d | e e e e | d d e d | c1 | } text = \lyricmode { \set stanza = #"1." Ma- ry had a lit- tle lamb, its fleece was white as snow. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \column{ \line{ Verse 2. } \line{ All the children laughed and played } \line{ To see a lamb at school. } } } \markup{ \wordwrap-string #" Verse 3. Mary took it home again, It was against the rule." }
Die Strophen am Ende in mehreren Spalten drucken
Wenn in einem Lied sehr viele Strophen vorkommen, werden sie oft in mehreren Spalten unter den Noten gesetzt. Eine nach außen versetzte Zahl zeigt die Strophennummer an. Dieses Beispiel zeigt eine Methode, diese Art von Notensatz zu produzieren.
melody = \relative c' { c c c c | d d d d } text = \lyricmode { \set stanza = #"1." This is verse one. It has two lines. } \score{ << \new Voice = "one" { \melody } \new Lyrics \lyricsto "one" \text >> \layout { } } \markup { \fill-line { \hspace #0.1 % moves the column off the left margin; % can be removed if space on the page is tight \column { \line { \bold "2." \column { "This is verse two." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "3." \column { "This is verse three." "It has two lines." } } } \hspace #0.1 % adds horizontal spacing between columns; % if they are still too close, add more " " pairs % until the result looks good \column { \line { \bold "4." \column { "This is verse four." "It has two lines." } } \hspace #0.1 % adds vertical spacing between verses \line { \bold "5." \column { "This is verse five." "It has two lines." } } } \hspace #0.1 % gives some extra space on the right margin; % can be removed if page space is tight } }
Siehe auch
Referenz der Interna: LyricText, StanzaNumber.
2.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen
Dieser Abschnitt behandelt verschiedene Notationsaspekte, die typischerweise in Noten für Tasteninstrumente und andere Instrumente auf mehreren Notensystemen auftreten, wie etwa Harfe und Vibraphon. Hier wird die gesamte Gruppe von Instrumenten, die auf mehreren Systemen notiert werden, als „Tasteninstrumente“ bezeichnet, auch wenn einige von ihnen keine Tasten aufweisen.
2.2.1 Übliche Notation für Tasteninstrumente | ||
2.2.2 Klavier | ||
2.2.3 Akkordion | ||
2.2.4 Harfe |
2.2.1 Übliche Notation für Tasteninstrumente
Dieser Abschnitt zeigt allgemeine Eigenschaften des Notensatzes, die für die meisten Instrumente mit mehreren Systemen benötigt werden.
Referenz für Tasteninstrumente | ||
Notensysteme manuell verändern | ||
Automatischer Systemwechsel | ||
Stimmführungslinien | ||
Hälse über beide Systeme |
Referenz für Tasteninstrumente
Tasteninstrumente werden normalerweise auf einem Klaviersystem notiert. Es besteht aus zwei Notensystemen, die durch eine Klammer verbunden sind. Die gleiche Notation wird auch für andere Tasteninstrumente sowie Harfen verwendet. Orgelmusik wird normalerweise auf zwei Systemen innerhalb eines Klaviersystems notiert, denen noch ein drittes normales Notensystem für die Pedaltöne hinzugefügt wird.
Die Systeme eines Klaviersystems sind ziemlich unabhängig, aber Stimmen können bei Bedarf zwischen den Systemen wechseln.
Einige häufige Besonderheiten von Notation für Tasteninstrumenten wird an anderen Stellen besprochen:
- Noten für Tasteninstrumente haben oft mehrere Stimmen und die Anzahl der Stimmen kann sich häufig ändern. Das ist beschrieben in Auflösung von Zusammenstößen.
- Noten für Tasteninstrumente kann auch parallel, Takt für Takt notiert werden, wie gezeigt in Musik parallel notieren.
- Fingersatz wird erklärt in Fingersatzanweisungen.
- Orgelpedal-Zeichen werden als Artikulationszeichen notiert, siehe Liste der Arktikulationszeichen.
- Vertikale Rasterlinien können erstellt werden, siehe Gitternetzlinien.
- Noten für Tasteninstrumente beinhalten oft Laissez vibrer-Bögen und Bindebögen mit Arpeggio oder Tremolo, siehe hierzu Bindebögen.
- Arpeggios können auch zwischen den Systemen verbunden werden, siehe hierzu Arpeggio.
- Tremolo-Zeichen finden sich in Tremolo-Wiederholung.
- Viele der Optimierungen, die für Tastenmusik nötig sein können, sind demonstriert in Beispiele aus dem Leben.
- Unsichtbare Noten können eingesetzt werden, um Überbindungen zwischen Stimmen zu setzen, siehe Andere Benutzung von Optimierungen.
Siehe auch
Handbuch zum Lernen: Beispiele aus dem Leben, Andere Benutzung von Optimierungen.
Notationsreferenz: Systeme gruppieren, Instrumentenbezeichnungn, Auflösung von Zusammenstößen, Musik parallel notieren, Fingersatzanweisungen, Liste der Arktikulationszeichen, Gitternetzlinien, Bindebögen, Arpeggio, Tremolo-Wiederholung.
Schnipsel: Keyboards.
Referenz der Interna: PianoStaff.
Bekannte Probleme und Warnungen
Dynamikzeichen werden nicht automatische zwischen den Systemen
zentriert, aber es gibt hierzu Lösungen. Eine Möglichkeit ist
die Vorlage „Klavier mit zentrierten Lautstärkebezeichnungen“
im Abschnitt
Klaviervorlagen; eine andere Möglichkeit
ist es, die staff-padding
-Eigenschaft von
Lautstärkebezeichnungen zu erhöhen, wie gezeigt in
Verschieben von Objekten.
Notensysteme manuell verändern
Stimmen können mit dem Befehl
\change Staff = Systembezeichnung
manuell erzielt werden. Die Zeichenkette Systembezeichnung
ist die Bezeichnung des Systems. Damit wird die aktuelle Stimme
vom aktuellen System zu dem System mit der Systembezeichnung
gewechselt. Üblicherweise ist die Systembezeichnung "up"
oder "down"
, "RH"
oder "LH"
.
Das System, zu dem die Stimme wechseln soll, muss zum Zeitpunkt des Wechsels existieren. Wenn notwendig, müssen Systeme „künstlich am Leben gehalten werden“, siehe Kontexte am Leben halten.
Balken zwischen den Systemen werden automatisch erstellt:
\new PianoStaff << \new Staff = "up" { <e' c'>8 \change Staff = "down" g8 fis g \change Staff = "up" <g'' c''>8 \change Staff = "down" e8 dis e \change Staff = "up" } \new Staff = "down" { \clef bass % keep staff alive s1 } >>
Wenn die Balken verändert werden müssen, sollte zuerst die Richtung des Balkens beeinflusst werden. Die Balkenposition wird dann von der Mitte des Systems gemessen, dass näher am Balken ist. Ein einfaches Beispiel ist gezeigt in Überlappende Notation in Ordnung bringen.
Siehe auch
Handbuch zum Lernen: Überlappende Notation in Ordnung bringen.
Notationsreferenz: Hälse, Automatische Balken, Kontexte am Leben halten.
Schnipsel: Keyboards.
Referenz der Interna: Beam, ContextChange.
Automatischer Systemwechsel
Stimmen können angewiesen werden, automatisch zwischen dem oberen und unteren System zu wechseln. Die Syntax hierfür lautet:
\autochange …Noten…
Damit werden zwei Notensysteme innerhalb des aktiven Klaviersystems
erstellt, die „oben“ (up
) und „unten“ (down
) genannt
werden. Auf dem unteren System wird als Standard der Bassschlüssel
gesetzt. Der Wechsel wird automatisch basierend auf der Tonhöhe der Note
vorgenommen (als Wechselpunkt gilt das eingestrichene C). Dabei
wird die Richtung auch über Pausen hinweg im Voraus bestimmt.
\new PianoStaff { \autochange { g4 a b c' d'4 r a g } }
Ein \relative
-Abschnitt, der sich außerhalb des
\autochange
-Abschnittes befindet, hat keinen Einfluss auf die
Notenhöhen.
Wenn individuelle Kontrolle über die einzelen Systeme benötigt
wird, können sie manuell mit den Bezeichnungen "up"
und
"down"
erstellt werden. Der \autochange
-Befehl
wechselt dann die Stimme zwischen den Systemen.
Achtung: Wenn Systeme manuell erstellt werden, müssen sie genau
die Bezeichnungen "up"
und "down"
bekommen, damit die
automatische Wechselfunktion sie erkennen kann.
Systeme müssen etwa manuell erstellt werden, damit die Tonart im unteren System gesetzt werden kann:
\new PianoStaff << \new Staff = "up" { \new Voice = "melodieEins" { \key g \major \autochange \relative c' { g8 b a c b d c e d8 r fis, g a2 } } } \new Staff = "down" { \key g \major \clef bass } >>
Siehe auch
Notationsreferenz: Notensysteme manuell verändern.
Schnipsel: Keyboards.
Referenz der Interna: AutoChangeMusic.
Bekannte Probleme und Warnungen
Die Auteilung auf die Systeme geschieht nicht unbedingt an optimaler Stelle. Für bessere Qualität müssen die Wechsel manuell eingestellt werden.
Akkrode werde nicht über die Systeme verteilt, sie werden dem System zugewiesen, auf dem sich ihre erste Note befinden würde.
Stimmführungslinien
Immer, wenn eine Stimme von einem Klaviersystem zu dem anderen wechselt, kann automatisch eine Linie zur Verdeutlichung des Stimmenverlaufs ausgegeben werden:
\new PianoStaff << \new Staff = "one" { \showStaffSwitch c1 \change Staff = "two" b2 a } \new Staff = "two" { \clef bass s1*2 } >>
Vordefinierte Befehle
\showStaffSwitch
,
\hideStaffSwitch
.
Siehe auch
Schnipsel: Keyboards.
Referenz der Interna: Note_head_line_engraver, VoiceFollower.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Stimmführungslinien ] | [ Nach oben : Übliche Notation für Tasteninstrumente ] | [ Klavier > ] |
Hälse über beide Systeme
Akkorde, die über zwei Systeme reichen, können erstellt werden, indem die Länge der Hälse im unteren System vergrößert wird, bis sie zum oberen System hinauf reichen bzw. umgekehrt bei Hälsen, die nach unten zeigen.
\new PianoStaff << \new Staff { \relative c' { f8 e4 d8 d f e4 } } \new Staff { \relative c' { << { \clef bass % stems may overlap the other staff \override Stem #'cross-staff = ##t % extend the stems to reach other other staff \override Stem #'length = #12 % do not print extra flags \override Stem #'flag-style = #'no-flag % prevent beaming as needed a8 g4 f8 f bes\noBeam g4 } \\ { f,2 bes4 c } >> } } >>
Ausgewählte Schnipsel
Akkorde auf zwei Systemen mit Arpeggioklammern anzeigen
Eine Arpeggioklammer kann anzeigen, dass Noten auf zwei unterschiedlichen
Systemen mit der selben Hand gespielt werden sollen. Damit das notiert
werden kann, muss der PianoStaff
-Kontext so eingestellt werden,
dass er Arpeggios über Systeme hinweg akzeptiert und die Form der Arpeggios
muss auf eine Klammer eingestellt werden.
(Debussy, Les collines d’Anacapri, T. 65)
\new PianoStaff << \set PianoStaff.connectArpeggios = ##t \override PianoStaff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket \new Staff { \relative c' { \key b \major \time 6/8 b8-.(\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer \bar "||" } } \new Staff { \relative c' { \clef bass \key b \major << { <a e cis>2.\arpeggio } \\ { <a, e a,>2. } >> } } >>
Siehe auch
Schnipsel: Keyboards.
Referenz der Interna: Stem.
2.2.2 Klavier
Dieser Abschnitt zeigt Eigenheiten der Notation von Klavermusik
Klavierpedal |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Klavier ] | [ Nach oben : Klavier ] | [ Akkordion > ] |
Klavierpedal
Klaviere (teilweise auch Vibraphone und Celesta) besitzen üblicherweise drei Pedale, das linke oder Haltepedal, das rechte oder Una-corda-Pedal und das Sostenuto-Pedal. Die englischen Begriff hierzu lauten: sustain, sostenuto und una corda.
c4\sustainOn d e g <c, f a>1\sustainOff c4\sostenutoOn e g c, <bes d f>1\sostenutoOff c4\unaCorda d e g <d fis a>1\treCorde
Die Pedalbezeichnung kann auf drei Arten vorgenommen werden: mit Text, Klammern oder einer Mischung aus beidem. Das Haltepedal und das Una-corda-Pedal benutzen als Standard die Textdarstellung, während das Sostenuto-Pedal den gemischten Stil benutzt:
c4\sustainOn g c2\sustainOff \set Staff.pedalSustainStyle = #'mixed c4\sustainOn g c d d\sustainOff\sustainOn g, c2\sustainOff \set Staff.pedalSustainStyle = #'bracket c4\sustainOn g c d d\sustainOff\sustainOn g, c2 \bar "|."
Die Platzierung der Befehle entspricht der Bewegung der Pedale während des Spielens. Um das Pedal bis zur letzten Tatklinie zu halten, muss der letzte Pedal-hoch-Befehl weggelassen werden.
Siehe auch
Notationsreferenz: Bindebögen.
Schnipsel: Keyboards.
Referenz der Interna: SustainPedal, SustainPedalLineSpanner, SustainEvent, SostenutoPedal, SostenutoPedalLineSpanner, SostenutoEvent, UnaCordaPedal, UnaCordaPedalLineSpanner, UnaCordaEvent, PianoPedalBracket, Piano_pedal_engraver.
2.2.3 Akkordion
Dieser Abschnitt behandelt Notation, die nur für Akkordeonmusik benötigt wird.
Diskant-Symbole |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Akkordion ] | [ Nach oben : Akkordion ] | [ Harfe > ] |
Diskant-Symbole
Akkordeons werden oft mit mehreren Reihen an Zungen gebaut, welche Unisono oder eine Oktave höher bzw. tiefer erklingen. Jedes Akkordeon hat eigene Bezeichnungen für die Register (engl. shift) wie etwa Oboe, Bandonium usw. Eine Anzahl an Symbolen wird benutzt um die Wechsel anzuzeigen.
Ausgewählte Schnipsel
Symbole für Akkordeon-Diskantregister
Diskantregister für Akkordeon können mit \markup
dargestellt werden.
Die vertikale Position der einzelnen Elemente werden mit \raise
angepasst.
discant = \markup { \musicglyph #"accordion.accDiscant" } dot = \markup { \musicglyph #"accordion.accDot" } \layout { ragged-right = ##t } % 16 voets register accBasson = ^\markup { \combine \discant \raise #0.5 \dot } % een korig 8 en 16 voets register accBandon = ^\markup { \combine \discant \combine \raise #0.5 \dot \raise #1.5 \dot } accVCello = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \translate #'(1 . 0) \raise #1.5 \dot } % 4-8-16 voets register accHarmon = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \raise #2.5 \dot } accTrombon = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } % eenkorig 4 en 16 voets register accOrgan = ^\markup { \combine \discant \combine \raise #0.5 \dot \raise #2.5 \dot } accMaster = ^\markup { \combine \discant \combine \raise #0.5 \dot \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \combine \translate #'(-1 . 0) \raise #1.5 \dot \raise #2.5 \dot } accAccord = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \combine \translate #'(-1 . 0) \raise #1.5 \dot \raise #2.5 \dot } accMusette = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } accCeleste = ^\markup { \combine \discant \combine \raise #1.5 \dot \translate #'(-1 . 0) \raise #1.5 \dot } accOboe = ^\markup { \combine \discant \combine \raise #1.5 \dot \raise #2.5 \dot } accClarin = ^\markup { \combine \discant \raise #1.5 \dot } accPiccolo = ^\markup { \combine \discant \raise #2.5 \dot } accViolin = ^\markup { \combine \discant \combine \raise #1.5 \dot \combine \translate #'(1 . 0) \raise #1.5 \dot \raise #2.5 \dot } \relative c'' { c4 d\accBasson e f c4 d\accBandon e f c4 d\accVCello e f c4 d\accHarmon e f c4 d\accTrombon e f \break c4 d\accOrgan e f c4 d\accMaster e f c4 d\accAccord e f c4 d\accMusette e f c4 d\accCeleste e f \break c4 d\accOboe e f c4 d\accClarin e f c4 d\accPiccolo e f c4 d\accViolin e f }
Siehe auch
Schnipsel: Keyboards.
2.2.4 Harfe
Dieser Abschnitt zeigt Eigenheiten der Notation für Harfe.
Referenzen für Harfe | ||
Harfenpedal |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Harfe ] | [ Nach oben : Harfe ] | [ Harfenpedal > ] |
Referenzen für Harfe
Einige übliche Notationseigenheiten für Harfe sind woanders behandelt:
- Glissando ist die üblichste Harfentechnik, siehe Glissando.
- Ein Bisbigliando wird als ein Tremolo notiert, siehe Tremolo-Wiederholung.
- Flageolettöne werden hier beschrieben: Flageolett.
- Für Arpeggio und non-arpeggio, siehe Arpeggio.
Siehe auch
Notationsreferenz: Tremolo-Wiederholung, Glissando, Arpeggio, Flageolett.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Referenzen für Harfe ] | [ Nach oben : Harfe ] | [ Bundlose Saiteninstrumente > ] |
Harfenpedal
Harfe haben sieben Saiten in einer Oktave, die entweder als normaler Ton, oder aber erhöht bzw. erniedrigt klingen können. Bei einer Hakenharfe kann man jede Saite einzeln einstellen, bei Pedalharfen aber wird jede Saite mit der gleichen Notenbezeichnung von einem einzigen Pedal kontrolliert. Vom Spieler aus gesehen von rechts nach links sind die Pedale: D, C und H für die linke und E, F, G und A für die rechte Seite. Die Position des Pedals kann mit Textbeschriftungselementen:
\textLengthOn cis1_\markup \concat \vcenter { [D \flat C \sharp B|E \sharp F \sharp G A \flat] } c!1_\markup \concat \vcenter { [ C \natural ] }
oder Pedaldiagrammen angezeigt werden:
\textLengthOn cis1_\markup { \harp-pedal #"^v-|vv-^" } c!1_\markup { \harp-pedal #"^o--|vv-^" }
Der \harp-pedal
-Befehl braucht eine Anzahl an Zeichen, von
welchen ^
die höchste Pedalposition (erniedrigte Tonhöhe),
-
die mittlere Pedalposition (normale Tonhöhe, v
die
tiefste Pedalposition (erhöhter Ton) anzeigt. |
ist ein
Trenner. Ein o
vor der Definition umrandet das Symbol.
Siehe auch
Notationsreferenz: Textarten, Instrument Specific Markup.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Harfenpedal ] | [ Nach oben : Spezielle Notation ] | [ Übliche Notation für bundlose Saiteninstrumente > ] |
2.3 Bundlose Saiteninstrumente
Dieser Abschnitt stellt Information und Referenzen zur Verfügung, die beim Setzen von Noten für Saiteninstrumente ohne Bund herangezogen werden können.
2.3.1 Übliche Notation für bundlose Saiteninstrumente |
2.3.1 Übliche Notation für bundlose Saiteninstrumente
Es gibt wenige Spezifikationen für die Notation von Saiteninstrumenten ohne Bünde. Die Noten werden auf einem System notiert und meistens ist auch nur eine Stimme erforderlich. Zwei Stimmen können für Doppelgriff- oder Divisi-Stellen erforderlich sein.
Hinweise für bundlose Saiteninstrumente | ||
Bezeichnung des Bogens | ||
Flageolett | ||
Bartók-Pizzicato |
Hinweise für bundlose Saiteninstrumente
Die meisten Notationseigenschaften, die für Orchersterstreicher eingesetzt werden, sind an anderer Stelle beschrieben:
- Textanweisungen wie „pizz.“ oder „arco“ werden als einfacher Text eingefügt, siehe Textarten.
- Fingersatz, auch das Zeichen für den Daumen, ist erklärt in Fingersatzanweisungen.
- Doppelgriffe werden normalerweise als Akkord notiert, siehe hierzu Noten mit Akkorden. Anweisungen, wie Akkorde gespielt werden sollen, können auch hinzugefügt werden, siehe Arpeggio.
- Eine Vorlage für Streichquartett findet sich in Streichquartett. Andere sind als Schnipsel zur Verfügung gestellt.
Siehe auch
Handbuch zum Lernen: Streichquartett.
Notationsreferenz: Textarten, Fingersatzanweisungen, Noten mit Akkorden, Arpeggio.
Schnipsel: Unfretted strings.
Bezeichnung des Bogens
Hinweise zur Bogenfügung können als Artikulationen erstellt werden, wie beschrieben in Artikulationszeichen und Verzierungen.
Die Befehle \upbow
und \downbow
werden mit Legatobögen
in folgender Weise eingesetzt:
c4(\downbow d) e(\upbow f)
und das nächste Beispiel zeigt drei Arten, eine offene A-Saite auf der Geige anzuzeigen:
a4 \open a^\markup { \teeny "II" } a2^\markup { \small "sul A" }
Vordefinierte Befehle
\downbow
,
\upbow
,
\open
.
Siehe auch
Notation Reference: Artikulationszeichen und Verzierungen, Legatobögen.
Flageolett
Natürliches Flageolett
Flageolett-Töne können auf verschiedene Arten notiert werden. Üblicherweise werden sie mit einem Rautenkopf notiert, wenn ein Ton angezeigt werde, bei dem die Saite berührt wird, wo sie sonst abgegriffen würde.
Achtung: Flageolett-Töne müssem innerhalb von Akkorden definiert werden, auch wenn nur eine einzelne Note vorhanden ist.
<d\harmonic>4 <e\harmonic>2. \set harmonicDots = ##t <d\harmonic>4 <e\harmonic>2.
Alternativ kann auch eine normale Noten die Tonhöhe anzeigen, die erklingen soll, wobei ein kleiner Kreis angibt, dass es sich um einen Flageolett-Ton handelt:
d2^\flageolet d_\flageolet
Künstliches Flageolett
Künstliche Flageoletttöne werden mit zwei Noten notiert, von denen einen einen normalen Notenkopf besitzt und die Griffposition des Fingers angibt, während die andere in Rautenform die Position des leicht aufgesetzten Fingers anzeigt.
<e a\harmonic>2 <c g'\harmonic>
Siehe auch
Glossar: harmonics.
Notationsreferenz: Besondere Notenköpfe, Hinweise für bundlose Saiteninstrumente.
Bartók-Pizzicato
Ausgewählte Schnipsel
Bartók-Pizzicato
Das Bartók-Pizzicato ‚ist eine besondere Form des Pizzicato, bei dem der Spieler die Saite auf das Griffbrett aufschlagen lässt, sodass zusätzlich zum angeschlagenen Ton ein scharfes, knallendes Geräusch ertönt‘ (Wikipedia). Es wird dargestellt als kleiner Kreis mit einer vertikalen Linie, die vom Kreiszentrum aus nach oben weist und ein Stück außerhalb des Kreises endet. Lilypond hat keinen eigenen Glyphen für dieses Symbol; es ist aber einfach, direkt eine Definition in die Eingabedatei einzufügen.
\relative c' { c4\snappizzicato <c' e g>4\snappizzicato <c' e g>4^\snappizzicato <c, e g>4_\snappizzicato }
2.4 Saiteninstrumente mit Bünden
Dieser Abschnitt erklärt bestimmte Eigenheiten der Notation für Saiteninstrumente mit Bünden.
2.4.1 Übliche Notation für Saiteninstrumente mit Bünden | ||
2.4.2 Gitarre | ||
2.4.3 Banjo |
2.4.1 Übliche Notation für Saiteninstrumente mit Bünden
Dieser Abschnitt zeigt Besonderheiten der Notation, die allen Bundinstrumenten eigen ist.
Referenz für Saiteninstrumente mit Bünden
Noten für Bundinstrumente wird normalerweise auf
einem einzelnen System notiert, entweder als traditionelles
Notensystem oder in Tabulaturform. Manchmal werden beide
Arten miteinander verbunden, und besonders in populärer
Musik ist es üblich, über dem traditionellen System Griffsymbole
zu setzen. Gitarre und Banjo sind transponierende Instrumente,
die eine Oktave tiefer klingen als sie notiert werden. Partituren
für diese Instrumente sollten den „Tenorschlüssel“
("treble_8"
) benutzen. Einige Spezifika für
Instrumente mit Bünden sind an anderer Stelle erklärt:
- Fingersatz kann notiert werden, siehe Fingersatzanweisungen.
- Anweisungen für Laissez vibrer-Bögen und Bögen zwischen Arpeggios und Tremolos sind beschrieben in Bindebögen.
- Hinweise, wie mehrere Stimmen gesetzt werden können, finden sich in Auflösung von Zusammenstößen.
- Instructions for indicating harmonics can be found in Flageolett.
Siehe auch
Notationsreferenz: Fingersatzanweisungen, Bindebögen, Auflösung von Zusammenstößen, Instrumentenbezeichnungn, Musik parallel notieren, Arpeggio, Liste der Arktikulationszeichen, Notenschlüssel.
Seitennummerbezeichnung
Die Nummer der Saite, auf der gespielt werden soll, kann
angezeigt werden, indem \Zahl
an eine Note
innerhalb eines Akkord-Konstrukts gesetzt wird:
\clef "treble_8" <c\5>4 <e\4> <g\3>2 <c,\5 e\4 g\3>1
Wenn Fingersatz und Saitennummer zusammen benutzt werden, wird ihre Position anhand der Reihenfolge entschieden, mit der sie im Code auftauchen:
\clef "treble_8" <g\3-0>2 <g-0\3>
Ausgewählte Schnipsel
Position von Fingersatz in Akkorden kontrollieren
Die Position von Fingersatzzahlen kann exakt kontrolliert werden.
\relative c' { \set fingeringOrientations = #'(left) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(down right up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(up) <c-1 e-3 a-5>4 \set fingeringOrientations = #'(left) <c-1>2 \set fingeringOrientations = #'(down) <e-3>2 }
Fingersatz auch innerhalb des Systems setzen
Normalerweise werden vertikal orientierte Fingersatzzahlen außerhalb des Systems gesetzt. Das kann aber verändert werden.
\relative c' { <c-1 e-2 g-3 b-5>2 \override Fingering #'staff-padding = #'() <c-1 e-2 g-3 b-5>4 <g'-0> }
Siehe auch
Notationsreferenz: Fingersatzanweisungen.
Schnipsel: Fretted strings.
Referenz der Interna: StringNumber, Fingering.
Standardtabulaturen
Tabulatur-Notation wird für die Notation von Zupfinstrumenten benutzt. Tonhöhen werden hier nicht durch Notenköpfe, sondern durch Zahlen notiert. Diese Zahlen zeigen an, auf welcher Saite und welchem Bund der Ton gespielt werden soll. LilyPond bringt beschränkte Unterstützung für Tabulaturen mit.
Die Saitennummer, die mit einer Note assoziiert ist, wird durch einen Backslash, gefolgt von einer Zahl, notiert. In der Standardeinstellung ist die erste Saite die höchste Saite und als Stimmung wird die übliche Gitarrenstimmung auf sechs Saiten angenommen. Die Noten werden in einer Tabulatur gesetzt, indem TabStaff und TabVoice-Kontexte verwendet werden.
\new TabStaff { a,4\5 c'\2 a\3 e'\1 e\4 c'\2 a\3 e'\1 }
Wenn keine Saite für eine Note angegeben wird, wird die Note der
Saite zugeordnet, welche die Note auf einem Bund erzeugen kann,
der größer oder gleich als der Wert von minimumFret
ist. Der Standardwert für minimumFret
beträgt 0.
\new StaffGroup << \new Staff \relative c { \clef "treble_8" c16 d e f g4 c,16 d e f g4 } \new TabStaff \relative c { c16 d e f g4 \set TabStaff.minimumFret = #5 c,16 d e f g4 } >>
Flageolett und Gleiten (Slide) kann zur Tabulatur hinzugefügt werden:
\new TabStaff { \new TabVoice { <c g'\harmonic> d\2\glissando e\2 } }
Ausgewählte Schnipsel
Hals- und Balkenverhalten in einer Tabulatur
Die Richtung von Hälsen wird in Tabulaturen genauso wie in normaler Notation eingestellt. Balken können horizontal eingestellt werden, wie das Beispiel zeigt.
\new TabStaff { \relative c { \tabFullNotation g16 b d g b d g b \stemDown \override Beam #'damping = #+inf.0 g,,16 b d g b d g b } }
Polyphonie in einer Tabulatur
Polyphonie kann in einer Tabulatur (TabStaff
) genauso wie in einem
normalen Notensystem erstellt werden.
upper = \relative c' { \time 12/8 \key e \minor \voiceOne r4. r8 e, fis g16 b g e e' b c b a g fis e } lower = \relative c { \key e \minor \voiceTwo r16 e d c b a g4 fis8 e fis g a b c } \score { << \new StaffGroup = "tab with traditional" << \new Staff = "guitar traditional" << \clef "treble_8" \context Voice = "upper" \upper \context Voice = "lower" \lower >> \new TabStaff = "guitar tab" << \context TabVoice = "upper" \upper \context TabVoice = "lower" \lower >> >> >> }
Siehe auch
Notationsreferenz: Hälse.
Schnipsel: Fretted strings.
Referenz der Interna: TabNoteHead, TabStaff, TabVoice, Beam.
Bekannte Probleme und Warnungen
Akkorde werden nicht gesondert behandelt, sodass die Saitenauswahlfunktion eventuell die selbe Saite für zwei Töne eines Akkordes auswählen kann.
Damit die Kombination von Stimmen (\partcombine
) richtig funktioniert,
müssen speziell erstellte Stimmen innerhalb des Tabulatursystems
(TabStaff
) benutzt werden:
melodia = \partcombine { e4 g g g }{ e4 e e e } << \new TabStaff << \new TabVoice = "one" s1 \new TabVoice = "two" s1 \new TabVoice = "shared" s1 \new TabVoice = "solo" s1 { \melodia } >> >>
Spezialeffekte für Gitarre beschränken sich auf Flageolett und Slide.
Angepasste Tabulaturen
LilyPond errechnet automatisch den Bund für eine Note auf Grundlage
der Saite, zu welcher der Ton zugeordnet ist. Um das tun zu können,
muss die Stimmung der Saiten angegeben werden. Die Stimmung wird
in der StringTunings
-Eigenschaften bestimmt.
LilyPond hat vordefinierte Stimmungen für Banjo, Mandoline, Gitarre und Bassgitarre. Für diese Stimmungen wird automatisch die richtige Transposition eingesetzt. Das nächste Beispiel ist für Bassgitarre, welche eine Oktave niedriger erklingt, als sie geschrieben ist:
<< \new Staff { \clef "bass_8" \relative c, { c4 d e f } } \new TabStaff { \set TabStaff.stringTunings = #bass-tuning \relative c, { c4 d e f } } >>
Die Standardstimmung ist die Gitarrenstimmung (guitar-tuning
)
in der EADGHE-Stimmung. Andere vordefinierte Stimmung sind:
guitar-open-g-tuning
, mandolin-tuning
und
banjo-open-g-tuning
. Die vordefinierten Stimmungen finden
sich in scm/tablature.scm
.
Die Stimmung ist eine Scheme-Liste von Tonhöhen der Saiten, eine für jede Saite, geordnet von Saitennummer 1 bis n, wobei 1 die höchste Saite der Tabulatur ist und n die unterste. Normalerweise wird so die Stimmung vom höchsten bis zum tiefsten Ton angegeben, aber bei einige Instrumente (etwa Ukulele) werden die Saiten nicht aufgrund der Tonhöhe angeordnet.
Eine Tonhöhe in der Liste der Saitenstimmungen ist der Unterschied der entsprechenden Tonhöhe zum eingestrichenen C gemessen in Halbtönen. Die Tonöhe muss eine Ganzzahl sein. LilyPond errechnet die Tonhöhe einer Saite, indem die Tonhöhe der Saitenstimmung zu der Tonhöhe von c’ hinzugerechnet wird.
LilyPond erschließt die Anzahl der Saiten einer Tabulatur
anhand der Anzahl der Saitenstimmungszahlen in stringTunings
.
Jede beliebige Saitenstimmung kann erzeugt werden. Als Beispiel
etwa kann die Saitenstimmung für ein viersaitiges Instrument
mit den Tonhöhen a''
, d''
, g'
und c'
so definiert werden:
mynotes = { c'4 e' g' c'' | e'' g'' b'' c''' } << \new Staff { \clef treble \mynotes } \new TabStaff { \set TabStaff.stringTunings = #'(21 14 7 0) \mynotes } >>
Siehe auch
Installierte Dateien: ‘scm/tablature.scm’.
Schnipsel: Fretted strings.
Referenz der Interna: Tab_note_heads_engraver.
Bund-Diagramm-Beschriftung
Bunddiagramme können zu Notation als Textbeschriftung hinzugefügt werden. Die Beschriftung enthält Information zu dem gewünschten Bunddiagramm. Es gibt drei unterschiedliche Darstellungsarten: normal, knapp und ausführlich. Die drei Arten erzeugen die gleiche Ausgabe, aber mit jeweils mehr oder weniger Einzelheiten. Einzelheiten zu Textbeschriftunsbefehlen findet sich in Text markup commands.
Die Standard-Bunddiagrammbeschriftung beinhaltet die Saitennummer und die Bundnummer für jeden Punkt, der notiert werden soll. Zusätzlich können offenen und nicht gespielte (schwingende) Saiten angezeigt werden.
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;" < d a d' f'> ^\markup \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;" } >>
Barré kann hinzugefügt werden:
<< \context ChordNames { \chordmode { f1 g } } \context Staff { \clef "treble_8" < f, c f a c' f'>1 ^\markup \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" < g, d g b d' g'> ^\markup \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;" } >>
Die Größe des Bunddiagrammes und die Anzahl der Bünde im Diagramm kann geändert werden:
<< \context ChordNames { \chordmode { f1 g } } \context Staff { \clef "treble_8" < f, c f a c' f'>1 ^\markup \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;" < g, b, d g b g'> ^\markup \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;" } >>
Die Anzahl der Saiten kann geändert werden, um sie für andere Instrumente anzupassen, wie etwas Banjo oder Ukulele.
<< \context ChordNames { \chordmode { a1 } } \context Staff { %% A chord for ukulele a'1 ^\markup \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;" } >>
Fingersatz kann auch angezeigt werden, und die Position der Fingersatzzahlen kann kontrolliert werden.
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;" < d a d' f'> ^\markup \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;" } >>
Die Größe und Position der Punkte kann geändert werden:
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;" < d a d' f'> ^\markup \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;" } >>
Die Beschriftungsfunktion fret-diagram-terse
(knappe Version)
lässt die Saitennummern aus: das Vorhandensein einer Saite wird
durch ein Semikolon ausgedrückt. Für jede Saite des Diagramms
muss ein Semikolon gesetzt werden. Das erste Semikolon entspricht
der höchsten Saite, das letze der ersten Saite. Stumme und
offene Saiten sowie Bundnummern können angezeigt werden.
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram-terse #"x;3;2;o;1;o;" < d a d' f'> ^\markup \fret-diagram-terse #"x;x;o;2;3;1;" } >>
Barré kann im knappen Modus auch angezeigt werden:
<< \context ChordNames { \chordmode { f1 g } } \context Staff { \clef "treble_8" < f, c f a c' f'>1 ^\markup \fret-diagram-terse #"1-(;3;3;2;1;1-);" < g, d g b d' g'> ^\markup \fret-diagram-terse #"3-(;5;5;4;3;3-);" } >>
Fingersatz kann im knappen Modus hinzugefügt werden:
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \override Voice.TextScript #'(fret-diagram-details finger-code) = #'below-string \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" < d a d' f'> ^\markup \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;" } >>
Andere Eigenschaften der Bunddiagramme müssen im knappen Modus
mit \override
-Befehlen angegeben werden.
Die Beschriftungsfunktion fret-diagram-verbose
(ausführlicher Stil) ist in der
Form eine Scheme-Liste. Jedes Element stellt ein Element dar,
dass im Bunddiagramm gesetzt werden soll.
<< \context ChordNames { \chordmode { c1 d:m } } \context Staff { \clef "treble_8" < c e g c' e' > 1 ^\markup \fret-diagram-verbose #'( (mute 6) (place-fret 5 3) (place-fret 4 2) (open 3) (place-fret 2 1) (open 1) ) < d a d' f'> ^\markup \fret-diagram-verbose #'( (mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 1) ) } >>
Fingersatz und Barré kann im ausführlichen Modus notiert werden. Nur im ausführlichen Modus kann ein Capo angezeigt werden, das auf dem Bunddiagramm plaziert wird. Die Capo-Anzeige ist ein dicker Strich, der alle Saiten bedeckt. Der Bund mit dem Capo ist der unterste Bund im Diagramm.
<< \context ChordNames { \chordmode { f1 g c } } \context Staff { \clef "treble_8" \override Voice.TextScript #'(fret-diagram-details finger-code) = #'below-string < f, c f a c' f'>1 ^\markup \fret-diagram-verbose #'( (place-fret 6 1) (place-fret 5 3) (place-fret 4 3) (place-fret 3 2) (place-fret 2 1) (place-fret 1 1) (barre 6 1 1) ) < g, b, d g b g'> ^\markup \fret-diagram-verbose #'( (place-fret 6 3 2) (place-fret 5 2 1) (open 4) (open 3) (open 2) (place-fret 1 3 3) ) < c e g c' e'> ^\markup \fret-diagram-verbose #'( (capo 3) (mute 6) (place-fret 4 5 1) (place-fret 3 5 2) (place-fret 2 5 3) ) } >>
Alle anderen Bunddiagramm-Eigenschaften müssen im ausführlichen
Modus mit mit \override
-Befehlen angegeben werden.
Die graphische Erscheinung eines Bunddiagramms kann den Wünschen
des Notensetzers angepassen werden. Hierzu werden die Eigenschaften
des fret-diagram-interface
(Bunddiagramm-Schnittstelle)
eingesetzt. Einzelheiten hierzu
in
fret-diagram-interface. Die Eigenschaften der
Schnittstelle gehören dem Voice.TextScript
-Kontext an.
Ausgewählte Schnipsel
Anpassung von Beschriftungs-Bunddiagrammen
Bunddiagramme können mit der Eigenschaft 'fret-diagram-details
angepasst werden. Bunddiagramme, die als Textbeschriftung eingefügt werden,
können Veränderungen im Voice.TextScript
-Objekt oder direkt in der
Beschriftung vorgenommen werden.
<< \chords { c1 | c | c | d } \new Voice = "mel" { \textLengthOn % Set global properties of fret diagram \override TextScript #'size = #'1.2 \override TextScript #'(fret-diagram-details finger-code) = #'in-dot \override TextScript #'(fret-diagram-details dot-color) = #'white %% C major for guitar, no barre, using defaults % terse style c'1^\markup { \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" } %% C major for guitar, barred on third fret % verbose style % size 1.0 % roman fret label, finger labels below string, straight barre c'1^\markup { % standard size \override #'(size . 1.0) { \override #'(fret-diagram-details . ( (number-type . roman-lower) (finger-code . in-dot) (barre-type . straight))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) } } } %% C major for guitar, barred on third fret % verbose style % landscape orientation, arabic numbers, M for mute string % no barre, fret label down or left, small mute label font c'1^\markup { \override #'(fret-diagram-details . ( (finger-code . below-string) (number-type . arabic) (label-dir . -1) (mute-string . "M") (orientation . landscape) (barre-type . none) (xo-font-magnification . 0.4) (xo-padding . 0.3))) { \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) } } %% simple D chord % terse style % larger dots, centered dots, fewer frets % label below string d'1^\markup { \override #'(fret-diagram-details . ( (finger-code . below-string) (dot-radius . 0.35) (dot-position . 0.5) (fret-count . 3))) { \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;" } } } >>
Siehe auch
Notationsreferenz: Text markup commands.
Schnipsel: Fretted strings.
Referenz der Interna: fret-diagram-interface.
Vordefinierte Bund-Diagramme
Bunddiagramme können mit dem FretBoards
-Kontext angezeigt
werden. Standardmäßig zeigt der FretBoards
-Kontext
Bunddiagramme an, die in einer Tabelle definiert sind:
\include "predefined-guitar-fretboards.ly" \context FretBoards { \chordmode { c1 d } }
Die vordefinierten Diagramme sind in der Datei
predefined-guitar-fretboards.ly
enthalten. Sie werden
basierend auf der Tonhöhe eines Akkordes und dem Wert von
stringTunings
(Saitenstimmung), der gerade benutzt wird,
gespeichert. predefined-guitar-fretboards.ly
beinhaltet
vordefinierte Diagramme für die Gitarrenstimmtung (guitar-tuning
).
Anhand der Beispiele in dieser Datei können auch für andere
Instrumente oder Stimmungen Diagramme definiert werden.
Tonhöhen von Akkorden können entweder als Akkordkonstrukte oder im Akkordmodus notiert werden (siehe auch Überblick über den Akkord-Modus).
\include "predefined-guitar-fretboards.ly" \context FretBoards { \chordmode {c1} <c' e' g'>1 }
Oft wird sowohl eine Akkordbezeichnung als ein Bunddiagramm
notiert. Das kann erreicht werden, indem ein
ChordNames
-Kontext parallel mit einem FretBoards
-Kontext
gesetzt wird und beiden Kontexten die gleichen Noten zugewiesen
werden.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 f g } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Vordefinierte Bunddiagramme können transponiert werden, solange ein Diagramm für den transponierten Akkord in der Bunddiagramm-Tabelle vorhanden ist.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 f g } mychordlist = { \mychords \transpose c e { \mychords} } << \context ChordNames { \mychordlist } \context FretBoards { \mychordlist } >>
Die Tabelle der vordefinierten Bunddiagramme enthält sieben
Akkorde (Dur, Moll, übermäßig, vermindert, Dominantseptakkord,
große Septime und kleine Septime) für alle 17 Tonarten. Eine
vollständige Liste der vordefinierten Bunddiagramme findet sich
in Vordefinierte Bund-Diagramme. Wenn in der Tabelle für
einen Akkord kein Wert steht, wird ein Bunddiagramm vom
FretBoards
-Engraver errechnet, wobei die automatische
Bunddiagrammfunktion zu Anwendung kommt. Siehe hierzu
Automatische Bund-Diagramme.
\include "predefined-guitar-fretboards.ly" mychords = \chordmode{ c1 c:9 } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Bunddiagramme können zu der Tabelle hinzugefügt werden. Um ein
Diagramm hinzuzufügen, muss der Akkord des Diagramms, die Stimmung
und die Diagramm-Definition angegeben werden. Die Diagramm-Definition
kann entweder eine fret-diagram-terse
-Definition oder eine
fret-diagram-verbose
-Liste sein.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram \chordmode {c:9} #guitar-tuning #"x;3-2;2-1;3-3;3-4;x;" mychords = \chordmode{ c1 c:9 } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Unterschiedliche Bunddiagramme für den selben Akkord können gespeichert werden, indem unterschiedliche Oktaven für die Tonhöhe benutzt werden. Die unterschiedliche Oktave sollte mindestens zwei Oktaven über oder unter der Standardoktave liegen, die für transponierende Bunddiagramme eingesetzt wird.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram \chordmode {c''} #guitar-tuning #(offset-fret 2 (chord-shape 'bes guitar-tuning)) mychords = \chordmode{ c1 c'' } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Zusätzlich zu Bunddiagrammen speichert LilyPond auch eine interne
Liste an Akkordformen. Die Akkordformen sind Bunddiagramme,
die am Hals entlang verschoben werden können und dabei unterschiedliche
Akkorde ergeben. Akkordformen können zu der internen Liste
hinzugefügt werden und dann benutzt werden, um vordefinierte
Bunddiagramme zu definieren. Weil sie auf verschiedenen Positionen
auf dem Steg gelegt werden können, beinhalten vordefinierte
Akkord üblicherweise keine leeren Saiten. Wie Bunddiagramme können auch
Akkordformen entweder als fret-diagram-terse
-Definition
oder als fret-diagram-verbose
-Liste erstellt werden.
\include "predefined-guitar-fretboards.ly" % add a new chord shape \addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;" % add some new chords based on the power chord shape \storePredefinedDiagram \chordmode {f''} #guitar-tuning #(chord-shape 'powerf guitar-tuning) \storePredefinedDiagram \chordmode {g''} #guitar-tuning #(offset-fret 2 (chord-shape 'powerf guitar-tuning)) mychords = \chordmode{ f1 f'' g g'' } << \context ChordNames { \mychords } \context FretBoards { \mychords } >>
Die graphische Form eines Bunddiagramms kann entsprechend den
eigenen Wünschen verändert werden, indem man die Eigenschaften
der fret-diagram-interface
-Schnittstellt verändert.
Einzelheiten hierzu in
fret-diagram-interface. Die
Schnittstelleneigenschaften eines vordefinierten Bunddiagrammes
gehören dem FretBoards.FretBoard
-Kontext an.
Ausgewählte Schnipsel
Bunddiagramme anpassen
Eigenschaften von Bunddiagrammen können in
'fret-diagram-details
verändert werden. Einstellungen mit
dem \override
-Befehl werden dem FretBoards.FretBoard
-Objekt
zugewiesen. Genauso wie Voice
ist auch FretBoards
ein
Kontext der niedrigsten Ebene, weshalb der Kontext auch in dem Befehl
weggelassen werden kann.
\include "predefined-guitar-fretboards.ly" \storePredefinedDiagram \chordmode { c' } #guitar-tuning #"x;1-1-(;3-2;3-3;3-4;1-1-);" << \new ChordNames { \chordmode { c1 | c | c | d } } \new FretBoards { % Set global properties of fret diagram \override FretBoards.FretBoard #'size = #'1.2 \override FretBoard #'(fret-diagram-details finger-code) = #'in-dot \override FretBoard #'(fret-diagram-details dot-color) = #'white \chordmode { c \once \override FretBoard #'size = #'1.0 \once \override FretBoard #'(fret-diagram-details barre-type) = #'straight \once \override FretBoard #'(fret-diagram-details dot-color) = #'black \once \override FretBoard #'(fret-diagram-details finger-code) = #'below-string c' \once \override FretBoard #'(fret-diagram-details barre-type) = #'none \once \override FretBoard #'(fret-diagram-details number-type) = #'arabic \once \override FretBoard #'(fret-diagram-details orientation) = #'landscape \once \override FretBoard #'(fret-diagram-details mute-string) = #"M" \once \override FretBoard #'(fret-diagram-details label-dir) = #LEFT \once \override FretBoard #'(fret-diagram-details dot-color) = #'black c' \once \override FretBoard #'(fret-diagram-details finger-code) = #'below-string \once \override FretBoard #'(fret-diagram-details dot-radius) = #0.35 \once \override FretBoard #'(fret-diagram-details dot-position) = #0.5 \once \override FretBoard #'(fret-diagram-details fret-count) = #3 d } } \new Voice { c'1 | c' | c' | d' } >>
Eigene vordefinierte Bunddiagramme für andere Instrumente erstellen
Vordefinierte Bunddiagramme können für neue Instrumente hinzugefügt werden neben denen, die schon für die Gitarre definiert sind. Dieses Schnipsel zeigt, wie man eine neue Saitenstimmung definiert und dann eigene vordefinierte Bunddiagramme bestimmt. Das Beispiel ist für das venezualische Cuatro.
Dieses Schnipsel zeigt auch, wie Fingersatz in die Akkorde eingebunden werden kann, um als Referenzpunkt für die Akkordauswahl benutzt werden kann. Dieser Fingersatz wird im Bunddiagramm und in der Tabulatur, aber nicht in den Noten angezeigt.
Diese Bunddiagramme sind nicht transponierbar, weil sie Saiteninformationen enthalten. Das soll in der Zukunft verbessert werden.
% add FretBoards for the Cuatro % Note: This section could be put into a separate file % predefined-cuatro-fretboards.ly % and \included into each of your compositions cuatroTuning = #'(11 18 14 9) dSix = { <a\4 b\1 d\3 fis\2> } dMajor = { <a\4 d\1 d\3 fis \2> } aMajSeven = { <a\4 cis\1 e\3 g\2> } dMajSeven = { <a\4 c\1 d\3 fis\2> } gMajor = { <b\4 b\1 d\3 g\2> } \storePredefinedDiagram \dSix #cuatroTuning #"o;o;o;o;" \storePredefinedDiagram \dMajor #cuatroTuning #"o;o;o;3-3;" \storePredefinedDiagram \aMajSeven #cuatroTuning #"o;2-2;1-1;2-3;" \storePredefinedDiagram \dMajSeven #cuatroTuning #"o;o;o;1-1;" \storePredefinedDiagram \gMajor #cuatroTuning #"2-2;o;1-1;o;" % end of potential include file /predefined-cuatro-fretboards.ly #(set-global-staff-size 16) primerosNames = \chordmode { d:6 d a:maj7 d:maj7 g } primeros = { \dSix \dMajor \aMajSeven \dMajSeven \gMajor } \score { << \new ChordNames { \set chordChanges = ##t \primerosNames } \new Staff { \new Voice \with { \remove "New_fingering_engraver" } \relative c'' { \primeros } } \new FretBoards { \set stringTunings = #cuatroTuning \override FretBoard #'(fret-diagram-details string-count) = #'4 \override FretBoard #'(fret-diagram-details finger-code) = #'in-dot \primeros } \new TabStaff \relative c'' { \set TabStaff.stringTunings = #cuatroTuning \primeros } >> \layout { \context { \Score \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) } } \midi { } }
Akkordänderungen für Bunddiagramme
Bunddiagramme können definiert werden, sodass sie nur angezeigt werden, wenn der Akkord sich ändert oder eine neue Zeile anfängt.
\include "predefined-guitar-fretboards.ly" myChords = \chordmode { c1 c1 \break \set chordChanges = ##t c1 c1 \break c1 c1 \break } << \new ChordNames { \myChords } \new FretBoards { \myChords } \new Staff { \myChords } >>
Siehe auch
Notationsreferenz: Angepasste Tabulaturen, Automatische Bund-Diagramme, Überblick über den Akkord-Modus, Vordefinierte Bund-Diagramme.
Installierte Dateien: ‘ly/predefined-guitar-fretboards.ly’, ‘ly/predefined-guitar-ninth-fretboards.ly’.
Schnipsel: Fretted strings.
Referenz der Interna: fret-diagram-interface.
Automatische Bund-Diagramme
Bunddiagramme können automatisch aus notierten Noten erstellt werden.
Hierzu wird der FretBoards
-Kontext eingesetzt. Wenn keine
vordefinierten Diagramme für die ensprechenden Noten mit
der aktiven Saitenstimmung (stringTunings
) vorhanden sind,
errechnet der Kontext Saiten und Bünde die benutzt werden können,
um die Noten zu spielen.
<< \context ChordNames { \chordmode { f1 g } } \context FretBoards { < f, c f a c' f'>1 < g,\6 b, d g b g'> } \context Staff { \clef "treble_8" < f, c f a c' f'>1 < g, b, d g b' g'> } >>
Da in den Standardeinstellungen keine vordefinierten Diagramme geladen werden, ist die automatische Diagrammerstellung das Standardverhalten. Wenn die vordefinierten Diagramme eingesetzt werden, kann die automatische Berechnung an- und ausgeschaltet werden.
\storePredefinedDiagram <c e g c' e'> #guitar-tuning #"x;3-1-(;5-2;5-3;5-4;3-1-1);" << \context ChordNames { \chordmode { c1 c c } } \context FretBoards { <c e g c' e'>1 \predefinedFretboardsOff <c e g c' e'> \predefinedFretboardsOn <c e g c' e'> } \context Staff { \clef "treble_8" <c e g c' e'>1 <c e g c' e'> <c e g c' e'> } >>
Manchmal kann die Berechnungsfunktion für Bunddiagramme kein
passendes Diagramm finden. Das kann oft umgangen werden, indem
man manuell einer Note eine bestimmte Saite zuweist. In vielen
Fällen muss nur eine Note derart gekennzeichnet werden, der
Rest wird dann ensprechend durch den FretBoards
-Kontext
behandelt.
Fingersatz kann zu FretBoard-Bunddiagrammen hinzugefügt werden.
<< \context ChordNames { \chordmode { c1 d:m } } \context FretBoards { < c-3 e-2 g c'-1 e' > 1 < d a-2 d'-3 f'-1> } \context Staff { \clef "treble_8" < c e g c' e' > 1 < d a d' f'> } >>
Der kleinste Bund, der benutzt wird, um Saiten und Bünde im
FretBoard-Kontext zu errechnen, kann mit der
minimumFret
-Eigenschaft gesetzt werden.
<< \context ChordNames { \chordmode { d1:m d:m } } \context FretBoards { < d a d' f'> \set FretBoards.minimumFret = #5 < d a d' f'> } \context Staff { \clef "treble_8" < d a d' f'> < d a d' f'> } >>
Die Saiten und Bünde des FretBoards
-Kontextes hängen von
der stringTunings
-Eigesnchaft ab, die die gleiche Bedeitung
wie im TabStaff-Kontext hat. Siehe auch Angepasste Tabulaturen
zu Information über die stringTunings
Eigenschaft.
Die graphische Erscheindung eines Bunddiagrammes kann den
Bedürfnissen angepasst werden, indem Eigenschaften der
fret-diagram-interface
-Schnittstelle verändert werden.
Einzelheiten finden sich in
fret-diagram-interface.
Die Schnittstelleneigenschaften eines FretBoards
-Diagramms
gehören dem FretBoards.FretBoard
-Kontext an.
Vordefinierte Befehle
\predefinedFretboardsOff
,
\predefinedFretboardsOn
.
Siehe auch
Notationsreferenz: Angepasste Tabulaturen.
Schnipsel: Fretted strings.
Referenz der Interna: fret-diagram-interface.
Fingersatz der rechten Hand
cindex Fingersatz der rechten Hand, Bundinstrumente
Fingersatz für die rechte Hand in Akkorden kann mit den Bezeichnungen p-i-m-a notiert werden. Er muss innerhalb eines Akkord-Konstruktes notiert werden.
Achtung: Nach der Note muss ein Minuszeichen gesetzt
werden und ein Leerzeichen nach dem schließenden >
.
\clef "treble_8" <c-\rightHandFinger #1 >4 <e-\rightHandFinger #2 > <g-\rightHandFinger #3 > <c-\rightHandFinger #4 > <c,-\rightHandFinger #1 e-\rightHandFinger #2 g-\rightHandFinger #3 c-\rightHandFinger #4 >1
Zur Erleichterung kann der Befehl \rightHandFinger
zu ein paar
Buchstaben abgekürzt werden, etwa RH
.
#(define RH rightHandFinger)
Ausgewählte Schnipsel
Positionierung von Fingersatz der rechten Hand
Man kann die Positionierung von Fingersatz der rechten Hand besser kontrollieren, wenn eine bestimmte Eigenschaft gesetzt wird, wie das folgende Beispiel zeigt:
#(define RH rightHandFinger) \relative c { \clef "treble_8" \set strokeFingerOrientations = #'(up down) <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4 \set strokeFingerOrientations = #'(up right down) <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4 \set strokeFingerOrientations = #'(left) <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >2 }
Fingersatz Saitennummern und Fingersatz für die rechte Hand
Dieses Beispiel kombiniert Fingersatz für die linke Hand, Saitennummern und Fingersatz für die rechte Hand.
#(define RH rightHandFinger) \relative c { \clef "treble_8" <c-3\5-\RH #1 >4 <e-2\4-\RH #2 >4 <g-0\3-\RH #3 >4 <c-1\2-\RH #4 >4 }
Siehe auch
Schnipsel: Fretted strings.
Referenz der Interna: StrokeFinger.
2.4.2 Gitarre
Die meisten der Besonderheiten von Gitarrennotation wurden im allgemeinen Abschnitt behandelt, aber es gibt noch einige, die hier gezeigt werden sollen. Teilweise soll ein Lead-sheet nur die Akkordsymbole und den Gesangstext enthalten. Da LilyPond ein Notensatzprogramm ist, wird es nicht für derartige Projekte empfohlen, die keine eigentliche Notation beinahlten. Anstattdessen sollte ein Textbearbeitungsprogramm, oder ein Satzprogramm wie GuitarTeX (für erfahrende Benutzer) eingesetzt werden.
Position und Barré anzeigen | ||
Flageolett und gedämpfte Noten |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Gitarre ] | [ Nach oben : Gitarre ] | [ Flageolett und gedämpfte Noten > ] |
Position und Barré anzeigen
Das Beispiel zeigt, wie man Griff- und Barréposition notieren kann.
\clef "treble_8" b16 d g b e \textSpannerDown \override TextSpanner #'(bound-details left text) = #"XII " g16\startTextSpan b16 e g e b g\stopTextSpan e16 b g d
Siehe auch
Notationsreferenz: Text mit Verbindungslinien.
Schnipsel: Fretted strings, Expressive marks.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Position und Barré anzeigen ] | [ Nach oben : Gitarre ] | [ Banjo > ] |
Flageolett und gedämpfte Noten
Besondere Notenköpfe können eingesetzt werden, um gedämpfte Noten oder Flageoletttöne anzuzeigen. Flageoletttöne werden normalerweise mit einem Text erklärt.
\relative c' { \clef "treble_8" \override Staff.NoteHead #'style = #'cross g8 a b c b4 \override Staff.NoteHead #'style = #'harmonic-mixed d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1 }
Siehe auch
Notationsreferenz: Besondere Notenköpfe, Notenkopfstile.
Schnipsel: Fretted strings.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Flageolett und gedämpfte Noten ] | [ Nach oben : Saiteninstrumente mit Bünden ] | [ Banjo-Tabulaturen > ] |
2.4.3 Banjo
Banjo-Tabulaturen |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Banjo ] | [ Nach oben : Banjo ] | [ Schlagzeug > ] |
Banjo-Tabulaturen
LilyPond hat grundlegende Unterstützung für fünfsaitige Banjo. Die Banjo-Tabulatur-Funktion sollte zum Notieren von Banjo-Tabulaturen verwendet werden, damit die richtigen Bund-Nummern für die fünfte Saite gesetzt werden:
\new TabStaff << \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo \set TabStaff.stringTunings = #banjo-open-g-tuning { \stemDown g8 d' g'\5 a b g e d' | g4 d''8\5 b' a'\2 g'\5 e'\2 d' | g4 } >>
Eine Anzahl von üblichen Stimmungen für Banjo sind in LilyPond
vordefiniert:
banjo-c-tuning
(gCGBD), banjo-modal-tuning
(gDGCD),
banjo-open-d-tuning
(aDF#AD) und banjo-open-dm-tuning
(aDFAD).
Diese Stimmungen können für das viersaitige Banjo angepasst werden,
indem die four-string-banjo
-Funktion eingesetzt wird:
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
Siehe auch
Schnipsel: Fretted strings.
Installierte Dateien: ‘scm/tablature.scm’ enthält vordefinierte Banjo-Stimmungen.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Banjo-Tabulaturen ] | [ Nach oben : Spezielle Notation ] | [ Übliche Notation für Schlagzeug > ] |
2.5 Schlagzeug
2.5.1 Übliche Notation für Schlagzeug |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Schlagzeug ] | [ Nach oben : Schlagzeug ] | [ Referenz für Schlagzeug > ] |
2.5.1 Übliche Notation für Schlagzeug
Rhythmusnotation wird vor allem für Schlaginstrumente eingesetzt, aber hiermit kann auch der Rhythmus einer Melodie dargestellt werden.
Referenz für Schlagzeug | ||
Grundlagen der Schlagzeugnotation | ||
Trommelwirbel | ||
Schlagzeug mit Tonhöhe | ||
Schlagzeugsysteme | ||
Eigene Schlagzeugsysteme | ||
Geisternoten |
Referenz für Schlagzeug
- Viele Schlagzeugmusik kann auf einem rhythmischen System notiert werden. Das wird gezeigt in Melodierhythmus anzeigen und Neue Notensysteme erstellen.
- MIDI-Ausgabe wird behandelt in Schlagzeug in MIDI.
Siehe auch
Notationsreferenz: Melodierhythmus anzeigen, Neue Notensysteme erstellen. Schlagzeug in MIDI.
Schnipsel: Percussion.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Referenz für Schlagzeug ] | [ Nach oben : Übliche Notation für Schlagzeug ] | [ Trommelwirbel > ] |
Grundlagen der Schlagzeugnotation
Schlagzeug-Noten können im \drummode
-Modus notiert werden,
der sich ähnlich verhält wie der Standardmodus für die Noteneingabe.
Am einfachsten kann der \drums
-Befehl benutzt werden, der sich
um den richtigen Kontext und Eingabemodus kümmert:
\drums { hihat4 hh bassdrum bd }
Das ist die Kurzschreibweise für:
\new DrumStaff { \drummode { hihat4 hh bassdrum bd } }
Jedes Schlagzeuginstrument hat einen langen Namen und eine Abkürzung, und beide können nebeneinander benutzt werden. Eine Liste der Notenbezeichnungen für Schlagzeug findet sich in Schlagzeugnoten.
Beachten Sie, dass normale Tonhöhen (wie cis4
) in einem
DrumStaff
-Kontext eine Fehlernachricht erzielen. Schlüssel für
Schlagzeug werden automatisch hinzugefügt, aber andere Schlüssel können
auch benutzt werden.
Es gibt einige Probleme mit der MIDI-Unterstützung für Schlagzeuginstrumente. Details finden sich in Schlagzeug in MIDI.
Siehe auch
Notationsreferenz: Schlagzeug in MIDI, Schlagzeugnoten.
Installierte Dateien: ‘ly/drumpitch-init.ly’.
Schnipsel: Percussion.
Trommelwirbel
Trommelwirbel werden mit drei Balken durch den Notenhals notiert. Für Viertelnoten oder längere Noten werden die drei Balken explizit notiert, Achtel werden mit zwei Balken gezeigt (und der dritte ist der eigentliche Balken), und Trommelwirbel mit kürzeren Werten als Achtelnoten haben einen Balken zusätzlich zu den eigentlichen Balken der Noten. Dieses Verhalten wird mit der Tremolonotation erreicht, wie in Tremolo-Wiederholung gezeigt. Hier ein Beispiel kleinerer Wirbel:
\drums { \time 2/4 sn16 sn8 sn16 sn8 sn8:32 ~ sn8 sn8 sn4:32 ~ sn4 sn8 sn16 sn16 sn4 r4 }
Benutzung der Stöcke kann angezeigt werden durch ^"R"
oder
^"L"
nach jeder Note. Die staff-padding
-Eigenschaft
kann verändert werden, um eine Orientierung an einer gemeinsamen
Linie zu ermöglichen.
\drums { \repeat unfold 2 { sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R" } }
Siehe auch
Schnipsel: Percussion.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Trommelwirbel ] | [ Nach oben : Übliche Notation für Schlagzeug ] | [ Schlagzeugsysteme > ] |
Schlagzeug mit Tonhöhe
Bestimmte Schlagzeuginstrumente mit Tonhöhe (z. B. Xylophone, vibraphone und Pauken) werden auf normalen Systemen geschrieben. Das wird in anderen Abschnitten des Handbuchs behandelt.
Siehe auch
Notationsreferenz: Schlagzeug in MIDI.
Schnipsel: Percussion.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Schlagzeug mit Tonhöhe ] | [ Nach oben : Übliche Notation für Schlagzeug ] | [ Eigene Schlagzeugsysteme > ] |
Schlagzeugsysteme
Ein Schlagzeug-System besteht üblicherweise aus einem Notensystem
mit mehreren Linien, wobei jede Linie ein bestimmtes Schlagzeug-Instrument
darstellt. Um die Noten darstellen zu können, müssen sie sich innerhalb von
einem DrumStaff
- und einem
DrumVoice
-Kontext befinden.
up = \drummode { crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat } down = \drummode { bassdrum4 snare8 bd r bd sn4 } \new DrumStaff << \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >>
Das Beispiel zeigt ausdrücklich definierte mehrstimmige Notation. Die Kurznotation für mehrstimmige Musik, wie sie im Abschnitt Ich höre Stimmen beschrieben wird, kann auch verwendet werden, wenn die Stimmen am Anfang explizit initialisiert werden.
\new DrumStaff << \new DrumVoice = "1" { s1*2 } \new DrumVoice = "2" { s1*2 } \drummode { bd4 sn4 bd4 sn4 << { \repeat unfold 16 hh16 } \\ { bd4 sn4 bd4 sn4 } >> } >>
Es gibt auch weitere Layout-Einstellungen. Um diese zu verwenden,
muss die Eigenschaft drumStyleTable
im
DrumVoice
-Kontext entsprechend eingestellt werden.
Folgende Variablen sind vordefiniert:
-
drums-style
Das ist die Standardeinstellung. Hiermit wird ein typisches Schlagzeug-System auf fünf Notenlinien erstellt.
Die Schlagzeugdefinitionen unterstützen sechs unterschiedliche Tom Toms. Falls eine geringere Anzahl verwendet wird, kann man einfach die Tom Toms auswählen, deren Notation man haben will. Tom Toms auf den drei mittleren Linien werden mit den Bezeichnungen
tommh
,tomml
undtomfh
notiert.-
timbales-style
Hiermit werden Timbale auf zwei Notenlinien gesetzt.
-
congas-style
Hiermit werden Congas auf zwei Linien gesetzt.
-
bongos-style
Hiermit werden Bongos auf zwei Linien gesetzt.
-
percussion-style
Dieser Stil ist für alle einfachen Perkussionsinstrumente auf einer Notenlinie.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Schlagzeugsysteme ] | [ Nach oben : Übliche Notation für Schlagzeug ] | [ Geisternoten > ] |
Eigene Schlagzeugsysteme
Wenn ihnen keine der vordefinierten Stile gefällt, können Sie auch eine eigene Liste der Positionen und Notenköpfe am Anfang ihrer Datei erstellen.
#(define mydrums '( (bassdrum default #f -1) (snare default #f 0) (hihat cross #f 1) (halfopenhihat cross "halfopen" 1) (pedalhihat xcircle "stopped" 2) (lowtom diamond #f 3))) up = \drummode { hh8 hh hhho hhho hhp4 hhp } down = \drummode { bd4 sn bd toml8 toml } \new DrumStaff << \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \new DrumVoice { \voiceOne \up } \new DrumVoice { \voiceTwo \down } >>
Ausgewählte Schnipsel
Hier einige Beispiele:
Zwei Holzblöcke, notiert mit wbh (hoch) und wbl (tief)
% These lines define the position of the woodblocks in the stave; % if you like, you can change it or you can use special note heads % for the woodblocks. #(define mydrums '((hiwoodblock default #t 3) (lowoodblock default #t -2))) woodstaff = { % This defines a staff with only two lines. % It also defines the positions of the two lines. \override Staff.StaffSymbol #'line-positions = #'(-2 3) % This is neccessary; if not entered, the barline would be too short! \override Staff.BarLine #'bar-size = #3 } \new DrumStaff { \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) % with this you load your new drum style table \woodstaff \drummode { \time 2/4 wbl8 wbl16 wbl wbh8-> wbl | wbl8 wbl16 wbh-> ~ wbh wbl16 r8 | } }
In diesem Spezialfalls muss die Länge der Taktlinie mit
\override Staff.BarLine #'bar-size #number
angepasst werden.
Andernfalls wäre sie zu kurz. Die Position der beiden Linien muss
auch definiert werden.
Tamburin, notiert mit tamb
:
#(define mydrums '((tambourine default #t 0))) tambustaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 ) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Tambourine" } \new DrumStaff { \tambustaff \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drummode { \time 6/8 tamb8. tamb16 tamb8 tamb tamb tamb | tamb4. tamb8 tamb tamb | % the trick with the scaled duration and the shorter rest % is neccessary for the correct ending of the trill-span! tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan | } }
Noten für Tam-Tam (notiert mit tt
):
#(define mydrums '((tamtam default #t 0))) tamtamstaff = { \override Staff.StaffSymbol #'line-positions = #'( 0 ) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Tamtam" } \new DrumStaff { \tamtamstaff \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drummode { tt 1 \pp \laissezVibrer } }
Zwei Glocken, notiert mit cb
(Kuhglocke) und rb
(Reisterglocke)
#(define mydrums '((ridebell default #t 3) (cowbell default #t -2))) bellstaff = { \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3) \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \override Staff.BarLine #'bar-size = #3 \set DrumStaff.instrumentName = #"Different Bells" } \new DrumStaff { \bellstaff \drummode { \time 2/4 rb8 rb cb cb16 rb-> ~ | rb16 rb8 rb16 cb8 cb | } }
Hier ein kurzes Beispiel von Stravinsky (aus „L’histoire du Soldat“):
#(define mydrums '((bassdrum default #t 4) (snare default #t -4) (tambourine default #t 0))) global = { \time 3/8 s4. \time 2/4 s2*2 \time 3/8 s4. \time 2/4 s2 } drumsA = { \context DrumVoice << { \global } { \drummode { \autoBeamOff \stemDown sn8 \stemUp tamb s8 | sn4 \stemDown sn4 | \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 | \stemDown sn8 \stemUp tamb s8 | \stemUp sn4 s8 \stemUp tamb } } >> } drumsB = { \drummode { s4 bd8 s2*2 s4 bd8 s4 bd8 s8 } } \layout { indent = #40 } \score { \new StaffGroup << \new DrumStaff { \set DrumStaff.instrumentName = \markup { \column { "Tambourine" "et" "caisse claire s. timbre" } } \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsA } \new DrumStaff { \set DrumStaff.instrumentName = #"Grosse Caisse" \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums) \drumsB } >> }
Siehe auch
Schnipsel: Percussion.
Referenz der Interna: DrumStaff, DrumVoice.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Eigene Schlagzeugsysteme ] | [ Nach oben : Übliche Notation für Schlagzeug ] | [ Blasinstrumente > ] |
Geisternoten
Geisternoten für Schlagzeug und Perkussion können mit dem
Klammer- (\parenthesize
)-Befehl, beschrieben in Klammern,
erstellt werden. Im Standard-\drummode
-Modus ist aber
das Parenthesis_engraver
-Plugin nicht automatisch enthalten.
\new DrumStaff \with { \consists "Parenthesis_engraver" } << \context DrumVoice = "1" { s1 } \context DrumVoice = "2" { s1 } \drummode { << { hh8[ hh] <hh sn> hh16 < \parenthesize sn > hh < \parenthesize sn > hh8 <hh sn> hh } \\ { bd4 r4 bd8 bd r8 bd } >> } >>
Um jede Klammer-Definition (\parenthesize
) müssen
zusätzlich die spitzen
Klammern für Akkorde (< >
) gesetzt werden.
Siehe auch
Schnipsel: Percussion.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Geisternoten ] | [ Nach oben : Spezielle Notation ] | [ Übliche Notation für Bläser > ] |
2.6 Blasinstrumente
Dieser Abschnitt beinhaltet einige Notationselemente, die bei der Notation von Blasinstrumenten auftreten.
2.6.1 Übliche Notation für Bläser | ||
2.6.2 Dudelsack |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Blasinstrumente ] | [ Nach oben : Blasinstrumente ] | [ Referenz für Blasinstrumente > ] |
2.6.1 Übliche Notation für Bläser
Dieser Abschnitt erklärt Eigenheiten, die für die meisten Blasinstrumente gültig sind.
Referenz für Blasinstrumente | ||
Fingersatz |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Übliche Notation für Bläser ] | [ Nach oben : Übliche Notation für Bläser ] | [ Fingersatz > ] |
Referenz für Blasinstrumente
Viele Besonderheiten der Blasinstrumentenotation haben mit Atmung und Spielart zu tun:
- Atmung kann durch Pausen oder mit Atemzeichen angezeigt werden,, siehe Atemzeichen.
- Legato kann durch Legatobögen angezeigt werden, siehe Legatobögen.
- Unterschiedliche Artikulationen, Legato, Portato, Staccato, werden normalerweise mit Artikulationszeichen angemerkt, teilweise auch in Verbindung mit Legatobögen, siehe Artikulationszeichen und Verzierungen und Liste der Arktikulationszeichen.
- Flatterzunge wird angezeigt, indem ein Tremolozeichen und eine Anmerkung für die ensprechende Note gesetzt wird. Siehe Tremolo-Wiederholung.
Es gibt auch noch weitere Aspekte der Notation, die für Blasinstrumente relevant sein können:
- Viele Instrumente sind transponierend, siehe Transposition von Instrumenten.
- Das Zug-Glissando ist charakteristisch für die Posaune, aber auch andere Instrumente können Glissandos ausführen. Siehe Glissando.
- Obertonreihenglissandi, die auf allen Blechblasinstrumenten möglich, aber besonders üblich für das Waldhorn sind, werden üblicherweise mit Verzierungsnoten geschrieben. Siehe Verzierungen.
- Tonhöhenschwankungen am Ende eines Tons werden gezeigt in Glissando zu unbestimmter Tonhöhe.
- Ventil- oder Klappenschläge werden oft als Kreuznoten dargestellt, siehe Besondere Notenköpfe.
- Holzbläser können tiefe Noten überblasen. Derartige Noten
werden als
flageolet
-Artikulation notiert. Siehe Liste der Arktikulationszeichen. - Die Benutzung von Dämpfern für Blechblasinstrumente wird meistens
durch Text gefordert, aber bei schnellem Wechsel bietet es sich an,
die Artikulationszeichen
stopped
undopen
zu benutzen. Siehe Artikulationszeichen und Verzierungen und Liste der Arktikulationszeichen. - Gestopfte Hörner werden mit dem
stopped
-Artikulationszeichen notiert. Siehe Artikulationszeichen und Verzierungen.
Ausgewählte Schnipsel
\flageolet-Zeichen verkleinern
Um den \flageolet
-Kreis kleiner zu machen, kann diese
Scheme-Funktion eingesetzt werden.
smallFlageolet = #(let ((m (make-articulation "flageolet"))) (set! (ly:music-property m 'tweaks) (acons 'font-size -3 (ly:music-property m 'tweaks))) m) \layout { ragged-right = ##f } \relative c'' { d4^\flageolet_\markup { default size } d_\flageolet c4^\smallFlageolet_\markup { smaller } c_\smallFlageolet }
Siehe auch
Notationsreferenz: Atemzeichen, Legatobögen, Artikulationszeichen und Verzierungen, Liste der Arktikulationszeichen, Tremolo-Wiederholung, Transposition von Instrumenten, Glissando, Verzierungen, Glissando zu unbestimmter Tonhöhe, Besondere Notenköpfe,
Schnipsel: Winds.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Referenz für Blasinstrumente ] | [ Nach oben : Übliche Notation für Bläser ] | [ Dudelsack > ] |
Fingersatz
Alle Blasinstrumente außer der Posaune benötigen mehrere Finger, um verschiedene Tonhöhen zu produzieren.
Ausgewählte Schnipsel
Fingering symbols for wind instruments
Special symbols can be achieved by combining existing glyphs, which is useful for wind instruments.
centermarkup = { \once \override TextScript #'self-alignment-X = #CENTER \once \override TextScript #'X-offset =#(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))) } \score {\relative c' { g\open \once \override TextScript #'staff-padding = #-1.0 \centermarkup g^\markup{\combine \musicglyph #"scripts.open" \musicglyph #"scripts.tenuto"} \centermarkup g^\markup{\combine \musicglyph #"scripts.open" \musicglyph #"scripts.stopped"} g\stopped } }
Recorder fingering chart
The following example demonstrates how fingering charts for wind instruments can be realized.
% range chart for paetzold contrabass recorder centermarkup = { \once \override TextScript #'self-alignment-X = #CENTER \once \override TextScript #'X-offset =#(ly:make-simple-closure `(,+ ,(ly:make-simple-closure (list ly:self-alignment-interface::centered-on-x-parent)) ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self)))) } \score { \new Staff \with { \remove "Time_signature_engraver" \override Stem #'stencil = ##f \consists "Horizontal_bracket_engraver" } { \clef bass \set Score.timing = ##f f,1*1/4 \glissando \clef violin gis'1*1/4 \stemDown a'4^\markup{1)} \centermarkup \once \override TextScript #'padding = #2 bes'1*1/4_\markup{\override #'(baseline-skip . 1.7) \column { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 3 \finger 4 \finger 5 \finger 6 \finger 7} } b'1*1/4 c''4^\markup{1)} \centermarkup \once \override TextScript #'padding = #2 cis''1*1/4 deh''1*1/4 \centermarkup \once \override TextScript #'padding = #2 \once \override Staff.HorizontalBracket #'direction = #UP e''1*1/4_\markup{\override #'(baseline-skip . 1.7) \column { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 4 \finger 5} }\startGroup f''1*1/4^\markup{2)}\stopGroup } }
Siehe auch
Snippets: Winds.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Fingersatz ] | [ Nach oben : Blasinstrumente ] | [ Dudelsack-Defintionen > ] |
2.6.2 Dudelsack
Dieser Abschnitt beinhaltet Information zur Notation von Dudelsackmusik.
Dudelsack-Defintionen | ||
Dudelsack-Beispiele |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Dudelsack ] | [ Nach oben : Dudelsack ] | [ Dudelsack-Beispiele > ] |
Dudelsack-Defintionen
LilyPond besitzt spezielle Definitionen, mit der die Musik des schottischen Hochland-Dudelsacks notiert wird. Um sie zu benutzen, muss
\include "bagpipe.ly"
am Anfang der LilyPond-Quelldatei eingefügt werden. Hierdurch
können dann bestimmte Verzierungsnoten, die für die Dudelsackmusik
üblich sind, mit kurzen Befehlen eingefügt werden. So reicht etwa der
Befehl \taor
, anstatt
\grace { \small G32[ d G e] }
zu schreiben.
bagpipe.ly
enthält außerdem Definitionen für Tonhöhen von
Dudelsacknoten in bestimmten Oktaven, so dass man sich nicht mehr um
\relative
oder \transpose
kümmern muss.
\include "bagpipe.ly" { \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }
Musik für den Dudelsack wird in D-Dur
geschrieben (auch wenn das eigentlich nicht stimmt). Weil
das aber die einzige Tonart ist, die benutzt werden kann, werden
die Vorzeichen meistens nicht geschrieben. Damit das funktioniert,
müssen die Noten immer mit \hideKeySignature
beginnen.
Wenn die Vorzeichen hingegen angezeigt werden sollen, kann das
mithilfe des Befehls \showKeySignature
vorgenommen werden.
Einige moderne Dudelsacknoten benutzen halbe Finger auf c und f, um
diese Noten zu erniedrigen. Das kann angezeigt werden mit cflat
bzw. fflat
. Gleicherweise kann das piobaireachd hohe g als
gflat
geschrieben werden, wenn es in leichter Musik vorkommt.
Siehe auch
Schnipsel: Winds.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Dudelsack-Defintionen ] | [ Nach oben : Dudelsack ] | [ Notation von Akkorden > ] |
Dudelsack-Beispiele
So sieht die bekannte Melodie Amazing Grace aus, wenn man sie für Dudelsack notiert.
\include "bagpipe.ly" \layout { indent = 0.0\cm \context { \Score \remove "Bar_number_engraver" } } \header { title = "Amazing Grace" meter = "Hymn" arranger = "Trad. arr." } { \hideKeySignature \time 3/4 \grg \partial 4 a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 \grg e8. f16 \dblA A2 \grg A4 \grg A2 f8. A16 \grg A2 \hdblf f8[ e32 d16.] \grg f2 \grg f8 e \thrwd d2 \grg b4 \grG a2 \grg a8. d16 \slurd d2 \grg f8[ e32 d16.] \grg f2 e4 \thrwd d2. \slurd d2 \bar "|." }
Siehe auch
Schnipsel: Winds.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Dudelsack-Beispiele ] | [ Nach oben : Spezielle Notation ] | [ Akkord-Modus > ] |
2.7 Notation von Akkorden
Akkorde können entweder als normale Noten oder im Akkordmodus notiert werden; bei letztere Eingabemethode können unterschiedliche europäische Akkordbezeichnungsstile eingesetzt werden. Akkordbzeichnungen und Generalbass können auch angezeigt werden.
2.7.1 Akkord-Modus | ||
2.7.2 Akkorde anzeigen | ||
2.7.3 Generalbass |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Notation von Akkorden ] | [ Nach oben : Notation von Akkorden ] | [ Überblick über den Akkord-Modus > ] |
2.7.1 Akkord-Modus
Im Akkordmodus (engl. „chord“) werden Akkorde anhand von einem Symbol der erwünschten Akkordstruktur notiert, anstatt dass die einzelnen Tonhöhen ausgeschrieben werden.
Überblick über den Akkord-Modus | ||
Übliche Akkorde | ||
Erweiterte und modifizierte Akkorde |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Akkord-Modus ] | [ Nach oben : Akkord-Modus ] | [ Übliche Akkorde > ] |
Überblick über den Akkord-Modus
Akkorde können als simultane Noten eingegeben werden, wie gezeigt in Noten mit Akkorden.
Akkorde können aber auch im Akkordmodus notiert werden. Das ist ein Eingabemodus, der sich an Akkordstrukturen traditioneller europäischer Musik und nicht an bestimmten einzelnen Tonhöhen orientiert. Er bietet sich an, wenn man es gewohnt ist, Akkordsymbole zur Beschreibung von Akkorden zu benutzen. Mehr Information zu unterschiedlichen Eingabemethoden findet sich in Eingabe-Modi.
\chordmode { c1 g a g c }
Akkorde, die im Akkordmodus eingegeben werden, sind musikalische
Elemente und können genauso wie Akkorde im Notenmodus
transponiert werden. \chordmode
ist absolut, und deshalb
hat \relative
keine Auswirkung auf die \chordmode
-Abschnitte.
Im Akkord-Modus ist jedoch die absolute Tonhöhe eine Oktave höher
als im Notationsmodus.
Akkordmodus und Notenmodus können gemischt verwendet werden:
<c e g>2 <g b d> \chordmode { c2 f } <c e g>2 <g' b d> \chordmode { f2 g }
Siehe auch
Glossar: chord.
Notationsreferenz: Noten mit Akkorden, Eingabe-Modi.
Schnipsel: Chords.
Bekannte Probleme und Warnungen
Wenn Akkord- und Notenmodus in linearer Musik abwechseln eingesetzt werden und der Akkordmodus am Anfang steht, erstellt der Notenmodus ein neues Notensyste:
\chordmode { c2 f } <c e g>2 <g' b d>
Um dieses Verhalten zu verhindert, muss der Staff
-Kontext
explizit aufgerufen werden:
\new Staff { \chordmode { c2 f } <c e g>2 <g' b d> }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Überblick über den Akkord-Modus ] | [ Nach oben : Akkord-Modus ] | [ Erweiterte und modifizierte Akkorde > ] |
Übliche Akkorde
Ein Dreiklang wird mit seinem Grundton mit einer möglichen Dauer dahinter notiert:
\chordmode { c2 f4 g }
Moll- übermäßige und verminderte Dreiklänge werden notiert, indem
:
und ein Modifikator hinter der Dauer angegeben wird:
\chordmode { c2:m f4:aug g:dim }
Septakkorde können erstellt werden:
\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }
Diese Tabelle zeigt die Funktion der Modifikatoren von Dreiklängen und Septakkorden. Die siebte Stufe wird standardmäßig als kleine Septime realisiert, sodass der Dominantseptakkord die Grundform des Septakkordes darstellt. Alle Alterationen sind relativ zur Dominantsept. Eine vollständigere Tabelle findet sich in Übliche Akkord-Variablen.
Modifikator | Funktion | Beispiel |
Kein | Standard: erzeugt einen Durdreiklang. | |
m, m7 | Mollakkord: Dieser Modifikator erniedrigt die dritte Stufe. | |
dim, dim7 | Verminderter Akkord: Dieser Modifikator erniedrigt die dritte, fünfte und (wenn vorhanden) die siebte Stufe. | |
aug | Übermäßiger Akkord: Dieser Modifikator erhöht die fünfte Stufe. | |
maj, maj7 | Großer Septakkord: Dieser Modifikator fügt eine erhöhte siebe
Stufe hinzu. |
Siehe auch
Notationsreferenz: Übliche Akkord-Variablen, Erweiterte und modifizierte Akkorde.
Schnipsel: Chords.
Bekannte Probleme und Warnungen
Nur ein Qualitätsmodifikator sollte pro Akkord benutzt werden, meistens für die höchste Stufe des Akkordes. Akkorde mit weiteren Qualitätsmodifikatoren werden ohne Warnung oder Fehlermeldung gelesen, aber das Ergebnis ist nicht vorhersagbar. Akkorde, die nicht mit einem einzigen Qualitätsmodifikator erreicht werden können, sollten mit einzelnen Tonhöhen alteriert werden, wie beschrieben in Erweiterte und modifizierte Akkorde.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Übliche Akkorde ] | [ Nach oben : Akkord-Modus ] | [ Akkorde anzeigen > ] |
Erweiterte und modifizierte Akkorde
Akkordstrukturen können im Akkordmodus beliebig komplex konstruiert werden. Die Modifikatoren können benutzt werden, um den Akkord zu erweitern, bestimmte Stufen hinzuzufügen oder zu entfernen, Stufen zu erhöhen oder zu erniedrigen und Bassnoten hinzuzufügen bzw. Umgkehrungen zu erzeugen.
Die erste Zahl, die auf den Doppelpunkt folgt, wird als „Bereich“ des Akkordes interpretiert: Terzen werden auf dem Grundton gestapelt, bis die angegebene Zahl (=Tonstufe) erreicht ist. Die siebte Stufe, die zu einem Akkord hinzugefügt wird, ist die kleine Septime, nicht die große. Wenn der Bereich keine Terz ist (also etwa 6), dann werden Terzen bis zur höchst möglichen Terz unter dem Bereich gestapelt, und der Endton des Bereichs wird hinzugefügt. Der größtmögliche Wert ist 13. Jeder größere Werte wird als 13 interpretiert.
\chordmode { c1:2 c:3 c:4 c:5 c1:6 c:7 c:8 c:9 c1:10 c:11 c:12 c:13 c1:14 }
Sowhohl c:5
als auch c
erzeugen einen D-Dur-Dreiklang.
Da eine unveränderte 11 nicht gut klingt, wenn sie mit einer
unveränderten 13 zusammenklingt, wird die 11 von einem :13
-Akkord
entfernt (es sei denn sie wird explizit verlangt).
\chordmode { c1:13 c:13.11 c:m13 }
Kompliziertere Akkorde können auch konstruiert werden, indem einzelne Intervalle zu dem Grundton addiert werden. Diese Additionen werden nach dem Bereich notiert und mit Punkten voneinander getrennt. Die normale Septime, die zu einem Akkord hinzugefügt wird, ist die kleine Septime, nicht die große.
\chordmode { c1:5.6 c:3.7.8 c:3.6.13 }
Hinzugefügte Stufen können beliebig groß sein:
\chordmode { c4:5.15 c:5.20 c:5.25 c:5.30 }
Einzelne Stufen können mit -
oder +
vergrößert
oder verkleinert werden. Um eine Stufe zu verändert, die automatisch
in den Akkord aufgenommen wurde, kann sie in veränderter Form
nach dem Bereich hinzugefügt werden.
\chordmode { c1:7+ c:5+.3- c:3-.5-.7- }
Zu entfernende Töne werden mit der gleichen Methode notiert,
allerdings mit einem Dach (^
) vor der Sequenz, die
nicht erscheinen soll. Sie müssen nach den zu addierenden
Tönen notiert werden. Die einzelnen zu entfernenden Töne werden
mit Punkten getrennt.
\chordmode { c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7 }
Sekund- und Quartakkorde können mit dem Modifikator sus
notiert werden. Hiermit wird die dritte Stufe aus dem Akkord
entfernt. Mit einer anschließenden 2
wird die zweite, mit
einer 4
die vierte Stufe hinzugefügt. sus
entspricht
^3
und sus4
ist gleich .4^3
.
\chordmode { c1:sus c:sus2 c:sus4 c:5.4^3 }
Eine Umkehrung (ein Ton des Akkordes wird unter den Grundton gesetzt)
sowie auch zusätzliche Bassnoten können mit dem Schrägstrich (/
) markiert
werden:
\chordmode { c1 c/g c/f }
Eine Bassnote, die zum Akkord hinzugehört, kann hinzugefügt werden, anstatt dass sie aus dem Akkord entnommen wird, indem noch ein Plus zwischen den Schrägstrich und die Tonhöhe gesetzt wird:
\chordmode { c1 c/g c/+g }
Akkordmodifikatoren, die benutzt werden können, um eine große Anzahl an Standardakkorden zu erzeugen, werden gezeigt in Übliche Akkord-Variablen.
Siehe auch
Notationsreferenz: Übliche Akkord-Variablen.
Schnipsel: Chords.
Bekannte Probleme und Warnungen
Jede Stufe kann nur einmal in einem Akkord vorkommen.
Im folgenden Beispiel wird ein erweiterter Akkord erstellt,
weil 5+
zuletzt gelesen wird.
\chordmode { c:5.5-.5+ }
Nur die zweite Umkehrung kann erstellt werden, indem eine Bassnote hinzugefügt wird. Die erste Umkehrung erfordert, dass der Grundton des Akkordes geändert wird.
\chordmode { c'1: c':/g e:6-3-^5 e:m6-^5 }
2.7.2 Akkorde anzeigen
Akkorde können zusätzlich zur üblichen Notation als Töne auf einem Notensystem auch mit einem Akkordsymbol gesetzt werden.
Akkordbezeichnungen drucken | ||
Akkordbezeichnungen anpassen |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Akkorde anzeigen ] | [ Nach oben : Akkorde anzeigen ] | [ Akkordbezeichnungen anpassen > ] |
Akkordbezeichnungen drucken
Akkordsymbole anstelle der Noten werde im ChordNames
-Kontext
notiert.
\new ChordNames { \chordmode { c2 f4. g8 } }
Die Akkorde können entweder als simultane Noten oder unter Einsatz
des Akkordmodus (chordmode
) notiert werden. Der angezeigte
Akkord ist der gleiche, es sei denn, Umgkehrungen oder zusätzliche
Basstöne werden notiert:
<< \new ChordNames { <c e g>2 <f bes c> <f c' e g>1 \chordmode { c2 f:sus4 c1:/f } } { <c e g>2 <f bes c> <f, c' e g>1 \chordmode { c2 f:sus4 c1:/f } } >>
Pausen, die in einem ChordNames
-Kontext notiert werden, werden
mit der noChordSymbol
-Beschriftung darstellt.
<< \new ChordNames \chordmode { c1 r1 g1 c1 } \new Score \chordmode { c1 r1 g1 c1 } >>
\chords { ... }
ist eine Kurznotation für die Bezeichnung
\new ChordNames { \chordmode { ... } }
.
\chords { c2 f4.:m g8:maj7 }
\new ChordNames { \chordmode { c2 f4.:m g8:maj7 } }
Ausgewählte Schnipsel
Akkordsymbole bei Wechsel anzeigen
Akkordsymbole können so eingestellt werden, dass sie nur zu Beginn der Zeile und bei Akkordwechseln angezeigt werden.
harmonies = \chordmode { c1:m c:m \break c:m c:m d } << \new ChordNames { \set chordChanges = ##t \harmonies } \new Staff { \relative c' { \harmonies } } >>
Ein einfaches Liedblatt
Ein Liedblatt besteht aus Akkordbezeichnungen, einer Melodie und dem Liedtext:
<< \chords { c2 g:sus4 f e } \relative c'' { a4 e c8 e r4 b2 c4( d) } \addlyrics { One day this shall be free __ } >>
Siehe auch
Glossar: chord.
Notationsreferenz: Musik parallel notieren.
Schnipsel: Chords.
Referenz der Interna: ChordNames, ChordName, Chord_name_engraver, Volta_engraver, Bar_engraver.
Bekannte Probleme und Warnungen
Akkorde, die Umkehrungen oder zusätzliche Basstöne beinhalten, werden nicht richtig bezeichnet, wenn sie im Notenmodus notiert werden.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Akkordbezeichnungen drucken ] | [ Nach oben : Akkorde anzeigen ] | [ Generalbass > ] |
Akkordbezeichnungen anpassen
Es gibt kein allein gültiges System zur Benennung von Akkorden. Unterschiedliche Musiktraditionen benutzen unterschiedliche Bezeichnungen für die gleichen Akkorde. Es gibt zusätzlich auch unterschiedliche Symbole, die für den gleichen Akkord angezeigt werden können. Die Bezeichnungen und dargestellten Symbole können angepasst werden.
Die Standardeinstellungen für die Symbole entsprechen den Konventionen im Jazz, wie sie von Klaus Ignatzek (siehe Literatur). vorgeschlagen wurden. Das Benennungssystem für die Akkorde kann verändert werden, wie weiter unten gezeigt wird. Ein alternatives Notationssystem für Jazzakkorde ist auch erhältlich. Die Ignatzek und die alternative Jazznotation finden sich in der Tabelle in Liste der Akkordbezeichnungen.
Zusätzlich zu den unterschiedlichen Bezeichnungssystemen werden
unterschiedliche Notenbezeichnungen für die Grundtöne.
Die vordefinierten Befehle \germanChords
,
\semiGermanChords
, \italianChords
und \frenchChords
setzen diese Variablen. Die Auswirkungen werden im nächsten Beispiel
gezeigt.
Wenn keine der definierten Einstellungen zum gewünschten Ergebnis führt, kann die Anzeige des Akkordsymbols durch die folgenden Eigenschaften verändert werden:
-
chordRootNamer
-
Das Akkordsymbol wird normalerweise als Buchstabe des Grundtons mit optionaler Alteration dargestellt. Die Interpretation einer Tonhöhe als Buchstabe wird von der
chordRootNamer
-Funktion übernommen. Besondere Bezeichnungen, wie etwa im Deutschen H für einen H-Dur-Akkord (und nicht „B“ wie im Englischen), können durch Hinzufügen einer neuen Funktion zu dieser Eigenschaft erstellt werden. -
majorSevenSymbol
-
Mit dieser Eigenschaft wird das Aussehen der Notation für die große Septime (7) bestimmt. Vordefiniert sind die Optionen
whiteTriangleMarkup
undblackTriangleMarkup
. -
chordNoteNamer
-
Wenn das Akkordsymbol zusätzliche Tonhöhen enthält, die nicht den Grundton darstellen (etwa eine zusätzliche Bassnote), wird diese Funktion eingesetzt, um die zusätzliche Tonhöhe auszugeben. In den Standardeinstellungen wird die Tonhöhe mit der
chordRootNamer
-Funktion gesetzt. DiechordNoteNamer
-Eigenschaft hingegen kann dieses Verhalten verändern und etwa den Basston etwa als Kleinbuchstaben darstellen. -
chordNameSeparator
-
Verschiedene Teile eines Akkordsymboles werden normalerweise durch einen Schrägstrich markiert. Indem
chordNameSeparator
ein anderer Wert zugewiesen wird, kann ein beliebiges Zeichen für den Trenner benutzt werden. -
chordNameExceptions
-
Diese Funktion ist eine Liste mit Paaren. Das erste Objekt eines Paares ist eine Anzahl von Tonhöhen, die die Stufen eines Akkordes definieren. Das zweite Objekt ist eine Beschriftung, die nach
chordRootNamer
ausgegeben wird, um das Akkordsymbol zu erstellen. -
chordPrefixSpacer
-
Das „m“ für Moll-Akkorde wird normalerweise direkt hinter dem Akkordbuchstaben gesetzt. Mit der Eigenschaft
chordPrefixSpacer
kann ein Abstand(halter) zwischen den Buchstaben und das „m“ gesetzt werden. Der Abstandhalter wird nicht verwendet, wenn der Grundton erhöht oder erniedrigt ist.
Vordefinierte Befehle
\whiteTriangleMarkup
,
\blackTriangleMarkup
,
\germanChords
,
\semiGermanChords
,
\italianChords
,
\frenchChords
.
Ausgewählte Schnipsel
Akkordsymbolausnahmen
Die Eigenschaft chordNameExceptions
kann benutzt werden, um eine
Liste an besonderen Notationen für bestimmte Akkorde zu speichern.
% modify maj9 and 6(add9) % Exception music is chords with markups chExceptionMusic = { <c e g b d'>1-\markup { \super "maj9" } <c e g a d'>1-\markup { \super "6(add9)" } } % Convert music to list and prepend to existing exceptions. chExceptions = #( append ( sequential-music-to-chord-exceptions chExceptionMusic #t) ignatzekExceptions) theMusic = \chordmode { g1:maj9 g1:6.9 \set chordNameExceptions = #chExceptions g1:maj9 g1:6.9 } \layout { ragged-right = ##t } << \context ChordNames \theMusic \context Voice \theMusic >>
Akkordbezeichnung maj7
Das Aussehen des großen Septakkords kann mit majorSevenSymbol
verändert werden.
\chords { c:7+ \set majorSevenSymbol = \markup { j7 } c:7+ }
Tatkstriche in einen ChordNames-Kontext hinzufügen
Um Taktstriche in einem ChordNames
-Kontext anzeigen zu lassen, muss der
Bar_engraver
hinzugefügt werden.
\new ChordNames \with { \override BarLine #'bar-size = #4 \consists "Bar_engraver" } \chordmode { f1:maj7 f:7 bes:7 }
Wiederholungs-(Volta-)Klammern unterhalb der Akkordsymbole
Indem man den Volta_engraver
zu dem entsprechenden Notensystem
hinzufügt, können Wiederholungsklammern unterhalb der Akkorde gesetzt
werden.
\score { << \chords { c1 c1 } \new Staff \with { \consists "Volta_engraver" } { \repeat volta 2 { c'1 } \alternative { c' } } >> \layout { \context { \Score \remove "Volta_engraver" } } }
Akkordsymboltrenner verändern
Der Trenner zwischen unterschiedlichen Teilen eines Akkordsymbols kann beliebeiger Text sein.
\chords { c:7sus4 \set chordNameSeparator = \markup { \typewriter | } c:7sus4 }
Siehe auch
Notationsreferenz: Liste der Akkordbezeichnungen, Übliche Akkord-Variablen.
Installierte Dateien: ‘scm/chords-ignatzek.scm’, ‘scm/chord-entry.scm’, ‘ly/chord-modifier-init.ly’.
Schnipsel: Chords.
Bekannte Probleme und Warnungen
Akkordsymbole werden von den Tonhöhenbezeichnungen innerhalb des
Akkordes und der Information über die Akkordstruktur, die innerhalb
von \chordmode
notiert wurde, bestimmt. Wenn der direkte
Notenmodus benutzt wird, stammen unerwünschte Bezeichnungen daher,
dass Umgkehrungen und zustätzliche Bassnoten nicht richtig
interpretiert werden.
myChords = \relative c' { \chordmode { c1 c/g c/f } <c e g>1 <g c e> <f c' e g> } << \new ChordNames { \myChords } \new Staff { \myChords } >>
2.7.3 Generalbass
Generalbassnotation kann dargestellt werden.
Grundlagen des Bezifferten Basses | ||
Eingabe des Generalbass’ | ||
Generalbass anzeigen |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Generalbass ] | [ Nach oben : Generalbass ] | [ Eingabe des Generalbass' > ] |
Grundlagen des Bezifferten Basses
LilyPond stellt Unterstützung für Generalbassnotation, auch als Basso Continuo bezeichnet, zur Verfügung.
<< \new Voice { \clef bass dis4 c d ais g fis} \new FiguredBass { \figuremode { < 6 >4 < 7\+ >8 < 6+ [_!] > < 6 >4 <6 5 [3+] > < _ >4 < 6 5/>4 } } >>
Die Unterstützung für Generalbass besteht aus zwei Teilen: Es gibt
einen Eingabe-Modus, aktiviert durch den Befehl \figuremode
,
in dem Ziffern für den Bass als Nummern eingegeben werden können,
und einen Kontext FiguredBass
, der dafür sorgt, dass die
entsprechenden BassFigure
-Objekte auch erstellt werden.
Generalbass kann auch in einem Staff
-Kontext dargestellt
werden.
\figures{ ... }
ist eine Kurznotation für
\new FiguredBass { \figuremode { ... } }
.
Auch wenn die Unterstützung für Generalbass auf den ersten Blick
wie die Akkordunterstützung ausschauen mag, ist sie sehr viel
einfacher. \figuremode
speichert einfach die Zahlen und der
FiguredBass
-Kontext setzt sie in der Form, wie sie notiert
wurden. Sie werden nicht in Tonhöhen umgewandelt.
Siehe auch
Glossar: figured bass.
Schnipsel: Chords.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Grundlagen des Bezifferten Basses ] | [ Nach oben : Generalbass ] | [ Generalbass anzeigen > ] |
Eingabe des Generalbass’
\figuremode
(Zahlenmodus) wird benutzt, um den Eingabemodus
auf den Zahlenmodus umzustellen. Mehr Information zu unterschiedlichen
Eingabemodi findet sich in Eingabe-Modi.
Im Zahlenmodus wird eine Gruppe von Bassziffern mit den Zeichen
<
and >
begrenzt. Die Dauer wird nach dem >
-Zeichen
eingegeben.
\new FiguredBass { \figuremode { <6 4>2 } }
Versetzungszeichen (inklusive Auflösungszeichen) können hinzugefügt werden:
\figures { <7! 6+ 4-> <5++> <3--> }
Übermäßige und verminderte Stufen können dargestellt werden:
\figures { <6\+ 5/> <7/> }
Ein Schrägstrich von links nach rechts (üblicherweise für erhöhte Sexten benutzt) kann erstellt werden:
\figures { <6> <6\\> }
Vertikaler Platz und Klammern können zu den Zahlen hinzugefügt werden:
\figures { <[12 _!] 8 [6 4]> }
Beliebiger Text kann als Zahl notiert werden:
\figures { <\markup { \tiny \number 6 \super (1) } 5> }
Es ist auch möglich, Fortsetzungslinien für wiederholte Ziffern zu benutzen.
<< { \clef bass e4 d c b, e4 d c b, } \figures { \bassFigureExtendersOn <6 4>4 <6 3> <7 3> <7 3> \bassFigureExtendersOff <6 4>4 <6 3> <7 3> <7 3> } >>
In diesem Fall werden wiederholte Ziffern immer durch eine Linie ersetzt, es sei denn, die Linie wird explizit beendet.
<< \figures { \bassFigureExtendersOn <6 4>4 <6 4> <6\! 4\!> <6 4> } { \clef bass d4 d c c } >>
Die folgende Tabelle zeigt die vorhandenen Zahlenmodifikatoren:
Modifier | Purpose | Example |
+, -, ! | Accidentals | |
\+, / | Augmented and diminished steps | |
\\ | Raised sixth step | |
\! | End of continuation line |
Vordefinierte Befehle
\bassFigureExtendersOn
,
\bassFigureExtendersOff
.
Ausgewählte Schnipsel
Positionen von Generalbass-Alterationszeichen verändern
Versetzungszeichen und Pluszeichen können vor oder nach den Ziffern erscheinen,
je nach den Einstellungen der figuredBassAlterationDirection
und
figuredBassPlusDirection
-Eigenschaften.
\figures { <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #RIGHT <6\+> <5+> <6 4-> r \set figuredBassPlusDirection = #RIGHT <6\+> <5+> <6 4-> r \set figuredBassAlterationDirection = #LEFT <6\+> <5+> <6 4-> r }
Siehe auch
Schnipsel: Chords.
Referenz der Interna: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Eingabe des Generalbass' ] | [ Nach oben : Generalbass ] | [ Notation von alter Musik > ] |
Generalbass anzeigen
Generalbass kann mit dem FiguredBass
-Kontext, aber auch in
den meisten anderen Staff
-Kontexten dargestellt werden.
Wenn die Ziffern im FiguredBass
-Kontext dargestellt werden,
ist die vertikale Position der Ziffern unabhängig von den Noten
des paralellen Systems.
<< \relative c'' { c4 c'8 r8 c,4 c' } \new FiguredBass { \figuremode { <4>4 <10 6>8 s8 <6 4>4 <6 4> } } >>
In diesem Beispiel muss der FiguredBass
-Kontext explizit
erstellt werden, damit kein zusätzliches (leeres) Notensystem
erstellt wird.
Bassziffern können auch direkt einem Notensystemkontext (Staff
)
hinzugefügt werden. In diesem Fall wird ihre vertikale Position automatisch
bestimmt.
<< \new Staff = myStaff \figuremode { <4>4 <10 6>8 s8 <6 4>4 <6 4> } %% Put notes on same Staff as figures \context Staff = myStaff { \clef bass c4 c'8 r8 c4 c' } >>
Wenn Generalbass zu einem vorhandenen System hinzugefügt wird, ist es möglich, die Ziffern über oder unter dem System anzuzeigen:
<< \new Staff = myStaff \figuremode { <4>4 <10 6>8 s8 \bassFigureStaffAlignmentDown <6 4>4 <6 4> } %% Put notes on same Staff as figures \context Staff = myStaff { \clef bass c4 c'8 r8 c4 c' } >>
Schnipsel: Chords.
Referenz der Interna: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.
Bekannte Probleme und Warnungen
Um sicherzugehen, dass die Fortsetzungslinien funktionieren, sollte der gleiche Rhythmus für die Bassfiguren und die eigentlichen Noten der Bassstimme benutzt werden.
<< { \clef bass \repeat unfold 4 { f16. g32 } f8. es16 d8 es } \figures { \bassFigureExtendersOn % The extenders are correct here, with the same rhythm as the bass \repeat unfold 4 { <6 4->16. <6 4->32 } <5>8. r16 <6>8 <6\! 5-> } >> << { \clef bass \repeat unfold 4 { f16. g32 } f8. es16 d8 es } \figures { \bassFigureExtendersOn % The extenders are incorrect here, even though the timing is the same <6 4->4 <6 4->4 <5>8. r16 <6>8 <6\! 5-> } >>
Wenn Fortsetzungslinien eingesetzt werden, können aufeinander folgende Bezifferungen mit der selben Zahl in einer anderen Position dazu führen, dass sich die Reihenfolge der Zahlen umkehrt.
<< { fis4 g g, e' } \figures { \bassFigureExtendersOn <6 5>4 <5\! 4> < 5 _!> <6> } >>
Um dieses Problem zu umgehen, kann die Fortsetzungslinie nach der Bezifferung, mit der die Linie beginnen soll, angeschaltet und am Ende der Linie wieder ausgeschaltet werden.
<< { fis4 g g, e' } \figures { <6 5>4 <5 4> \bassFigureExtendersOn < 5 _!>4 <6> \bassFigureExtendersOff } >>
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Generalbass anzeigen ] | [ Nach oben : Spezielle Notation ] | [ Überblick über die unterstützten Stile > ] |
2.8 Notation von alter Musik
Unterstützung für Notation der Alten Musik enthält einige Eigenheiten der Mensuralnotation und der Notation des gregorianischen Chorals. Diese Eigenheiten können eingestellt werden, indem man Stileigenschaften von graphischen Objekten wie Notenköpfen und Pausen verändert, oder indem man vordefinierte fertige Kontexte für mensurale oder Choralnotation einsetzt.
Viele graphische Objekte, wie Notenköpfe, Fähnchen,
Versetzungszeichen, Taktarten und Pausen haben eine
style
-Eigenschaft, die verändert werden kann,
um verschiedene Stile Alter Notation nachzuahmen. Siehe auch:
- Mensurale Notenköpfe,
- Mensurale Versetzungszeichen und Tonartbezeichnung,
- Mensurale Pausen,
- Mensurale Schlüssel,
- Gregorianische Schlüssel,
- Mensurale Fähnchen,
- Mensurale Taktartenbezeichnungen.
Ein paar notationelle Konzepte sind inbesondere für die Notation Alter Musik eingeführt worden:
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Notation von alter Musik ] | [ Nach oben : Notation von alter Musik ] | [ Alte Notation -- Allgemeines > ] |
2.8.1 Überblick über die unterstützten Stile
Drei Stile sind vorhanden, um den gregorianischen Choral zu setzen:
- Editio Vaticana ist ein vollständiger Stil für den gregorianischen Choral, der stilistisch den Choralausgaben von Solsemes folgt. Hierbei handelt es sich um die offizielle Choralausgabe des Vatikans seit 1904. LilyPond unterstützt alle Notationszeichen, die in diesem Stil benutzt werden, inklusive Ligaturen, custodes und besondere Zeichen wie die Quilisma und den Oriscus.
- Der Editio Medicaea-Stil stellt bestimmte Eigenschaften zur Verfügung, die in den Medicaea (oder Ratisbona)-Editionen benutzt wurden. Dieser Stil war vor den Solesmes-Editionen in Benutzung. Der größte Unterschied von dem Vaticana-Stil sind die Schlüssel, die nach unten gerichtete Striche haben, und die Notenköpfe, die hier quadratisch und ebenmäßig geformt sind.
- Der Hufnagel- oder gothische Stil ahmt den Stil der Schreiber bestimmter Manuskripte aus dem Deutschland und Mitteleuropa des Mittelalters nach. Er ist nach der Form der wichtigsten Note (der Virga) benannt, die wie ein kleiner Nagel aussieht.
Drei Stile ahmen die Erscheinung von Renaissancehandschriften und -drucken der Mensuralmusik nach:
- Der Mensural-Stil versucht, den Stil von Handschriften nachzuahmen und hat recht kleine, rhombenförmige Notenköpfe und wie handgeschriebene Pausenzeichen.
- Der Neomensural-Stil ist eine modernisierte und stilisierte Version des erstens: Die Notenköpfe sind etwas breiter und die Pausen bestehen aus graden Linien. Dieser Stil ist besonders gut geeignet, um moderne Editionen der Mensuralmusik mit einem Incipit zu versehen.
- Der Petrucci-Stil ist nach Ottaviano Petrucci (1466-1539) benannt, dem ersten Drucker, der bewegliche Stempel benutzt hat, um musikalische Notation zu drucken (in seinem Buch Harmonice musices odhecaton, 1501). Dieser Stil setzt größere Notenköpfe ein als die anderen mensuralen Stile.
Baroque (Barockstil) und Classical (klassischer Stil) sind keine vollständigen Stile, sondern unterscheiden sich vom Standard nur in einigen Details: der Barockstil verändert bestimmte Notenköpfe, der klassische Stil die Form der Viertelpause.
Nur der Mensuralstil hat für alle Aspekte der Notation eine alternative Form. Die anderen Stile sind nur teilweise ausgeführt: die gregorianischen Stile haben keine Pausen oder Fähnchen, weil diese Zeichen im Choral nicht vorkommen, und der Petrucci-Stil hat keine eigenen Fähnchen und Versetzungszeichen.
Jedes Notationselement kann unabhängig von den anderen verändert werden, sodass man gut mensurale Fähnchen, Petrucci-Notenköpfe, klassiche Pausen und Vatikana-Schlüssel nebeneinander benutzen kann, wenn das gewünscht ist.
2.8.2 Alte Notation – Allgemeines
Vordefinierte Umgebungen | ||
Ligaturen | ||
Custodes | ||
Unterstützung für Generalbass |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Alte Notation -- Allgemeines ] | [ Nach oben : Alte Notation -- Allgemeines ] | [ Ligaturen > ] |
Vordefinierte Umgebungen
Für den grogorianischen Choral und die Mensuralnotation gibt
es vorgedifinierte Stimm- und Systemkontexte, die all die
Notationszeichen auf Werte setzen, die diesem Stil angemessen
sind. Wenn man mit den Werten zufrieden ist, kann man sofort
mit der Notation beginnen, ohne sich um die Einzelheiten von
tiefergreifenden Kontextanpassungen kümmern zu müssen. Die
definierten Kontexte sind:
VaticanaVoice
, VaticanaStaff
, MensuralVoice
und MensuralStaff
.
Siehe auch
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Vordefinierte Umgebungen ] | [ Nach oben : Alte Notation -- Allgemeines ] | [ Custodes > ] |
Ligaturen
Eine Ligatur ist ein graphisches Symbol das wenigstens zwei unterschiedliche Noten darstellt. Ligaturen treten ursprünglich in Manuskripten des Gregorianischen Chorals auf, um auf- oder absteigende Notensequenzen zu notieren.
Ligaturen werden in LilyPond notiert, indem die dazugehörigen Noten zwischen
\[
und \]
eingeschlossen werden. Einige Ligaturstile benötigen
zusätzliche Syntax für eine bestimmte Ligatur. In der Standardeinstellung
setzt der LigatureBracket
-Engraver ganz einfach eckige
Klammern über die Noten der Ligatur.
\transpose c c' { \[ g c a f d' \] a g f \[ e f a g \] }
Es gibt zwei weitere Ligaturstile: Vaticana für den gregorianischen
Choral und mensural für Mensuralnotation (wobei hier nur weiße
Ligaturen unterstützt sind, und auch sie nur beschränkt).
Um einen gestimmten Ligaturstil auszuwählen, muss der
Ligature_bracket_engraver
mit einem entsprechenden
Ligatur-Engraver im Stimmenkontext ausgetauscht werden, wie
erklärt in Weiße Mensuralligaturen und Ligaturen der gregorianischen Quadratnotation.
Bekannte Probleme und Warnungen
Ligaturen benötigen eine Platzaufteilung, die sich von der klassischen Notation deutlich unterscheidet. Das ist bisher sehr schlecht verwirklicht, sodass fast immer zu viel Platz zwischen Ligaturen ist und Zeilenumbrüche unbefriedigend ausfallen. Text lässt sich auch nicht richtig an Ligaturen ausrichten.
Versetzungszeichen dürfen nicht innerhalb von einer Ligatur gedruckt werden, sondern müssen gesammelt und vor der Ligatur ausgegeben werden.
Die Syntax verwendet immer noch den verworfenen Infix-Stil (\[
musik. Ausdr. \]
). Aus Gründen der Konsistenz soll dies geändert werden
in den Postfix-Stil (Note\[ ... Note\]
).
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Ligaturen ] | [ Nach oben : Alte Notation -- Allgemeines ] | [ Unterstützung für Generalbass > ] |
Custodes
Ein Custos (Plural: Custodes; Lateinisch: „Beschützer“) ist ein Symbol, das am Ende jedes Notensystems erscheint. Es nimmt die Tonhöhe der ersten Note der nächsten Zeile vorweg und hilft damit dem Vortragenden, die Zeilenwechsel während der Vorführung zu bewältigen.
Custodes wurden bis zum 17. Jahrhundert sehr häufig in der Musiknotation eingesetzt. Heute finden sie sich nur noch in einigen bestimmten Notationsformen, etwa modernen Editionen des Gregorianischen Chorals wie der editio vaticana. LilyPond stellt unterschiedliche Custos-Symbole für die unterschiedlichen Notationsstile zur Verfügung.
Damit Custodes angezeigt werden, muss ein Custos_engraver
im Staff
-Kontext gefordert werden. Der Aufruf folgt im Rahmen
des Layout-Kontextes, wie das folgende Beispiel zeigt. Der Stil des
Custos wird mit dem override
-Befehl eingestellt, wie in dem
folgenden Beispiel gezeigt:
Das Custos-Zeichen wird mit der style
-Eigenschaft ausgewählt. Die
unterstützten Stile sind: vaticana
, medicaea
, hufnagel
und mensural
. Sie werden im folgenden Fragment demonstriert.
Siehe auch
Referenz der Interna: Custos.
Schnipsel: Ancient notation.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Custodes ] | [ Nach oben : Alte Notation -- Allgemeines ] | [ Mesurale Musik setzen > ] |
Unterstützung für Generalbass
Es gibt beschränkte Unterstützung für Generalbassziffern aus der Barockzeit. Siehe hierzu Generalbass.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Unterstützung für Generalbass ] | [ Nach oben : Notation von alter Musik ] | [ Mensural-Kontexte > ] |
2.8.3 Mesurale Musik setzen
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mesurale Musik setzen ] | [ Nach oben : Mesurale Musik setzen ] | [ Mensurale Schlüssel > ] |
Mensural-Kontexte
Die vordefinierten Kontexte MensuralVoice
und
MensuralStaff
können eingesetzt werden, um
ein Stück in Mensuralnotation zu schreiben. Die Kontexte
initialisieren alle relevanten Eigenschaften und
graphischen Objekte, so dass unmittelbar mit der Notation begonnen
werden kann. Siehe das folgende Beispiel:
\score { << \new MensuralVoice = "discantus" \transpose c c' { \override Score.BarNumber #'transparent = ##t { c'1\melisma bes a g\melismaEnd f\breve \[ f1\melisma a c'\breve d'\melismaEnd \] c'\longa c'\breve\melisma a1 g1\melismaEnd fis\longa^\signumcongruentiae } } \new Lyrics \lyricsto "discantus" { San -- ctus, San -- ctus, San -- ctus } >> }
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mensural-Kontexte ] | [ Nach oben : Mesurale Musik setzen ] | [ Mensurale Taktartenbezeichnungen > ] |
Mensurale Schlüssel
In der Tabelle unten werden alle Mensuralschlüssel gezeigt, die
mit dem \clef
-Befehl erreicht werden. Manche Schlüssel benutzen
dasselbe Zeichen, unterscheiden sich aber in der Notenlinie, auf der der
Schlüssel notiert wird. In diesem Fällen ist eine Nummer im Schlüsselnamen
eingefügt, nummeriert von unten nach oben. Man kann aber trotzdem eine
beliebige Nummer erzwingen, wie es im Abschnitt Notenschlüssel beschrieben
wird. Die Note, die rechts von jedem Schlüssel
gesetzt ist, zeigt das c'
in Bezug zu dem jeweiligen Schlüssel.
Petrucci hat C-Schlüssel benutzt, die interschiedlich ausbalancierte vertikale Balken auf der linken Seite hatten, je nachdem, auf welcher Notelinie er sich befand.
Beschreibung | Unterstützte Schlüssel | Beispiel |
Mensuraler C-Schlüssel im historischen Stil |
| |
Mensuraler F-Schlüssel im historischen Stil |
| |
Mensuraler G-Schlüssel im historischen Stil |
| |
Mensuraler C-Schlüssel im modernen Stil |
| |
Mensuraler C-Schlüssel im Petrucci-Stil, zur Benutzung auf verschiedenen Notenlinien (im Beispiel den Schlüssel auf der zweiten Linie) |
| |
Mensuraler F-Schlüssel im Petrucci-Stil |
| |
Mensuraler G-Schlüssel im Petrucci-Stil |
|
Siehe auch
Notationsreferenz: Notenschlüssel.
Bekannte Probleme und Warnungen
Der mensurale G-Schlüssel ist als Petrucci-G-Schlüssel deklariert.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mensurale Schlüssel ] | [ Nach oben : Mesurale Musik setzen ] | [ Mensurale Notenköpfe > ] |
Mensurale Taktartenbezeichnungen
LilyPond besitzt beschränkte Unterstützung für Mensurzeichen (die den
heutigen Taktarten ähneln, aber doch einige Eigenheiten haben). Die
Symbole sind starr verknüpft mit bestimmten Brüchen. Darum müssen die Werte
n
und m
der folgenden Tabelle in den Befehl
\time n/m
eingesetzt werden, um die entsprechenden Symbole zu erhalten.
Mit der style
-Eigenschaft des Objektes TimeSignature
können die Taktarten angewählt werden. Unterstützte Stile sind:
neomensural
und mensural
. In der Tabelle oben wurde der
neomensurale Stil verwendet. Im folgenden Beispiel sind die
unterschiedlichen Stile dargestellt.
Siehe auch
Notationsreferenz: Taktangabe.
Bekannte Probleme und Warnungen
Die Verhältnisse der Notenwerte ändern sich nicht, wenn die Mensur gewechselt wird. Zum Beispiel muss das Verhältnis 1 brevis = 3 semibrevis (tempus perfectum) manuell erstellt werden, indem folgende Variable erstellt wird:
breveTP = #(ly:make-duration -1 0 3 2) … { c\breveTP f1 }
Hiermit wird die Variable breveTP
auf den Wert
„3/2 mal 2 = 3 mal eine Ganze“ gesetzt.
Die Symbole mensural68alt
und neomensural68alt
(alternative Symbole für 6/8) können nicht mit dem
\time
-Befehl. Anstelle dess muss
\markup {\musicglyph #"timesig.mensural68alt" }
benutzt
werden.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mensurale Taktartenbezeichnungen ] | [ Nach oben : Mesurale Musik setzen ] | [ Mensurale Fähnchen > ] |
Mensurale Notenköpfe
Für die Mensuralnotation kann ein Notenkopfstil ausgewählt werden, der sich
vom Standard (default
) unterscheidet. Dies wird erreicht, indem die
style
-Eigenschaft der Notenkopf-(NoteHead
)-Objekte auf
einen der Werte baroque
, neomensural
, mensural
oder
petrucci
gesetzt wird.
Der barocke (baroque
) Stil unterscheidet sich vom Standard
(default
) folgendermaßen:
- Er stellt einen
maxima
-Notenkopf zur Verfügung und - setzt eine eckige Form für die Brevis (
\breve
) ein.
Die Stile neomensural
, mensural
und petrucci
unterscheiden sich vom barocken Stil folgendermaßen:
- Für Semibrevis und kleinere Notenwerte werden rhombenförmige Notenköpfe eingesetzt und
- die Hälse werden über den Kopf zentriert.
Das folgende Beispiel zeigt den Petrucci-Stil:
\set Score.skipBars = ##t \autoBeamOff \override NoteHead #'style = #'petrucci a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
Siehe auch
Notationsreferenz: Notenkopfstile.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Mensurale Notenköpfe ] | [ Nach oben : Mesurale Musik setzen ] | [ Mensurale Pausen > ] |
Mensurale Fähnchen
Mit der Fähnchen-(flag-style
)-Eigenschaft der graphischen Objekte
„Hals“ (Stem
) können auch Mensuralfähnchen gesetzt
werden. Neben dem Standardstil (default
) ist
nur (mensural
) unterstützt.
\override Stem #'flag-style = #'mensural \override Stem #'thickness = #1.0 \override NoteHead #'style = #'mensural \autoBeamOff c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8 c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32
Dabei ist die innerste Fahne immer vertikal auf eine Notenlinie ausgerichtet.
Es gibt keinen eigenen Stil für den neomensuralen oder Petrucci-Stil. Für die Notation des Gregorianischen Chorals gibt es keine Fähnchen.
Bekannte Probleme und Warnungen
Die Positionierung der Fähnchen an den Hälsen ist leicht verschoben.
Vertikale Ausrichtung der Fähnchen an einer Notenlinie geht von der Annahme aus, dass der Hals entweder genau auf einer Notenlinie oder genau zwischen zwei Notenlinien endet. Das ist aber nicht unbedingt immer der Fall, weil LilyPond komplizierte Methoden zur Ermittlung des besten Layouts verwendet. Diese Methoden sollten aber eigentlich nicht zur Notation von mensuraler Musik eingesetzt werden.
Mensurale Pausen
Besondere Pausensymbole für die Notation der Alten Musik können mit der
style
-Eigenschaft des graphischen Objektes (grob) „Pause“
(Rest
) angewählt werden. Unterstützte Stile sind
klassisch (classical
), neomensural
und mensural
.
Der klassische (classical
) Stil unterscheidet sich vom Standardstil
(default
) nur darin, dass die Viertelpause wie eine gespiegelte
Achtelpause aussieht. Der mensurale und neomensurale Stil ahmt die
Form von Pausen nach, wie man sie in Drucken bis zum 16. Jahrhundert
finden kann.
Das folgende Beispiel demonstriert den mensuralen und den neomensuralen Stil:
\set Score.skipBars = ##t \override Rest #'style = #'classical r\longa^"classical" r\breve r1 r2 r4 r8 r16 s \break \override Rest #'style = #'mensural r\longa^"mensural" r\breve r1 r2 r4 r8 r16 s \break \override Rest #'style = #'neomensural r\longa^"neomensural" r\breve r1 r2 r4 r8 r16
Es gibt keine 32-stel- und 64-stel-Pausen für den mensuralen oder neomensuralen Stil. Anstatt dessen werden die Pausenformen des Standardstiles verwendet.
Eine Liste aller Pausen findet sich in Ancient notation.
Siehe auch
Notationsreferenz: Pausen.
Mensurale Versetzungszeichen und Tonartbezeichnung
Der mensural
-Stil stellt ein Kreuz und ein B zur Verfügung,
die sich vom Standardstil unterscheiden. Wenn das Auflösungszeichen
notiert wird, wird es aus dem vaticana
-Stil gesetzt.
Der Stil für Versetzungszeichen und Vorzeichen wird durch die
glyph-name-alist
-Eigenschaft der Grobs
Accidental
und KeySignature
bestimmt,
also etwa folgendermaßen:
\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist
Siehe auch
Notationsreferenz: Tonhöhen, Versetzungszeichen, Automatische Versetzungszeichen, Tonartbezeichnung.
Referenz der Interna: KeySignature.
Vorgeschlagene Versetzungszeichen (musica ficta)
In der europäischen Notation bis etwa 1600 wurde von Sängern erwartet, dass sie eigenständig Noten nach bestimmten Regeln chromatisch veränderten. Das wird als musica ficta bezeichnet. In modernen Transkriptionen werden diese Versetzungszeichen üblicherweise über die Note notiert.
Es ist möglich, derartige Versetzungszeichen zu notieren, und die Anzeige
kann zwischen normaler Satzweise und musica ficta hin- und hergewechselt
werden. Hierzu muss suggestAccidentals
auf wahr gesetzt werden:
fis gis \set suggestAccidentals = ##t ais bis
Damit wird jedes folgende Versetzungszeichen über dem System
gesetzt werden, bis die Eigenschaft mit \set suggestAccidentals =
##f
wieder zum Standardverhalten verändert wurde. Eine praktischere
Lösung ist es, \once \set suggestAccidentals = ##t
zu benutzen,
was man als Variable definieren kann:
ficta = { \once \set suggestAccidentals = ##t } \score { \relative c'' \new MensuralVoice { \once \set suggestAccidentals = ##t bes4 a2 g2 \ficta fis8 \ficta e! fis2 g1 } }
Siehe auch
Referenz der Interna: Accidental_engraver, AccidentalSuggestion.
Weiße Mensuralligaturen
Begrenzte Unterstützung für Ligaturen der weißen Mensuralnotation ist vorhanden.
Um weiße Mensuralligaturen zu benutzen, muss innerhalb des Layout-Blocks
im Voice
-Kontext der Mensural_ligature_engraver
aktiviert werden und gleichzeitig der
Ligature_bracket_engraver
(der die Klammern über den Noten
setzt) entfernt werden, wie im Beispiel.
\layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } }
Zusätzlich zu diesen Einstellungen gibt es keine eigenen Befehle, die die Form einer Ligatur bestimmen. Die Form wird vielmehr aus Tonhöhen und Tondauern der in Klammern gesetzten Noten geschlossen. Diese Herangehensweise erfordert einige Eingewöhnung, hat aber den großen Vorteil, dass der musikalische Inhalt der Ligatur dem Programm bekannt ist. Das ist nicht nur notwendig für korrekte MIDI-Ausgabe, sondern erlaubt es auch, automatische Transkriptionen von Ligaturen anzufertigen.
Eine Datei kann zum Beispiel so aussehen:
\score { \transpose c c' { \set Score.timing = ##f \set Score.defaultBarType = "empty" \override NoteHead #'style = #'neomensural \override Staff.TimeSignature #'style = #'neomensural \clef "petrucci-g" \[ c'\maxima g \] \[ d\longa c\breve f e d \] \[ c'\maxima d'\longa \] \[ e'1 a g\breve \] } \layout { \context { \Voice \remove Ligature_bracket_engraver \consists Mensural_ligature_engraver } } }
Wenn der Ligature_bracket_engraver
nicht durch den
Mensural_ligature_engraver
ersetzt wird, werden die Noten
wie folgt ausgegeben:
Bekannte Probleme und Warnungen
Die horizontale Positionierung ist sehr schlecht.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Weiße Mensuralligaturen ] | [ Nach oben : Notation von alter Musik ] | [ Gregorianische Gesangs-Kontexte > ] |
2.8.4 Gregorianischen Choral setzen
Wenn ein gregorianischer Choral notiert wird, wählt der
Vaticana_ligature_engraver
automatisch die richtigen
Notenköpfe aus, so dass man den Notenkopfstil nicht explizit
setzen muss. Der Stil kann dennoch gesetzt werden, etwa
auf vaticana_punctum
um punctum-Neumen zu erzeugen. Ähnlich
funktioniert auch der Mensural_ligature_engraver
,
der Mensuralligaturen setzt. Siehe auch Ligaturen.
Gregorianische Gesangs-Kontexte
Die vordefinierten Kontexte VaticanaVoice
(für eine
gregorianische Stimme) und VaticanaStaff
(für ein
gregorianisches Notensystem) können eingesetzt werden, um
Gregorianischen Choral im Stil der Editio Vaticana zu setzen. Diese
Kontexte initialisieren alle relevanten Eigenschaften für das Notensystem
und die graphischen Objekte, so dass unmittelbar mit der Notation
begonnen werden kann. Siehe das folgende Beispiel:
\include "gregorian.ly" \score { << \new VaticanaVoice = "cantus" { \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima \[ f\melisma \pes a c' c' \pes d'\melismaEnd \] c' \divisioMinima \break \[ c'\melisma c' \flexa a \] \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima } \new Lyrics \lyricsto "cantus" { San- ctus, San- ctus, San- ctus } >> }
Gregorianische Schlüssel
Die folgende Tabelle zeigt alle Schlüssel für den gregorianischen
Choral, die mit dem \clef
-Befehl unterstützt sind. Einige
Schlüssel benutzen das selbe Zeichen, unterscheiden sich aber in
der Notenlinie, auf der der Schlüssel gesetzt wird. In diesem
Fall wird eine Nummer benutzt, die die Notenlinie von unten nach
oben kennzeichnet. Man kann die Schlüssel aber auch manuell auf
eine bestimmte Notenlinie zwingen, wie gezeigt in Notenschlüssel.
Die Note, die rechts von den Schlüsseln im Beispiel gezeigt wird,
ist ein c'
in Bezug auf den aktuellen Schlüssel.
Beschreibung | unterstützter Schlüssel | Beispiel |
Do-Schlüssel der Editio Vaticana |
| |
Fa-Schlüssel der Editio Vaticana |
| |
Do-Schlüssel der Editio Medicaea |
| |
Fa-Schlüssel der Editio Medicaea |
| |
Hufnagel Do-Schlüssel für den historischen Stil |
| |
Hufnagel Fa-Schlüssel für den historischen Stil |
| |
Kombinierter Do/Fa-Hufnagelschlüssel für den historischen Stil |
|
Siehe auch
Notationsreferenz: Notenschlüssel.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Gregorianische Schlüssel ] | [ Nach oben : Gregorianischen Choral setzen ] | [ Divisiones > ] |
Gregorianische Versetzungszeichen und Tonartbezeichnung
Es gibt Versetzungszeichen in drei unterschiedlichen Stilen für die Notation des gregorianischen Chorals:
Wie zu sehen ist, werden nicht alle Versetzungszeichen von jedem Stil unterstützt. Wenn versucht wird, ein Versetzungszeichen zu notieren, das von einem bestimmten Stil nicht unterstützt wird, wechselt LilyPond zu einem anderen Stil.
Der Stil für Versetzungs- und Vorzeichen wird von der
glyph-name-alist
-Eigenschaft der Grobs
Accidental
und KeySignature
kontrolliert, beispielsweise:
\override Staff.Accidental #'glyph-name-alist =
#alteration-mensural-glyph-name-alist
Siehe auch
Notationsreferenz: Tonhöhen, Versetzungszeichen, Automatische Versetzungszeichen, Tonartbezeichnung.
Referenz der Interna: KeySignature.
Divisiones
Die Notation des gregorianischen Chorals benutzt keine Pausen, anstatt dessen werden Divisiones eingesetzt.
Eine divisio (Plural: divisiones; Latein: „Teilung“) ist ein Symbol des Notensystemkontextes, das benutzt wird, um Phrasierung und Abschnitte im Gregorianischen Choral anzuzeigen. Die musikalische Bedeutung von divisio minima, divisio maior und divisio maxima kann beschrieben werden als kurze, mittlere und lange Pause, ungefähr wie die Atemzeichen aus dem Abschnitt Atemzeichen. Das finalis-Zeichen bezeichnet nicht nur das Ende eines Chorals, sondern wird auch oft innerhalb eines Antiphons/Responsoriums benutzt, um das Ende eines Abschnitts anzuzeigen.
Divisiones können benutzt werden, indem die Datei ‘gregorian.ly’
in die Quelldatei eingefügt wird. Hier sind die entsprechenden Definitionen
schon abgelegt, so dass es genügt, die Befehle \divisioMinima
,
\divisioMaior
, \divisioMaxima
und \finalis
an den
entsprechenden Stellen zu schreiben. Einige Editionen verwenden eine
virgula oder caesura anstelle der divisio minima. Darum findet
sich in der Datei ‘gregorian.ly’ auch eine Definition für
\virgula
und \caesura
.
Vordefinierte Befehle
\virgula
,
\caesura
,
\divisioMinima
,
\divisioMaior
,
\divisioMaxima
,
\finalis
.
Siehe auch
Notationsreferenz: Atemzeichen.
Referenz der Interna: BreathingSign.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Divisiones ] | [ Nach oben : Gregorianischen Choral setzen ] | [ Augmentationspunkte (morae) > ] |
Artikulationszeichen des Gregorianischen Chorals
Zusätzlich zu den Standardartikulationszeichen, wie sie im Abschnitt Artikulationszeichen und Verzierungen beschrieben werden, werden auch Artikulationszeichen für die Notation des Editio Vaticana-Stils zur Verfügung gestellt.
\include "gregorian.ly" \score { \new VaticanaVoice { \override TextScript #'font-family = #'typewriter \override TextScript #'font-shape = #'upright \override Script #'padding = #-0.1 a\ictus_"ictus" \bar "" \break a\circulus_"circulus" \bar "" \break a\semicirculus_"semicirculus" \bar "" \break a\accentus_"accentus" \bar "" \break \[ a_"episem" \episemInitium \pes b \flexa a b \episemFinis \flexa a \] } }
Schnipsel: Ancient notation.
Referenz der Interna: Episema, EpisemaEvent, Episema_engraver, Script, ScriptEvent, Script_engraver.
Bekannte Probleme und Warnungen
Einige Artikulationszeichen sind vertikal zu dich an den entsprechenden Notenköpfen gesetzt.
Augmentationspunkte (morae)
Verlängerungspunkte, auch als morae bezeichnet, werden
mit der Musikfunktion \augmentum
hinzugefügt. Es
handelt sich um eine eigenständige Funktion und nicht um
einen Präfix, der zu einer Note gehört. Die Funktion wirkt
sich nur auf den direkt vorhergehenden musik. Ausdruck aus.
Das heißt, dass \augmentum \virga c
keine sichtbare
Wirkung hat. Anstelle dessen sollte geschrieben werden:
\virga \augmentum c
oder \augmentum {\virga c}
.
Man kann \augmentum {a g}
als Kurznotation für
\augmentum a \augmentum g
schreiben.
\include "gregorian.ly" \score { \new VaticanaVoice { \[ \augmentum a \flexa \augmentum g \] \augmentum g } }
Siehe auch
Notationsreferenz: Atemzeichen.
Referenz der Interna: BreathingSign.
Schnipsel: Ancient notation.
Ligaturen der gregorianischen Quadratnotation
Beschränkte Unterstützung für gregorianische Quadratneumen-Ligaturen (nach dem Stil der Editio Vaticana) ist vorhanden. Die wichtigsten Ligaturen können schon gesetzt werden, aber wichtige Eigenschaften anspruchsvoller Typographie wie horizontale Ausrichtung von mehreren Ligaturen, korrekte Silbenpositionierung und richtiger Umgang mit Versetzungszeichen fehlen noch.
Die Unterstützung für gregorianische Neumen wird aktiviert, indem
man mit \include
die Datei gregorian.ly
am Anfang
der Quelldatei aktiviert. Damit werden zusätzliche Befehl
zur Verfügung gestellt, mit denen man die Neumensymbole des
Chorals produzieren kann.
Notenköpfe können verändert und/bzw. verbunden werden.
- Die Form des Notenkopf kann verändert werden, indem man
vor die Noten folgende Befehle schreibt:
\virga
,\stropha
,\inclinatum
,\auctum
,\ascendens
,\descendens
,\oriscus
,\quilisma
,\deminutum
,\cavum
,\linea
. - Eigentliche Ligaturen (also Noten, die miteinander verbunden sind),
werden erstellt, indem man einen der verbindenden Befehle,
\pes
oder\flexa
für Aufwärts- bzw. Abwärtsbewegung, zwischen die zu verbindenden Noten setzt.
Eine Notenbezeichnung ohne jeglichen Modifikator produziert
ein punctum. Alle anderen Neumen, auch einzelne
Noten-Neumen mit einer anderen Form als der Virga
werden generell als Ligaturen betrachtet und deshalb
von den Zeichen \[...\]
eingeklammert werden.
Einzelne Noten-Neumen:
- Das punctum ist die grundlegende Notenform (im
Vaticana-Stil: ein Quadrat mit gebogenen Ober- und
Unterkanten). Zusäztlich gibt es auch noch das oblique
punctum inclinatum, das mit dem Präfix
\inclinatum
erstellt wird. Das normale punctum kann durch\cavum
verändert werden, wodurch eine hohle Note erstellt wird, und durch\linea
, wodurch vertikale Linien zu den Seiten der Note gezogen werden. - Die virga hat einen absteigenden Hals auf der
rechten Seite. Sie wird durch den Modifikator
\virga
erstellt.
Ligaturen
Anders als in anderen Neumennotationssystemen, wird das
typographische Aussehen einer Ligatur nicht durch Eingabebefehle
direkt vorgegeben, sondern richtet sich nach bestimmten
Darstellungsregeln, die durch die musikalische Bedeutung
bestimmt werden. Eine Ligatur mit drei Noten beispielsweise,
mit der Form tief-hoch-tief, wie etwa \[ a \pes b
\flexa g \]
, ergibt einen Torculus, der aus drei
Punctum-Köpfen besteht, während die Form hoch-tief-hoch,
wie etwa \[ a \flexa g \pes b \]
, einen Porrectus
mit einer gebogenen Flexa und nur einem Punctum-Kopf ergibt.
Es gibt keinen Befehl, mit dem explizit eine gebogene
Flexa gesetzt werden können; die Entscheidung, wann eine
derartige Form im Notenbild vorkommen soll, wird durch die
musikalische Bedeutung der Noten vorgegeben. Die Idee
hinter dieser Art der Eingabe ist es, dass der musikalische
Inhalt von der graphischen Ausgabe getrennt wird. Dadurch
wird es möglich, die gleiche Quelldatei zu benutzen, um
beispielsweise die Noten in einem anderen Stil darzustellen.
Liquescente Neumen
Eine weitere Hauptkategorie der Notation von gregorianischem Choral sind die sogenannten liquescenten Neumen. Sie werden unter bestimmten Umständen am Ende einer Silbe eingesetzt, die auf einen „liquescenten“ Buchstaben endet (das sind die Konsonanten, die eine Tonhöhe haben können, also die Nasale, l, r, v, j und ihre diphtongalen Entsprechungen). Liquescente Neumen werden also nie alleine eingesetzt (auch wenn sie isoliert produziert werden können) und treten immer am Ende einer Silbe auf.
Liquescente Neumen werden graphisch auf zwei Arten dargestellt:
mit einer kleineren Note oder indem die Hauptnote nach oben
bzw. unten „gedreht“ wird. Die erste Darstellungsweise
erreicht man, indem einen normalen pes
oder flexa
schreibt und dann die Form der zweiten Note verändert:
\[ a \pes \deminutum b \]
. Die zweite Darstellungsweise
erreicht man, indem die Form einer einzelnen Neume mit
\auctum
und einem der Richtungsanzeiger
\descendens
bzw. \ascendens
versieht:
\[ \auctum \descendens a \]
.
Spezielle Zeichen
Eine dritte Kategorie besteht aus einer kleinen Anzahl an
Zeichen mit einer besonderen Bedeutung: die quilisma, der
oriscus und der strophicus. Sie werden
notiert, indem man vor die entsprechende Note den
Modifikator \quilisma
, \oriscus
oder
\stropha
schreibt.
Im Grunde kann innerhalb der Ligaturbegrenzer \[
und
\]
eine beliebige Anzahl ans Notenköpfen eingefügt
werden und Präfixe wie \pes
, \flexa
, \virga
,
\inclinatum
usw. können beliebig untereinander
kombiniert werden. Der Einsatz der Regeln, mit denen die
Ligaturen konstruiert werden, wird entsprechend angepasst.
Auf diese Art kann eine unendliche Anzahl an Ligaturen erstellt
werden.
Die Benutzung der Notationszeichen folgt allerdings bestimmten Regeln, die nicht von LilyPond überprüft werden. Die quilisma beispielsweise findet sich immer als mittlere Note einer aufsteigenden Ligatur und fällt üblicherweise auf einen Halbtonschritt, aber es ist durchaus möglich, wenn auch nicht richtig, eine Quilisma bestehend aus einer Note zu notieren.
Neben den Notenformen definiert die Datei gregorian.ly
auch die Befehle \versus
, \responsum
, \ij
,
\iij
, \IJ
und \IIJ
, mit denen die
entsprechenden Zeichen, etwa für den Text oder als
Abschnittsmarkierung erstellt werden können. Diese
Befehl benutzen bestimmte Unicode-Zeichen und funktionieren
nur, wenn eine Schriftart vorhanden ist, die diese Zeichen
unterstützt.
In der folgenden Tabelle wird eine begrenzte, aber dennoch
repräsentative Anzahl an Ligaturen der Neumennotation dargestellt,
denen Fragmente beigefügt sind, die die Notation in LilyPond
zeigen. Die Tabelle basiert auf der erweiterten Neumentabelle
des zweiten Bands des Antiphonale Romanum (Liber
Hymnarius), 1983 von den Mönchen von Solsemes herausgegeben.
Die erste Spalte zeigt die Bezeichnungen der Ligaturen, fett für
die Normalform, kursiv für die liquescente Form. Die dritte
Spalte zeigt Code-Schnipsel, mit denen die Ligatur notiert
werden kann, wobei die Noten g
, a
und b
als Tonhöhen eingesetzt werden.
Neumen aus einzelnen Noten
Grundform und liquescente Form | Ausgabe | LilyPond-Code |
Punctum |
| |
| ||
| ||
Punctum Auctum Ascendens |
| |
Punctum Auctum Descendens |
| |
Punctum inclinatum |
| |
Punctum Inclinatum Auctum |
| |
Punctum Inclinatum Parvum |
| |
Virga |
Ligaturen aus zwei Noten
Clivis vel Flexa |
| |
Clivis Aucta Descendens |
| |
Clivis Aucta Ascendens |
| |
Cephalicus |
| |
Podatus/Pes |
| |
Pes Auctus Descendens |
| |
Pes Auctus Ascendens |
| |
Epiphonus |
| |
Pes Initio Debilis |
| |
Pes Auctus Descendens Initio Debilis |
|
Ligaturen mit mehr als zwei Noten
Torculus |
| |
Torculus Auctus Descendens |
| |
Torculus Deminutus |
| |
Torculus Initio Debilis |
| |
Torculus Auctus Descendens Initio Debilis |
| |
Torculus Deminutus Initio Debilis |
| |
Porrectus |
| |
Porrectus Auctus Descendens |
| |
Porrectus Deminutus |
| |
Climacus |
| |
Climacus Auctus |
| |
Climacus Deminutus |
| |
Scandicus |
| |
Scandicus Auctus Descendens |
| |
Scandicus Deminutus |
|
Special Signs
Quilisma |
| |
Quilisma Pes Auctus Descendens |
| |
Oriscus |
| |
Pes Quassus |
| |
Pes Quassus Auctus Descendens |
| |
Salicus |
| |
Salicus Auctus Descendens |
| |
(Apo)stropha |
| |
Stropha Aucta |
| |
Bistropha |
| |
Tristropha |
| |
Trigonus |
|
Vordefinierte Befehle
Folgende Notenpräfixe sind unterstützt:
\virga
,
\stropha
,
\inclinatum
,
\auctum
,
\descendens
,
\ascendens
,
\oriscus
,
\quilisma
,
\deminutum
,
\cavum
,
\linea
.
Präfixe können kombiniert werden, wenn es hier auch Begrenzungen
gibt. Zum Beispiel können die Präfixe \descendens
oder
\ascendens
vor einer Note geschrieben werden, aber nicht
beide für die selbe Note.
Zwei benachbarte Noten können mit den \pes
und
\flexa
-Infixen verbunden werden, um eine steigende bwz.
fallende Melodielinie zu notieren.
Die musikalische Funktion \augmentum
muss benutzt werden, um
augmentum-Punkte hinzuzufügen.
Bekannte Probleme und Warnungen
Wenn ein \augmentum
-Punkt am Ende des letzten Systems innerhalb
einer Ligatur gesetzt wird, ist er vertikal etwas falsch positioniert. Als
Abhilfe kann eine unsichtbare Note (z. B. s8
) als letzte Note im
System eingegeben werden.
\augmentum
sollte als Präfix implementiert sein, nicht als eigene
musikalische Funktion, so dass \augmentum
mit den anderen
Präfixen in arbiträrer Reihenfolge notiert werden kann.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Ligaturen der gregorianischen Quadratnotation ] | [ Nach oben : Notation von alter Musik ] | [ Incipite > ] |
2.8.5 Musiksatz Alter Musik in der Praxis – Szenarien und Lösungen
Incipite | ||
Mensurstriche | ||
Gregorianischen Choral transkribieren | ||
Alte und moderne Edition aus einer Quelldatei | ||
Herausgeberische Anmerkungen |
Wenn man mit Alter Notation zu tun hat, fallen oft Aufgaben an, die in der modernen Notation nicht vorkommen, für welche LilyPond geschaffen wurde. In diesem Abschnitt sollen darum einige praktische Problemstellungen und Lösungsvorschläge dargestellt werden. Dabei handelt es sich um:
- wie man Incipite in modernen Editionen von Mensuralnotation notieren kann (d.h. ein kleiner Abschnitt vor der eigentlichen Paritur, der die Originalnotenformen darstellt),
- wie man Mensurstriche einstellt, mit denen oft moderne Transkriptionen polyphoner Musik notiert werden,
- wie man den gregorianischen Choral mit morderner Notation darstellt und
- wie man sowohl ein Mensuralnotationsbild als auch eine moderne Edition aus der selben Quelle erstellt.
Incipite
In Arbeit.
Mensurstriche
Als Mensurstriche wird ein Notenlayout bezeichnet, in dem die Taktlinien nicht auf den Systemen, sondern nur zwischen Systemen gezogen werden. Damit soll signalisiert werden, dass das Original keine Takteinteilung besessen hat und etwa Synkopen nicht über Taktlinien hinweg aufgeteilt werden müssen, während mann sich dennoch an den Taktlinien rhythmisch orientieren kann.
Das Mensurstiche-Layout, in welchem die Taktlinien nicht auf den Systemen,
sondern zwischen den Systemen gesetzt werden, kann mit einer StaffGroup
anstelle von ChoirStaff
erreicht werden. Die Taktlinien auf den
Systemen werden mit der the transparent
-Eigenschaft ausgelöscht.
global = { \override Staff.BarLine #'transparent = ##t s1 s % the final bar line is not interrupted \revert Staff.BarLine #'transparent \bar "|." } \new StaffGroup \relative c'' { << \new Staff { << \global { c1 c } >> } \new Staff { << \global { c c } >> } >> }
Gregorianischen Choral transkribieren
Gregorianischer Choral kann mit einigen einfachen Einstellungen in moderner Notation notiert werden.
Hälse. Hälse können meistens weggelassen werden, was geschieht,
indem man den Stem_engraver
aus dem Stimmenkontext
entfernt:
\layout { ... \context { \Voice \remove "Stem_engraver" } }
In einigen Transkriptionsstilen werden jedoch teilweise
Hälse einesetzt, um etwa den Übergang von einem Einton-Rezitativ
zu einer melodischen Geste anzuzeigen. In diesem Fall können
Hälse entweder mit \override Stem #'transparent = ##t
unsichtbar gemacht werden oder mit
\override Stem #'length = #0
auf die Länge von 0 reduziert
werden. Die Hälse müssen dann wieder an den entsprechenden
Stellen mit \once \override Stem #'transparent = ##f
sichtbar gemacht werden (siehe auch Beispiel unten).
Takt. Für Gesang ohne Metrum gibt es einige Alternativen.
Der Time_signature_engraver
kann aus dem Staff
-Kontext
entfernt werden, ohne dass es negative Seiteneffekte gäbe.
Alternativ kann er durchsichtig gemacht werden, dabei entsteht
aber ein leerer Platz zu Beginn der Noten an der Stelle, wo
normalerweise die Taktnagabe stehen würde.
In vielen Fällen ergibt \set Score.timing = ##f
gute
Ergebnisse. Eine andere Möglichkeit ist es, \CadenzaOn
und \CadenzaOff
zu benutzen.
Um Taktstriche zu entfernen, kann man radikal den Bar_engraver
aus dem Staff
-Kontext entfernen. Wenn man ab und zu
einen Taktstrich braucht, sollten die Striche nur mit
\override BarLine #'transparent = ##t
unsichtbar
gemacht werden.
Oft werden Rezitativtöne mit einer Brevis angezeigt. Der Text für die Rezitativnote kann auf zwei Arten notiert werden: entweder als einzelne, links ausgerichtete Silbe:
\include "gregorian.ly" chant = \relative c' { \clef "G_8" c\breve c4 b4 a c2 c4 \divisioMaior c\breve c4 c f, f \finalis } verba = \lyricmode { \once \override LyricText #'self-alignment-X = #-1 "Noctem quietam et" fi -- nem per -- fec -- tum \once \override LyricText #'self-alignment-X = #-1 "concedat nobis Dominus" om -- ni -- po -- tens. } \score { \new Staff << \new Voice = "melody" \chant \new Lyrics = "one" \lyricsto melody \verba >> \layout { \context { \Staff \remove "Time_signature_engraver" \remove "Bar_engraver" \override Stem #'transparent = ##t } } }
Das funktioniert gut, solange der Text nicht über einen Zeilenumbruch reicht. In diesem Fall kann man etwa die Noten der Silben verstecken (hier werden auch die Hälse unsichtbar gemacht):
\include "gregorian.ly" chant = \relative c' { \clef "G_8" \set Score.timing = ##f c\breve \override NoteHead #'transparent = ##t c c c c c \revert NoteHead #'transparent \override Stem #'transparent = ##f \stemUp c4 b4 a \override Stem #'transparent = ##t c2 c4 \divisioMaior c\breve \override NoteHead #'transparent = ##t c c c c c c c \revert NoteHead #'transparent c4 c f, f \finalis } verba = \lyricmode { No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens. } \score { \new Staff << \new Voice = "melody" \chant \new Lyrics \lyricsto "melody" \verba >> \layout { \context { \Staff \remove "Time_signature_engraver" \override BarLine #'transparent = ##t \override Stem #'transparent = ##t } } }
Eine andere übliche Situation ist die Transkription von neumatischem oder melismatischem Gesang, d.h. Gesang, der eine unterschiedliche Anzahl von Noten pro Silbe hat. In diesem Fall sollen die Silbengruppen üblicherweise deutlich voneinander getrennt gesetzt werden, oft auch die Untergruppen eines längeren Melismas. Eine Möglichkeit, das zu erreichen, ist es, eine feste Taktart, etwa 1/4, zu benutzen und dann jeder Silbe oder Notengruppe einen ganzen Takt zuzuweisen, u.U. mit Hilfe von Triolen und kleinen Notenwerten. Wenn die Taktstriche und alle anderen rhythmischen Anweisungen unsichtbar gemacht werden, und der Platz um die Taktstriche vergrößert wird, ergibt sich eine recht gute Repräsentation der Originalnotation.
Damit Silben mit unterschiedlicher Länge (etwa „-ri“ und
„-rum“) die Silbengruppen nicht ungleichmäßig aufweiten,
kann die #'X-extent
-Eigenschaft des LyricText
-Objekts
auf einen festen Wert gesetzt werden. Eine andere
Möglichkeit wäre es, die Silben als Textbeschriftung
einzufügen. Wenn weitere horizontale Anpassungen nötig sind,
können sie mit unsichtbaren (s
)-Noten vorgenommen
werden.
spiritus = \relative c' { \time 1/4 \override Lyrics.LyricText #'X-extent = #'(0 . 3) d4 \times 2/3 { f8 a g } g a a4 g f8 e d4 f8 g g8 d f g a g f4 g8 a a4 s \times 2/3 { g8 f d } e f g a g4 } spirLyr = \lyricmode { Spi -- ri -- _ _ tus _ Do -- mi -- ni _ re -- ple -- _ vit _ or -- _ bem _ ter -- ra -- _ rum, al -- _ _ le -- _ lu -- _ ia. } \score { \new Staff << \new Voice = "chant" \spiritus \new Lyrics = "one" \lyricsto "chant" \spirLyr >> \layout { \context { \Staff \remove "Time_signature_engraver" \override BarLine #'X-extent = #'(-1 . 1) \override Stem #'transparent = ##t \override Beam #'transparent = ##t \override BarLine #'transparent = ##t \override TupletNumber #'transparent = ##t } } }
Alte und moderne Edition aus einer Quelldatei
In Arbeit.
Herausgeberische Anmerkungen
In Arbeit.
In Arbeit.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Herausgeberische Anmerkungen ] | [ Nach oben : Spezielle Notation ] | [ Arabische Musik > ] |
2.9 Weltmusik
Dieser Abschnitt soll Besonderheiten der Notation aufzeigen, die insbesondere relevant sind, um Musik nicht-westlicher Tradition zu notieren.
2.9.1 Arabische Musik |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Weltmusik ] | [ Nach oben : Weltmusik ] | [ Referenz für arabische Musik > ] |
2.9.1 Arabische Musik
Dieser Abschnitt zeigt Möglichkeiten, wie arabische Musik notiert werden kann.
References for Arabic music | ||
Arabic note names | ||
Arabic key signatures | ||
Arabic time signatures | ||
Arabic music example | ||
Weitere Literatur |
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Arabische Musik ] | [ Nach oben : Arabische Musik ] | [ Arabic note names > ] |
References for Arabic music
Arabische Musik wurde bisher vor allem mündlich tradiert. Wenn Musik transkribiert wird, handelt es sich meistens um ein Gerüst, auf dem der Musiker eigene Improvisationen ausführt. Mehr und mehr wird die westliche Notation mit einigen Veränderungen benutzt, um die arabische Musiktradition weiterzugeben und zu konservieren.
Einige Elemente der westlichen Notation wie etwa die Transkription von Akkorden oder eigenständige Stimmen werden für die traditionelleren arabischen Noten nicht benötigt. Es gibt allerdings einige andere Probleme, wie etwa die Notwendigkeit, Zwischenintervalle zu notieren, die sich irgendwo zwischen einem Halbton und einem Ganzton befinden. Daneben werden auch die westlichen Halb- und Ganztöne eingesetzt. Es muss auch möglich sein, eine große Anzahl an maqam (Modi) der arabischen Musik zu bezeichnen und zu gruppieren.
Üblicherweise müssen Mikrotöne in der arabischen Musik nicht präzise notiert werden.
Einige Bereiche, die für die arabische Notation wichtig sind, sind an anderer Stelle behandelt:
- Notenbezeichnungen und Versetzungszeichen (inklusive Vierteltöne) können angepasst werden, wie behandelt in Notenbezeichnungen in anderen Sprachen.
- Zusätzliche Taktarten können erstellt werden, siehe Tonartbezeichnung.
- Komplexe Taktarten erfordern evtl., dass Noten manual gruppiert werden, wie gezeigt in Manuelle Balken.
- Takasim, rhythmisch freie Improvisationen, können ohne Taktlinien notiert werden, siehe hierzu Musik ohne Metrum.
Siehe auch
Notationsreferenz: Notenbezeichnungen in anderen Sprachen, Tonartbezeichnung, Manuelle Balken.
Schnipsel: World music.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Referenz für arabische Musik ] | [ Nach oben : Arabische Musik ] | [ Arabische Tonarten > ] |
Arabic note names
An der arabischen Tradition orientierte Notenbezeichnungen können sehr
land sein und eignen sich daher nicht gut für die Notation von Musik.
Sie werden nicht benutzt. Englische Notenbezeichnungen hingegen sind
in der arabischen Musikerziehung recht unbekannt, weshalb italienische
Notenbezeichnungen (do, re, mi, fa, sol, la, si
) eingesetzt
werden. Modifikatoren (Versetzungszeichen) können auch benutzt werden,
wie gezeigt in Notenbezeichnungen in anderen Sprachen.
Hier ein Beispiel der arabischen rast-Tonleiter:
\include "arabic.ly" \relative do' { do re misb fa sol la sisb do sisb la sol fa misb re do }
Das Symbol für das Halb-B sieht anders aus als das Symbol, was
üblicherweise in arabischer Notation benutzt wird. Das
\dwn
-Symbol, das in der Datei arabic.ly
definiert
ist, kann als ein Workaround eingesetzt werden, wenn es notwendig
ist, das arabische Symbol zu benutzen. Das Aussehen des
Halb-Bs in den Vorzeichen kann mit dieser methode nicht verändert
werden.
\include "arabic.ly" \relative do' { \set Staff.extraNatural = ##f dod dob dosd \dwn dob dobsb dodsd do do }
Siehe auch
Notationsreferenz: Notenbezeichnungen in anderen Sprachen.
Schnipsel: World music.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Arabic note names ] | [ Nach oben : Arabische Musik ] | [ Arabische Taktarten > ] |
Arabic key signatures
Neben den westlichen Dur- und Moll-Tonarten sind folgende
Tonarten in arabic.ly
definiert: bayati,
rast, sikah, iraq und
kurd. Diese Tonarten definieren eine kleine
Gruppe von Maqams, die weitverbreitet sind.
Ein Maqam kann die Tonart der Gruppe benutzen, zu der er gehört, oder die einer benachbarten Gruppe. Zusätzlich können verschiedene Versetzungszeichen in den Noten markiert werden.
Um also etwa die Tonart des Maqams „muhayer“ folgendermaßen notiert:
\key re \bayati
re ist die Tonhöhe für den „muhayer“-Maqam und bayati ist die Bezeichnung des Basismaqams der Gruppe.
Während die Vorzeichen eine Gruppe anzeigen, wird meistens der eigentliche Maqam im Titel definiert. In diesem Beispiel müsste also der „muhayer“-Maqam im Titel erscheinen.
Andere Maqams derselben Bayati-Gruppe, wie in der Tabelle unten gezeigt ((bayati, hussaini, saba und ushaq) können auf die gleiche Weise notiert werden. Sie sind alle Variationen des Grundmaqams Bayati. Sie unterscheiden sich üblicherweise vom grundlegenden Maqam in ihrem oberen Tetrachord oder in bestimmten Einzelheiten, die aber nicht ihre eigentliche Qualität verändern.
Der andere Maqam der gleichen Gruppe (Nawa) ist mit bayati durch eine Modulation verwandt, deren Grundton in der Tabelle angezeigt wird, wenn es sich um einen Maqam handelt, der eine Modulation eines anderen Maqams darstellt. Nawa kann folgenderweise notiert werden:
\key sol \bayati
In der arabischen Musik ist ein Begriff wie bayati, der eine Maqam-Gruppe bezeichnet, gleichzeitig auch selber ein Maqam, meistens der häufigste dieser Gruppe.
Hier ist eine Möglichkeit, Maqams zu gruppieren, womit die häufigsten Maqams bestimmten Vorzeichen zugeordnet werden:
Maqam-Gruppe | Vorzeichen ( | Finalis | Andere Maqams der Gruppe (Finalis) |
---|---|---|---|
ajam | major | sib | jaharka (fa) |
bayati | bayati | re | hussaini, muhayer, saba, ushaq, nawa (sol) |
hijaz | kurd | re | shahnaz, shad arban (sol), hijazkar (do) |
iraq | iraq | sisb | - |
kurd | kurd | re | hijazkar kurd (do) |
nahawand | minor | do | busalik (re), farah faza (sol) |
nakriz | minor | do | nawa athar, hisar (re) |
rast | rast | do | mahur, yakah (sol) |
sikah | sikah | misb | huzam |
Ausgewählte Schnipsel
Untypische Tonarten
Der üblicherweise benutzte \key
-Befehl setzt die
keySignature
-Eigenschaft im Staff
-Kontext.
Um untypische Tonartenvorzeichen zu erstellen, muss man diese Eigenschaft
direkt setzen. Das Format für den Befehl ist eine Liste: \set
Staff.keySignature = #`(((Oktave . Schritt) . Alteration) ((Oktave
. Schritt) . Alteration) ...)
wobei für jedes Element in der Liste
Oktave
die Oktave angibt (0 ist die Oktave vom
eingestrichenen C bis zum eingestrichenen H), Schritt
gibt
die Note innerhalb der Oktave an (0 heißt C und
6 heißt H), und Alteration
ist ,SHARP ,FLAT
,DOUBLE-SHARP
usw. (Beachte das beginnende Komma.)
Alternativ kann auch jedes Element der Liste mit dem allgemeineren Format
(Schritt . Alteration)
gesetzt werden, wobei dann die Einstellungen
für alle Oktaven gelten.
Hier ein Beispiel einer möglichen Tonart für eine Ganztonleiter:
\relative c' { \set Staff.keySignature = #`(((0 . 6) . ,FLAT) ((0 . 5) . ,FLAT) ((0 . 3) . ,SHARP)) c4 d e fis aes4 bes c2 }
Siehe auch
Notationsreferenz: Tonartbezeichnung.
Handbuch zum Lernen: Versetzungszeichen und Tonartbezeichnung (Vorzeichen).
Referenz der Interna: KeySignature.
Schnipsel: World music, Pitches.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Arabische Tonarten ] | [ Nach oben : Arabische Musik ] | [ Arabische Notenbeispiele > ] |
Arabic time signatures
Einige klassische Formen der arabischen und türkischen Musik wie etwa Semai haben ungewöhnliche Taktarten wie etwa 10/8. Das kann dazu führen, dass die automatische Bebalkung der Noten nicht zu dem Ergebnis kommt, welches in der üblichen Notation dieser Musik eingesetzt wird. Die Noten werden nicht anhand einer Taktzeit, sondern anhand von Kriterien gruppiert, die man schwer mit einer automatischen Balkenfunktion erfassen kann. Das kann umgangen werden, indem die automatische Bebalkung ausgeschaltet wird und die Balken explizit gesetzt werden. Auch wenn es nicht darauf ankommen sollte, eine schon notierte Musik nachzuahmen, ist es in vielen Fällen dennoch erforderlich, die Bebalkung anzupassen und/oder zusammengesetzte Taktarten zu benutzen.
Ausgewählte Schnipsel
Zusammengesetzte Taktarten
Ungerade Taktarten werden (wie etwa "5/8") werden oft als zusammengesetzte Taktarten interpretiert (bspw. "3/8 + 2/8"), in welchen zwei oder mehr Teiltakte unterschieden werden. LilyPond kann derartige Noten produzieren, indem entsprechende Taktarten gesetzt werden und die automatische Bebalkung angepasst wird.
#(define ((compound-time one two num) grob) (grob-interpret-markup grob (markup #:override '(baseline-skip . 0) #:number (#:line ((#:column (one num)) #:vcenter "+" (#:column (two num))))))) \relative c' { \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8") \time 5/8 \overrideBeamSettings #'Staff #'(5 . 8) #'end #'((* . (2 3))) c8 d e fis gis c8 fis, gis e d c8 d e4 gis8 }
Arabische Improvisation
Bei Improvisation oder taqasim, die zeitlich frei gespielt
werden, kann die Taktart ausgelassen werden und \cadenzaOn
kann eingesetzt werden. Es kann nötig sein, den Versetzungszeichenstil
anzupassen, weil sonst die Versetzungszeichen nur einmal ausgegeben
werden, da keine Taktlinien gesetzt sind. Hier ein Beispiel, wie
der Begin einer hijaz-Improvisation aussehen könnte:
\include "arabic.ly" \relative sol' { \key re \kurd #(set-accidental-style 'forget) \cadenzaOn sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol }
Siehe auch
Notationsreferenz: Manuelle Balken, Automatische Balken, Musik ohne Metrum, Automatische Versetzungszeichen, Einstellung von automatischen Balken, Taktangabe.
Schnipsel: World music.
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Arabische Taktarten ] | [ Nach oben : Arabische Musik ] | [ Weitere Literatur > ] |
Arabic music example
Hier eine Vorlage, welche den Beginn eines türkischen Semai benutzt, der in der arabischen Musikerziehung oft herangezogen wird, um Besonderheiten der arabischen Musiknotation, wie etwa Zwischenintervalle und ungewöhnliche Modi, zu illustrieren.
\include "arabic.ly" \score { \relative re' { \set Staff.extraNatural = ##f \set Staff.autoBeaming = ##f \key re \bayati \time 10/8 re4 re'8 re16 [misb re do] sisb [la sisb do] re4 r8 re16 [misb do re] sisb [do] la [sisb sol8] la [sisb] do [re] misb fa4 fa16 [misb] misb8. [re16] re8 [misb] re [do] sisb do4 sisb8 misb16 [re do sisb] la [do sisb la] la4 r8 } \header { title = "Semai Muhayer" composer = "Jamil Bek" } }
Siehe auch
Schnipsel: World music
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Allgemeine Eingabe und Ausgabe >> ] | ||
[ < Arabische Notenbeispiele ] | [ Nach oben : Arabische Musik ] | [ Allgemeine Eingabe und Ausgabe > ] |
Weitere Literatur
-
The Music of the Arabs von Habib Hassan Touma (Amadeus Press, 1996)
enthält eine Beschreibung von Maqams und Methoden zu ihrer
Gruppierung.
Es gibt auch einige Internetseiten, die Maqams erklären und teilweise auch Klangdateien zur Verfügung stellen:
Die Maqam-Gruppierungen unterscheiden sich in einigen Details, auch wenn die allgemeinen Kriterien weithin anerkannt sind: gemeinsame untere Tetrachorde sowie Modulation.
-
Es gibt keine Übereinstimmung darüber, wie die Vorzeichen für
bestimmte Maqams angegeben werden sollen. Oft wird eine
Vorzeichenart für eine ganze Maqam-Gruppe verwendet, anstatt
dass jeder Maqam eigene Vorzeichen hätte.
Oud-Lehrbücher folgender Autoren enthalten Beispiele vor allem türkischer und arabischer Kompositionen:
- Charbel Rouhana
- George Farah
- Ibrahim Ali Darwish Al-masri
[ << Spezielle Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Weitere Literatur ] | [ Nach oben : Top ] | [ Eingabestruktur > ] |
3. Allgemeine Eingabe und Ausgabe
Dieses Kapitel erklärt allgemeine Fragen zur Eingabe und Ausgabe von Notation mit LilyPond und weniger direkte Fragen der Notation.
3.1 Eingabestruktur | ||
3.2 Titel | ||
3.3 Arbeiten an Eingabe-Dateien | ||
3.4 Ausgabe kontrollieren | ||
3.5 MIDI-Ausgabe |
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Allgemeine Eingabe und Ausgabe ] | [ Nach oben : Allgemeine Eingabe und Ausgabe ] | [ Struktur einer Partitur > ] |
3.1 Eingabestruktur
Das hauptsächliche Eingabeformat von LilyPond sind Textdateien.
Üblicherweise werden diese Dateien mit der Endung .ly
versehen.
3.1.1 Struktur einer Partitur | ||
3.1.2 Mehrere Partituren in einem Buch | ||
3.1.3 Die Dateistruktur |
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Eingabestruktur ] | [ Nach oben : Eingabestruktur ] | [ Mehrere Partituren in einem Buch > ] |
3.1.1 Struktur einer Partitur
Eine \score
-Umgebung muss einen einzelnen musikalischen
Ausdruck beinhalten, der durch geschweifte Klammern begrenzt wird:
\score { ... }
Achtung: Es darf nur ein äußerer musikalischer Ausdruck
in der score
-Umgebung geschrieben werden, und er muss
von geschweiften Klammern umgeben sein.
Dieser einzelne musikalische Ausdruck kann beliebige Größe annehmen und andere musikalische Ausdrücke von beliebiger Komplexität beinhalten. Alle diese Beispielse sind musikalische Ausdrücke:
{ c'4 c' c' c' }
{ { c'4 c' c' c'} { d'4 d' d' d'} }
<< \new Staff { c'4 c' c' c' } \new Staff { d'4 d' d' d' } >>
{ \new GrandStaff << \new StaffGroup << \new Staff { \Flöte } \new Staff { \Oboe } >> \new StaffGroup << \new Staff { \GeigeI } \new Staff { \GeigeII } >> >> }
Kommentare bilden eine Ausnahme dieser Regel. (Andere Ausnahmen
siehe Die Dateistruktur.) Sowohl einzeilige als auch
Blockkommentare (eingegrenzt durch %{ .. %}
) können
an beliebiger Stelle einer Eingabedatei geschrieben werden. Sie
können innerhalb oder außerhalb der \score
-Umgebung vorkommen,
und innerhalb oder außerhalb des einzelnen musikalischen Ausdrucks
innerhalb der \score
-Umgebung.
Siehe auch
Handbuch zum Lernen: Arbeiten an Eingabe-Dateien, Musikalische Ausdrücke erklärt, Score ist ein (einziger) zusammengesetzter musikalischer Ausdruck.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Struktur einer Partitur ] | [ Nach oben : Eingabestruktur ] | [ Die Dateistruktur > ] |
3.1.2 Mehrere Partituren in einem Buch
Eine Partitur kann mehrere musikalische Stücke und verschiedene
Texte beinhalten. Beispiele hierzu sind etwa eine Etüdensammlung
oder ein Orchesterstück mit mehreren Sätzen. Jeder Satz wird
in einer eigenen \score
-Umgebung notiert:
\score { ..Noten.. }
und Texte werden mit einer \markup
-Umgebung geschrieben:
\markup { ..Text.. }
Alle Sätze und Texte, die in derselben .ly
-Datei vorkommen,
werden normalerweise in eine einzige Ausgabedatei gesetzt.
\score { .. } \markup { .. } \score { .. }
Wenn Sie aber mehrere Ausgabedateien aus einer einzigen .ly
-Datei
erstellen wollen, können Sie mehrere \book
-Umgebungen notieren.
Wenn Sie keine \book
-Umgebung in Ihrer Datei angeben, interpretiert
LilyPond die gesamte Datei als eine große \book
-Umgebung (siehe
auch Die Dateistruktur. Eine wichtige Ausnahme stellen Dokumente dar,
die mit lilypond-book erstellt werden, für die Sie explizit
\book
-Umgebungen notieren müssen, weil sonst nur die erste
\score
- bzw. \markup
-Umgebung angezeigt wird.
Der Kopfbereich für jedes Musikstück kann innerhalb der \score
-Umgebung
definiert werden. Die piece
-(Stück)-Bezeichnung aus dieser
\header
-Umgebung wird vor jedem Satz ausgegeben. Die Überschrift für
ein ganzes Buch kann innerhalb von \book
notiert werden, aber wenn
diese Umgebung fehlt, wird die \header
-Umgebung genommen, die auf
erster Ebene der Datei notiert ist.
\header { title = "Acht Miniaturen" composer = "Igor Stravinsky" } \score { … \header { piece = "Romanze" } } \markup { ..Text der zweiten Strophe.. } \markup { ..Text der dritten Strophe.. } \score { … \header { piece = "Menuetto" } }
Stücke können innerhalb eines Buches mit \bookpart
gruppiert
werden. Derartige Buchabschnitte werden durch einen Seitenumbruch
voneinander getrennt und können wie auch das ganze Buch selber mit
einem Titel innerhalb einer \header
-Umgebung beginnen.
\bookpart { \header { title = "Buchtitel" subtitle = "Erster Teil" } \score { … } … } \bookpart { \header { subtitle = "Zweiter Teil" } \score { … } … }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Mehrere Partituren in einem Buch ] | [ Nach oben : Eingabestruktur ] | [ Titel > ] |
3.1.3 Die Dateistruktur
Eine .ly
-Datei kann eine belibige Anzahl an Ausdrücken
auf der obersten Ebene beinhalten, wobei ein Ausdrück der obersten
Ebene einer der folgenden sein kann:
-
Eine Ausgabedefinition, wie
\paper
,\midi
und\layout
. Derartige Definitionen auf oberster Ebene verändern die globalen Einstellungen für das ganze „Buch“. Wenn mehr als eine derarte Definition desselben Typs angegeben wird, hat die spätere Vorrang. -
Ein direkter Scheme-Ausdruck, wie etwa
#(set-default-paper-size "a7" 'landscape)
oder#(ly:set-option 'point-and-click #f)
. -
Eine
\header
-Umgebung. Damit wird die globale Titelei eingestellt. Das ist die Umgebung, in der sich Definition für das ganze Buch befinden, wie Komponist, Titel usw. -
Eine
\score
-Umgebung. Die in ihr enthaltene Partitur wird zusammen mit anderen vorkommenden\score
-Umgebungen gesammelt und in ein\book
zusammengefasst. Dieses Verhalten kann verändert werden, indem die Variabletoplevel-score-handler
auf höchster Ebene gesetzt wird. Die Definition des Standards findet sich in der Datei ‘../scm/lily.scm’. -
Eine
\book
-Umgebung fasst mehrere Sätze (d. h. mehrere\score
-Umgebungen) logisch in ein Dokument zusammen. Wenn mehrere\score
-Partituren vorkommen, wird für jede\book
-Umgebung eine eigene Ausgabedatei erstellt, in der alle in der Umgebung enthaltenen Partituren zusammengefasst sind. Der einzige Grund, explizit eine\book
-Umgebung zu setzen, ist, wenn mehrere Ausgabedateien aus einer einzigen Quelldatei erstellt werden sollen. Eine Ausnahme sind lilypond-book-Dokumente, in denen eine\book
-Umgebung explizit hinzugefügt werden muss, wenn mehr als eine\score
- oder\markup
-Umgebung im gleichen Beispiel angezeigt werden soll. Dieses Verhalten kann verändert werden, indem die Variabletoplevel-book-handler
auf höchster Ebene gesetzt wird. Die Definition des Standards findet sich in der Datei ‘../scm/lily.scm’. -
Eine
\bookpart
-Umgebung. Ein Buch (\book
) kann in mehrere Teile untergliedert sein, indem\bookpart
-Umgebungen eingesetzt werden. Jeder Buchabschnitt beginnt auf einer neuen Seite und kann eigene Papierdefinitionen in einer\paper
-Umgebung haben. -
Ein zusammengesetzter musikalischer Ausdruck wie etwa
{ c'4 d' e'2 }
Dieses Beispiel wird von LilyPond automatisch in einer
\score
-Umgebung in einem Buch interpretiert und mit anderen\score
-Umgebungen und musikalischen Ausdrücken auf der höchsten Ebene zusammen ausgegeben. Anders gesagt: eine Datei, die nur das obige Beispiel beinhaltet, wird übersetzt zu\book { \score { \new Staff { \new Voice { { c'4 d' e'2 } } } } \layout { } \header { } }
Dieses Verhalten kann verändert werden, indem die Variable
toplevel-music-handler
auf der oberseten Ebene gesetzt wird. Die Definition des Standards findet sich in der Datei ‘../scm/lily.scm’. -
Eine Textbeschriftung, eine Strophe etwa:
\markup { 2. Die erste Zeile der zweiten Strophe. }
Textbeschriftungen werden über, zwischen oder unter musikalischen Ausdrücken gesetzt, so wie sie notiert werde.
-
Eine Variable, wie
foo = { c4 d e d }
Sie kann dann später in der Datei eingesetzt werden, indem
\foo
geschrieben wird. Die Beizeichnung der Variable darf nur aus alphabetischen Zeichen bestehen, keine Zahlen, Unter- oder Bindestriche.
Das folgende Beispiel zeigt drei Dinge, die auf der obersten Ebene notiert werden können:
\layout { % Zeilen rechtsbündig setzen ragged-right = ##t } \header { title = "Do-re-mi" } { c'4 d' e2 }
An einer beliebigen Stelle der Datei kann jede der folgenden lexikalen Anweisungen notiert werden:
-
\version
-
\include
-
\sourcefilename
-
\sourcefileline
-
Ein einzeiliger Kommentar, beginnend mit
%
. -
Ein mehrzeiliger Kommentar, umgeben von
%{ .. %}
.
Leerzeichen zwischen Einheiten in der Eingabe werden generell ignoriert und können nach Belieben weggelassen werden oder hinzugefügt werden, um die Lesbarkeit des Codes zu verbessern. Mindestens ein Leerzeichen sollte jedoch unter folgenden Umständen immer eingesetzt werden, um Fehler zu vermeiden:
- Vor und hinter jeder schließenden oder öffnenden Klammer,
-
nach jedem Befehl oder jeder Variable, also jeder Einheit, die mit
\
beginnt, -
nach jeder Einheit, die als Scheme-Ausdruck interpretiert werden,
also alle Einheiten, die mit
#
beginnen. - Alle Einheiten von Scheme-Ausdrücken müssen mit Leerzeichen getrennt werden,
-
in Gesangstextabschnitten (
lyricmode
) müssen Leerzeichen zwischen alle Ausdrücke in\override
- und\set
-Befehlen gesetzt werden. Insbesondere müssen um Punkte und Gleichzeitszeichen in Befehlen wie\override Score . LyricTex #'font-size = #5)
und vor dem gesamten Befehl geschrieben werden.
Siehe auch
Hanbuch zum Lernen: Wie eine LilyPond-Eingabe-Datei funktioniert.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Die Dateistruktur ] | [ Nach oben : Allgemeine Eingabe und Ausgabe ] | [ Titel erstellen > ] |
3.2 Titel
Fast alle gedruckten Noten beinhalten einen Titel und den Namen des Komponisten, teilweise wird auch noch sehr viel mehr Information zur Verfügung gestellt.
3.2.1 Titel erstellen | ||
3.2.2 Eigene Titel | ||
3.2.3 Verweis auf die Seitenzahlen | ||
3.2.4 Inhaltsverzeichnis |
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Titel ] | [ Nach oben : Titel ] | [ Eigene Titel > ] |
3.2.1 Titel erstellen
Überschriften können für jede \score
-Umgebung erstellt werden, sowohl
für die gesamte Datei (oder eine \book
-Umgebung) als auch für
einzelne Buchabschnitte (innerhalb einer \bookpart
-Umgebung).
Der Inhalt der Titelei wird aus der \header
-Umgebung übernommen. Die
\header
-Umgebung eines Buches unterstützt folgende Felder:
-
dedication
Die Widmung der Noten, wird auf oben auf der ersten Seite gesetzt.
-
title
Die Überschrift der Noten, wird unter der Widmung zentriert gesetzt.
-
subtitle
Untertitel, zentriert unter der Überschrift.
-
subsubtitle
Unteruntertitel, zentriert unter dem Untertitel.
-
poet
Name des Dichters, linksbündig unter dem Unteruntertitel.
-
instrument
Bezeichnung des Instruments, zentriert unter dem Unteruntertitel. Auch oben auf der Seite zentriert (andere als erste Seite).
-
composer
Name des Komponisten, rechtsbüngig unter dem Unteruntertitel.
-
meter
Metrum, linksbündig unter dem Dichter.
-
arranger
Name des Bearbeiters/Arrangeurs, rechtsbündig unter dem Komponisten.
-
piece
Bezeichnung des Stückes, linksbündig unter dem Metrum.
-
opus
Bezeichnung des Opus, rechtsbündig unter dem Bearbeiter.
-
breakbefore
Hiermit beginnt der Titel auf einer neuen Steite. (Kann die Werte ##t (wahr) oder ##f (falsch) haben.)
-
copyright
Anzeige eines Copyright, zentriert unten auf der ersten Seite. Um das Copyright-Symbol zu notieren, siehe Zeichenkodierung.
-
tagline
Zentriert unten auf der letzten Seite. Enthält standardmäßig: „Music engraving by LilyPond (version)—www.lilypond.org“
Hier eine Demonstration der möglichen Felder. Beliebige Formatierungsbefehle für Textbeschriftung können in der Titelei eingesetzt werden. Siehe hierzu auch Text formatieren.
\paper { line-width = 9.0\cm paper-height = 10.0\cm } \book { \header { dedication = "mir gewidmet" title = \markup \center-column { "Titel erste Zeile" "Titel zweite Zeile, länger" } subtitle = "Untertitel" subsubtitle = #(string-append "Unteruntertitel LilyPond-Version " (lilypond-version)) poet = "Dichter" composer = \markup \center-column { "Komponist" \small "(1847-1973)" } texttranslator = "Übersetzer" meter = \markup { \teeny "m" \tiny "e" \normalsize "t" \large "r" \huge "um" } arranger = \markup { \fontsize #8.5 "Be" \fontsize #2.5 "ar" \fontsize #-2.5 "be" \fontsize #-5.3 "i" \fontsize #7.5 "ter" } instrument = \markup \bold \italic "Instrument" piece = "Stück" } \score { { c'1 } \header { piece = "Stück zwei" opus = "Opus1" } } \markup { und jetzt... } \score { { c'1 } \header { piece = "Stück2" opus = "Opus2" } } }
Wie schon oben gezeigt, können mehrfache \header
-Umgebungen
eingesetzt werden. Wenn das gleiche Feld in mehreren
Umgebungen, wird die letzte vorkommende
Version benutzt. Hier ein kurzes Beispiel:
\header { composer = "Komponist" } \header { piece = "Stück" } \score { \new Staff { c'4 } \header { piece = "Neues Stück" % überschreibt die die vorige Definition } }
Wenn \header
innerhalb der \score
-Umgebung definiert wird,
wird normalerweise nur die Information von piece
und opus
ausgegeben. Musikalische Ausdrücke innerhalb von \score
müssen
vor \header
gesetzt werden.
\score { { c'4 } \header { title = "title" % not printed piece = "piece" opus = "opus" } }
Dieses Verhalten kann verändert werden (sodass alle Angaben aus der
überschrift gesetzt werden, wenn sich \header
innerhalb von
\score
befindet), indem man schreibt:
\paper{ print-all-headers = ##t }
Die Standardfußzeile ist leer mit Ausnahme der ersten Seite, auf der
das copyright
-Feld aus der \header
-Umgebung eingefügt wird,
und die letzte Seite, auf der das tagline
-Feld eingefügt wird.
Der Standardinhalt von tagline
ist „Music engraving by
LilyPond (version)—www.lilypond.org“. Gut gesetzte Noten werben sehr effektiv
für LilyPond, darum bitten wir darum, diese Zeile stehen zu lassen,
wenn es möglich ist.
Ein Titelfeld kann vollständig entfernt werden, indem es auf falsch gesetzt wird:
\header { tagline = ##f composer = ##f }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Titel erstellen ] | [ Nach oben : Titel ] | [ Verweis auf die Seitenzahlen > ] |
3.2.2 Eigene Titel
Kompliziertere Anpassungen können vorgenommen werden, indem die
folgenden Variablen innerhalb der \paper
-Umgebung geändert
werden. Die Init-Datei ‘../ly/titling-init.ly’ enthält das
Standardverhalten.
-
bookTitleMarkup
Das ist die Überschrift, die für das gesamte Dokument gilt. Üblicherweise wird hier der Komponist und die Überschrift des Werkes genannt.
-
scoreTitleMarkup
Das ist die Überschrift, die vor jede
\score
-Umgebung gesetzt wird. Überlicherweise wird hier etwa die Bezeichnung eines Satzes notiert (impiece
-Feld).-
oddHeaderMarkup
Das ist der Seitenkopf für ungerade Seiten.
-
evenHeaderMarkup
Das ist der Seitenkopf für gerade Seiten. Wenn undefiniert, wird der ungerade Seitenkopf eingesetzt.
Standardmäßig werden die Kopfzeilen so definiert, dass die Seitennummer sich außen befindet und das Instrument zentriert gesetzt wird.
-
oddFooterMarkup
Das ist die Fußzeile für ungerade Seiten.
-
evenFooterMarkup
Das ist die Fußzeile für gerade Seiten. Wenn undefiniert, wird die ungerade Fußzeile eingesetzt.
Standardmäßig wird in der Fußzeile auf der ersten Seite das Copyright und auf der letzten Seite die Tag-Zeile gesetzt.
Die folgende Definition setzt die Überschrift linksbündig und den Komponisten rechtsbündig auf einer einzelnen Zeile:
\paper { bookTitleMarkup = \markup { \fill-line { \fromproperty #'header:title \fromproperty #'header:composer } } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Eigene Titel ] | [ Nach oben : Titel ] | [ Inhaltsverzeichnis > ] |
3.2.3 Verweis auf die Seitenzahlen
Eine bestimmte Stelle der Partitur kann mit einem \label
-Befehl
markiert werden, sowohl auf oberster Ebene als auch innerhalb eines
musikalischen Ausdrucks. Auf diese Marke kann dann verwiesen werden,
um die Seitenzahl zu erhalten, auf der die Marke vorkommt. Der
Verweis wird mit dem Befehl \page-ref
gefordert (innerhalb
von \markup
).
\header { tagline = ##f } \book { \label #'ErstePartitur \score { { c'1 \pageBreak \mark A \label #'ZeichenA c' } } \markup { Die erste Partitur fängt auf Seite \page-ref #'ErstePartitur "0" "?" an.} \markup { Zeichen A befindet sich auf Seite \concat { \page-ref #'ZeichenA "0" "?" . } } }
Der \page-ref
-Textbeschriftungsbefehl braucht drei Argumente:
- die Marke, ein Scheme-Symbol, etwa
#'ErstePartitur
, - eine Beschriftung, die als Platzhalter benutzt wird, um die Breite des Verweisen zu schätzen,
- eine Beschriftung, die anstelle der Seitenzahl gesetzt wird, wenn die Marke unbekann ist.
Der Grund, warum ein Platzhalter benötigt wird, ist dass zu dem Zeitpunkt, an dem die Textbeschriftungen ausgewertet werden, noch keine Seitenumbrüche vorgenommen wurden und die Seitenzahlen deshalb noch nicht bekannt sind. Um hier ein Problem zu vermeiden, wird die eigentliche Auswertung der Textbeschriftung erst später ausgeführt, die Größe des Textes muss aber schon vorher bekannt sein. Die Größe wird mithilfe des Platzhalters bestimmt. Wenn eine Partitur zwischen 10 und 99 Seiten hat, kann man "00" schreiben, also eine zweistellige Zahl.
\label
\page-ref
Vordefinierte Befehle
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Verweis auf die Seitenzahlen ] | [ Nach oben : Titel ] | [ Arbeiten an Eingabe-Dateien > ] |
3.2.4 Inhaltsverzeichnis
Ein Inhaltsverzeichnis kann eingefügt werden mit dem Befehl
\markuplines \table-of-contents
. Die Elemente, die im
Inhaltsverzeichnis aufgelistet werden sollen, werden mit dem
\tocItem
-Befehl markiert, welches sowohl auf höchster
Ebene als auch in einem musikalischen Ausdruck verwendet werden
kann.
\markuplines \table-of-contents \pageBreak \tocItem \markup "Erste Partitur" \score { { c' % ... \tocItem \markup "Ein bestimmter Punkt innerhalb der ersten Partitur" d' % ... } } \tocItem \markup "zweite Partitur" \score { { e' % ... } }
Die Beschriftungen, die benutzt werden um das Inhaltsverzeichnis
zu formatieren, sind in der \paper
-Umgebung definiert.
Die Standardformatierungselemente sind tocTitleMarkup
um die Überschrift zu formatieren und tocItemMarkup
um
die einzelnen Inhaltselemente zu formatieren, bestehend aus
dem Titelelement und einer Seitenzahl. Die Variablen können
durch den Benutzer geändert werden:
\paper { %% Übersetzung der Inhaltsverzeichnisüberschrift nach französisch: tocTitleMarkup = \markup \huge \column { \fill-line { \null "Table des matières" \null } \hspace #1 } %% hier größere Schriftarten tocItemMarkup = \markup \large \fill-line { \fromproperty #'toc:text \fromproperty #'toc:page } }
Die Inhaltsverzeichniselemente Text und Seitenzahl werden
in der Definition von tocItemMarkup
aufgerufen mit
#'toc:text
und #'toc:page
.
Neue Befehle und Beschriftungen können auch definiert werden, um eigene Inhaltsverzeichnisse zu gestalten:
- zuerst muss eine neue Beschriftungsvariable in der
\paper
-Umgebung definiert werden - dann muss die musikalische Funktion definiert werden, die ein Element zum Inhaltsverzeichnis hinzufügt, indem die neue Variable benutzt wird.
Das folgende Beispiel definiert einen neuen Stil um Akt-Bezeichnungen einer Oper in das Inhaltsverzeichnis aufzunehmen:
\paper { tocActMarkup = \markup \large \column { \hspace #1 \fill-line { \null \italic \fromproperty #'toc:text \null } \hspace #1 } } tocAct = #(define-music-function (parser location text) (markup?) (add-toc-item! 'tocActMarkup text))
Siehe auch
Installierte Dateien: ‘../ly/toc-init.ly’.
Vordefinierte Befehle
\table-of-contents
,
\tocItem
.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Inhaltsverzeichnis ] | [ Nach oben : Allgemeine Eingabe und Ausgabe ] | [ LilyPond-Dateien einfügen > ] |
3.3 Arbeiten an Eingabe-Dateien
3.3.1 LilyPond-Dateien einfügen | ||
3.3.2 Verschiedene Editionen aus einer Quelldatei | ||
3.3.3 Zeichenkodierung | ||
3.3.4 LilyPond-Notation anzeigen |
3.3.1 LilyPond-Dateien einfügen
Ein größeres Projekt kann in einzelne Dateien aufteteilt werden. Um eine andere Datei einzubinden, kann der Befehl
\include "andereDatei.ly"
benutzt werden.
Die Zeile \include "andereDatei.ly"
benimmt sich genauso,
also ob der Inhalt der Datei andereDatei.ly
komplett in die
Hauptdatei eingefügt werden würde. So kann man für ein größeres
Projekt die einzelnen Stimmen der Instrumente getrennt notieren
und sie dann in einer Partitur-Datei benutzen. Meistens werden
in den eingefügten Dateien einige Variablen definiert, die dann
auch in der Hauptdatei eingesetzt werden können. Mit Marken (Tags)
gekennzeichnete Abschnitte können eingesetzt werden, um die
entsprechenden Noten etc. an verschiedenen Stellen in der Datei
zur Verfügung zu stellen. Siehe auch Verschiedene Editionen aus einer Quelldatei.
Auf Dateien im aktuellen Verzeichnis kann einfach mit dem Dateinamen
nach dem \include
-Befehl verwiesen werden. Dateien an anderen
Stellen können eingebunden werden, indem entweder ein vollständiger
Pfad oder ein relativer Pfad zu der Datei angegeben wird. Hierbei
sollten die für UNIX typischen Schrägstriche (/) und nicht die
rückwärtsgeneigten von Windows (\) verwendet werden, um die Verzeichnisse
zu trennen. Wenn etwa die Datei ‘kram.ly’ ein Verzeichnis
höher liegt als das aktuelle Verzeichnis, sollte der Befehl so
aussehen:
\include "../kram.ly"
Wenn die Orchesterstimmen andererseits in einem Unterordner mit
der Bezeichnung stimmen
liegen, sieht er folgendermaßen
aus:
\include "stimmen/VI.ly" \include "stimmen/VII.ly" ... etc
Dateien, die eingebunden werden sollen, können selber auch wiederum
ein \include
enthalten. Diese Einbindung zweiter Ebene
werden erst interpretiert, wenn sie sich in der Hauptdatei befinden,
sodass die Pfadangaben hier nicht relativ zur eingebundenen Datei,
sondern relativ zur Hauptdatei gesetzt werden müssen. Dieses Verhalten
kann jedoch auch verändert werden, indem man lilypond die Option
-drelative-includes
auf der Kommandozeile zuweist (oder indem
man den Befehl #(ly:set-option 'relative-includes #t)
an den
Beginn der Quelldatei schreibt). Mit relative-includes
wird
der Pfad jedes \include
-Befehls als relativ zu der Datei angenommen,
in der sich der Befehl befindet. Dieses Verhalten wird empfohlen und wird
in zukünftigen Versionen von LilyPond den Standard darstellen.
Dateien können auch aus einem Verzeichnis eingebunden werden, dass im Suchpfad von LilyPond liegt. Hierzu muss auf der Kommandozeile das entsprechende Verzeichnis angegeben werden und die Dateien, die eingebunden werden, müssen nur mit ihrem Namen notiert sein. Wenn etwa die Datei ‘Haupt.ly’ kompiliert werden soll, die Dateien aus dem Unterverzeichnis ‘stimmen’ einbindet, müssen sie sich im Verzeichnis von ‘Haupt.ly’ befinden und dann LilyPond folgendermaßen aufrufen:
lilypond --include=stimmen Haupt.ly
In ‘Haupt.ly’ steht:
\include "VI.ly" \include "VII.ly" ... usw.
Dateien, die in vielen Partituren verwendet werden sollen, können im LilyPond-Verzeichnis ‘../ly’ gespeichert werden. (Die Stelle, an der dieses Verzeichnis sich befindet, hängt vom Betriebssystem ab, siehe hierzu Mehr Information). Dateien in diesem Verzeichnis können einfach mit ihrem Namen eingefügt werden. So werden auch die Sprachdateien wie etwa ‘deutsch.ly’ eingefügt.
LilyPond lädt eine Anzahl an Dateien, wenn das Programm aufgerufen wird.
Diese Dateien sind für den Benutzer nicht ersichtlich, aber die Dateien
können identifiziert werden, indem LilyPond auf der Komandozeile mit
Option aufgerufen wird: lilypond --verbose
. Hiermit wird
neben anderer Information auch eine Liste and Pfaden und Dateien
aufgeführt, die LilyPond benutzt. Die wichtigeren Dateien werden
im Abschnitt
Mehr Information besprochen.
Diese Dateien können verändert werden, aber Änderungen gehen verloren,
wenn eine neue LilyPond-Version installiert wird.
Eine einfache Beispiele, die die Benutzung von \include
demonstrieren,
sind dargestellt in
Partituren und Stimmen.
Siehe auch
Handbuch zum Lernen: Mehr Information, Partituren und Stimmen.
Bekannte Probleme und Warnungen
Wenn eine Datei eingebunden wird, deren Name einer Datei aus dem Installationsverzeichnis von LilyPond entspricht, wird die installierte Datei anstelle der eigenen verwendet.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < LilyPond-Dateien einfügen ] | [ Nach oben : Arbeiten an Eingabe-Dateien ] | [ Variablen benutzen > ] |
3.3.2 Verschiedene Editionen aus einer Quelldatei
Es gibt verschiedene Funktionen, die es möglich machen, unterschiedliche Versionen einer Partitur aus der gleichen Quelldatei zu produzieren. Variablen werden am besten eingesetzt, wenn es darum geht, längere Notenpassagen und/oder Anmerkungen/Textmarken miteinander auf verschiedene Weise zu kombinieren. Tag-Marken dagegen werden am besten eingesetzt, wenn eine von mehreren kurzen alternativen Notenabschnitten ausgewählt werden soll. Egal welche Methode am Ende eingesetzt wird: Es erleichtert die Arbeit in jedem Fall, wenn die eigentlichen Noten und die Struktur der Paritur voneinander getrennt notiert werden – so kann die Struktur geändert werden, ohne dass man Änderungen an den Noten vornehmen muss.
Variablen benutzen | ||
Marken benutzen |
Variablen benutzen
Wenn Notenabschnitt in Variablen definiert werden, können sie an unterschiedlichen Stellen in der Partitur eingesetzt werden, siehe auch Stücke durch Bezeichner organisieren. Zum Beispiel enthält eine Vokalpartitur für ein a cappella Stück oft einen Klavierauszug, der das Einüben einfacher macht. Der Klavierauszug enthält die gleichen Noten, sodass man sie nur einmal notieren muss. Noten aus zwei Variablen können auf einem System kombiniert werden, siehe Automatische Kombination von Stimmen. Hier ein Beispiel:
sopranoMusic = \relative c'' { a4 b c b8( a)} altoMusic = \relative g' { e4 e e f } tenorMusic = \relative c' { c4 b e d8( c) } bassMusic = \relative c' { a4 gis a d, } allLyrics = \lyricmode {King of glo -- ry } << \new Staff = "Soprano" \sopranoMusic \new Lyrics \allLyrics \new Staff = "Alto" \altoMusic \new Lyrics \allLyrics \new Staff = "Tenor" { \clef "treble_8" \tenorMusic } \new Lyrics \allLyrics \new Staff = "Bass" { \clef "bass" \bassMusic } \new Lyrics \allLyrics \new PianoStaff << \new Staff = "RH" { \set Staff.printPartCombineTexts = ##f \partcombine \sopranoMusic \altoMusic } \new Staff = "LH" { \set Staff.printPartCombineTexts = ##f \clef "bass" \partcombine \tenorMusic \bassMusic } >> >>
Unterschiedliche Partituren, die entweder nur den Chor oder das Klavier zeigen, können produziert werden, indem die Struktur verändert wird; die Noten müssen dazu nicht verändert werden.
Für längere Partituren können Variablen in eigene Dateien notiert werden, die dann eingebunden werden, siehe LilyPond-Dateien einfügen.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Variablen benutzen ] | [ Nach oben : Verschiedene Editionen aus einer Quelldatei ] | [ Zeichenkodierung > ] |
Marken benutzen
Der \tag #'TeilA
-Befehl markiert einen musikalischen
Ausdruck mit der Bezeichnung TeilA. Ausdrücke, die auf diese
Weise markiert werden, können mit ihrer Bezeichnung später ausgewählt
bzw. ausgefiltert werden. Das geschieht mit den Befehlen
\keepWithTag #'Bezeichnung
bzw. \removeWithTag #'Bezeichnung
.
Die Wirkung dieser Filter auf die markierten Notenabschnitte ist
wie folgt:
Filter | Resultat |
---|---|
Markierte Noten mit vorgesetztem | Unmarkierte Noten und Noten mit der Marke Bezeichnung werden gesetzt, Noten mit einer anderen Marke werden nicht angezeigt. |
Markierte Noten mit vorgesetztem | Unmarkierte Noten und Noten mit einer anderen Marke als Bezeichnung wird angezeigt, Noten markiert mit Bezeichnung werden nicht angezeigt. |
Markierte Noten, weder mit vorgesetztem | Alle markierten und unmarkierten Noten werden angezeigt. |
Die Argumente der Befehle \tag
, \keepWithTag
und
\removeWithTag
sollten ein Symbol sein (wie etwa
#'score
oder #'part
), gefolgt von einem musikalischen
Ausdruck.
Im folgenden Beispiel erscheinen zwei Versionen der Noten, eine zeigt Triller in normaler Notation, die andere zeigt sie ausgeschrieben:
music = \relative g' { g8. c32 d \tag #'trills {d8.\trill } \tag #'expand {\repeat unfold 3 {e32 d} } c32 d } \score { \keepWithTag #'trills \music } \score { \keepWithTag #'expand \music }
Entsprechend können auch Abschnitte ausgeschlossen werden; das erfordert manchmal weniger Schreibarbeit:
music = \relative g' { g8. c32 d \tag #'trills {d8.\trill } \tag #'expand {\repeat unfold 3 {e32 d} } c32 d } \score { \removeWithTag #'expand \music } \score { \removeWithTag #'trills \music }
Marken können auch auf Artikulationen, Text usw angewendet werden, indem man ihnen
-\tag #'your-tag
voranstellt (jedoch nach der Note, an die sie gebunden sind). Mit diesem Code etwa könnte man entweder Fingersatz oder aber einen Text ausgeben:
c1-\tag #'finger ^4 c1-\tag #'warn ^"Achtung!"
Mehrfache Marken können mithilfe von mehreren \tag
-Befehlen
notiert werden:
music = \relative c'' { \tag #'a \tag #'both { a a a a } \tag #'b \tag #'both { b b b b } } << \keepWithTag #'a \music \keepWithTag #'b \music \keepWithTag #'both \music >>
Mehrfache \removeWithTag
-Filter können auf einen
musikalischen Ausdruck angewendet werden, um mehrere unterschiedliche
markierte Abschnitte aus dem Druckbild zu entfernen.
music = \relative c'' { \tag #'A { a a a a } \tag #'B { b b b b } \tag #'C { c c c c } \tag #'D { d d d d } } { \removeWithTag #'B \removeWithTag #'C \music }
Zwei oder mehr \keepWithTag
-Filter in einem musikalischen
Ausdruck bewirken, dass alle markierten Abschnitte entfernt
werden, weil der erste Befehl alle markierten Abschnitt außer dem
im Befehl genannten wegfiltert und der zweite Befehl dann auch diesen
eben genannten zusätzlich entfernt.
Siehe auch
Handbuch zum Lernen: Stücke durch Bezeichner organisieren.
Notationsreferenz: Automatische Kombination von Stimmen, LilyPond-Dateien einfügen.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Marken benutzen ] | [ Nach oben : Arbeiten an Eingabe-Dateien ] | [ LilyPond-Notation anzeigen > ] |
3.3.3 Zeichenkodierung
LilyPond benutzt alle Zeichen, die durch das Unicode-Konsortium und ISO/IEC 10646 definiert sind. Hiermit wird den Zeichen fast aller Schriftsysteme der Welt ein eindeutiger Name und ein Code-Punkt zugewiesen, mit dem sie identifizierbar sind. Unicode kann mit mehreren Zeichenkodierungen verwirklicht werden. LilyPond benutzt die UTF-8-Kodierung (UTF = Unicode Transformation Format), in der die normalen Zeichen des lateinischen Alphabets mit einem Byte dargestellt werden, während alle anderen Zeichen zwischen zwei und vier Byte Länge haben.
Das Aussehen des Zeichens wird bestimmt durch die gerade benutzte Schriftart (engl. font). In einer Schriftartdatei werden die Nummern der Unicode-Zeichen einem bestimmten Glyphen zugeordnet. LilyPond verwendet die Pango-Bibliothek um mehrsprachige Texte und komplexe Skripte korrekt zu setzen.
LilyPond verändert die Kodierung der Eingabedatei nicht. Das heißt, dass jeder Text – Überschriften, Gesangstext, Spielanweisungen etc. – der nicht nur aus ASCII-Zeichen besteht, in UTF-8 kodiert sein musst. Am einfachsten geht das, indem man einen Texteditor einsetzt, der mit Unicode-Zeichen umgehen kann. Die meisten modernen weit verbreiteten Editoren besitzen heute UTF-8-Unterstützung, wie etwa vim, Emacs, jEdit oder GEdit. Alle MS Windows-Systeme nach NT benutzen Unicode intern, sodass sogar Notepad Dateien in UTF-8 lesen und speichern kann. Ein Editor mit mehr Funktionen unter Windows ist BabelPad oder Notepad++.
Wenn eine LilyPond-Eingabedatei nicht-ASCII-Zeichen enthält und nicht in UTF-8 gespeichert ist, gibt es folgende Fehlermeldung:
FT_Get_Glyph_Name () error: invalid argument
Heir ein Beispiel mit Kyrilliza, hebräischem und portugiesischem Text:
Um einen einzelnen Buchstaben zu notieren, für den die Unicode-Ziffernfolge
bekannt ist, der aber nicht auf der Tastatur zu finden ist, kann
der Befehl \char ##xhhhh
oder \char #dddd
innerhalb einer
\markup
-Umgebung benutzt werden. Hierbei bedeutet hhhh
die
hexadezimale Zahl und ddd
die entsprechende dezimale Zahl
für das erforderliche Zeichen. Nullen zu Beginn können ausgelassen werden,
aber normalerweise werden alle vier Zeichen der hexadezimalen Notation
notiert. (Achten Sie darauf, dass Sie nicht UTF-8-Codepunkte
einsetzen, weil UTF-8 zusätzliche Bits enthält, die die Nummer der Oktets bezeichnet.)
Mit \char ##x03BE
und \char #958
wird
beispielsweise das Unicode-Zeichen U+03BE notiert, welches die
Unicode-Bezeichnung „Greek Small Letter Xi“ hat.
Alle existierenden Unicode-Zeichen können auf diese Weise notiert werden, und wenn für alle Zeichen dieses Format angewandt wird, muss die Datei nicht im utf-8-Format gespeichert werden. Es muss natürlich auch noch eine Schriftart auf dem System installiert sein, die die notierten Zeichen darstellen kann.
Das nächste Beispiel zeigt, wie Unicode-Zeichen an vier Stellen mit dem hexadezimalen Code notiert werden: in einem Übungszeichen, als Artikulationszeichen, im Gesangstext und als normaler Text außerhalb der Partitur.
\score { \relative c'' { c1 \mark \markup { \char ##x03EE } c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } } } \addlyrics { O \markup { \concat{ Ph \char ##x0153 be! } } } } \markup { "Copyright 2008--2010" \char ##x00A9 }
Um das Copyright-Zeichen zu notieren, kann folgender Code eingesetzt werden:
\header { copyright = \markup { \char ##x00A9 "2008" } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Zeichenkodierung ] | [ Nach oben : Arbeiten an Eingabe-Dateien ] | [ Ausgabe kontrollieren > ] |
3.3.4 LilyPond-Notation anzeigen
Ein musikalischer Ausdruck in LilyPond-Notation kann mit der Funktion
\displayMusic
angezeigt werden. Der Code
{ \displayLilyMusic \transpose c a, { c e g a bes } }
etwa wird ausgeben:
{ a, cis e fis g }
Normalerweise werden diese Zeilen zusammen mit allen anderen
Nachrichten auf der Kommandozeile ausgegeben. Um sie separat zu
speichern und das Ergebnis von \displayMusic
weiterzubenutzen,
kann die Ausgabe mit folgendem Befehl in eine Datei umgeleitet werden:
lilypond file.ly >display.txt
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < LilyPond-Notation anzeigen ] | [ Nach oben : Allgemeine Eingabe und Ausgabe ] | [ Notationsfragmente extrahieren > ] |
3.4 Ausgabe kontrollieren
3.4.1 Notationsfragmente extrahieren | ||
3.4.2 Korrigierte Musik überspringen |
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Ausgabe kontrollieren ] | [ Nach oben : Ausgabe kontrollieren ] | [ Korrigierte Musik überspringen > ] |
3.4.1 Notationsfragmente extrahieren
Es ist möglich, kleine Abschnitte einer großen Partitur direkt aus der Quelldatei zu erzeugen. Das kann damit verglichen werden, dass man mit der Schere bestimmte Regionen ausschneidet.
Es wird erreicht, indem man die Takte, die ausgeschnitten werden sollen (engl. to clip = ausschneiden), extra definiert. Mit folgender Defintion beispielsweise
\layout { clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) }
wird ein Fragment ausgeschnitten, dass auf der Mitte des fünften Taktes
beginnt und im siebten Takt endet. Die Bedeutung von 5 1 2
ist:
nach einer Halben in Takt fünf, 7 3 4
heißt: nach drei Vierteln
in Takt 7.
Weitere Bereiche, die ausgeschnitten werden sollen, können definiert werden, indem mehrere derartige Paare definiert werden.
Um diese Funktion auch nutzen zu können, muss LilyPond mit dem
Parameter -dclip-systems
aufgerufen werden. Die Schnipsel
werden als EPS ausgegeben und dann zu PDF und PNG konvertiert, wenn
diese Formate auch als Parameter angegeben werden.
Zu mehr Information über Ausgabeformate siehe lilypond aufrufen.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Notationsfragmente extrahieren ] | [ Nach oben : Ausgabe kontrollieren ] | [ MIDI-Ausgabe > ] |
3.4.2 Korrigierte Musik überspringen
Wenn man Noten eingibt oder kopiert, sind meistens nur die Noten nahe dem Ende (wo gerade neue Noten notiert wurden) wichtig für Kontrolle und Korrektur. Um die Korrektur zu beschleunigen, kann eingestellt werden, dass nur die letzten paar Takte angezeigt werden. Das erreicht man mit dem Befehl
showLastLength = R1*5 \score { ... }
in der Quelldatei. Damit werden nur die letzten fünf Takte (in einem
4/4-Takt) eines jeden \score
-Abschnitts übersetzt. Besonders
bei längeren Stücken ist es meistens sehr viel schneller, nur einen
kleinen Teil des Stückes zu setzen als die gesamte Länge. Wenn man
am Anfang eines Stückes arbeitet (weil etwa ein neuer Teil hinzugefügt
werden soll), kann auch die showFirstLength
-Eigenschaft
nützlich sein.
Nur bestimmte Teile einer Partitur zu überspringen, kann mit der
Eigenschaft Score.skipTypesetting
sehr genau kontrolliert
werden. Für den Bereich, für den sie auf „wahr“ gesetzt wird,
wird kein Notensatz ausgegeben.
Diese Eigenschaft kann auch benutzt werden, um die MIDI-Ausgabe zu kontrollieren. Hiermit werden alle Ereignisse, auch Tempo- und Instrumentenwechsel ausgelassen. Man muss also sehr genau darauf achten, dass nichts unerwartetes geschieht.
\relative c'' { c8 d \set Score.skipTypesetting = ##t e e e e e e e e \set Score.skipTypesetting = ##f c d b bes a g c2 }
In polyphoner Notation wirkt sich Score.skipTypesetting
auf
alle Stimmen und Systeme aus, sodass noch mehr Zeit bei der
Übersetzung der Datei gespart wird.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Korrigierte Musik überspringen ] | [ Nach oben : Allgemeine Eingabe und Ausgabe ] | [ MIDI-Dateien erstellen > ] |
3.5 MIDI-Ausgabe
MIDI (Musical Instrument Digital Interface) ist ein Standard zur Kontrolle und Interaktion mit digitalen Instrumenten. Eine MIDI-Datei ist eine Anzahl von Noten auf einer Anzahl von Bändern/Stimmen. Es ist keine eigentliche Klangdatei, denn man benötigt spezielle Programme die die Notenereignisse in Klang umwandeln können.
Der Notensatz von LilyPond kann in MIDI umgewandelt werden, so dass man sich anhören kann, was man notiert hat. Das hilft oft sehr gut bei der Überprüfung: falsche Oktaven oder falsche Versetzungszeichen lassen sich meist sehr gut hören.
Die MIDI-Ausgabe benötigt einen Kanal für jedes System und einen für globale Einstellungen. Darum sollte die Quelldatei für eine MIDI-Datei nicht mehr als 15 Systeme (oder 14 wenn kein Schlagzeug benützt wird) besitzen. Jedes weitere System bleibt stumm.
3.5.1 MIDI-Dateien erstellen | ||
3.5.2 Der MIDI-Block | ||
3.5.3 Was geht in die MIDI-Ausgabe | ||
3.5.4 Wiederholungen im MIDI | ||
3.5.5 MIDI-Lautstärke kontrollieren | ||
3.5.6 Schlagzeug in MIDI |
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < MIDI-Ausgabe ] | [ Nach oben : MIDI-Ausgabe ] | [ > ] |
3.5.1 MIDI-Dateien erstellen
Um eine MIDI-Datei aus einer LilyPond-Quelldatei zu erstellen, muss
eine \midi
-Umgebung zu der \score
-Umgebung hinzugefügt
werden, etwa so:
\score { ...Noten... \midi { } }
Wenn in einer \score
-Umgebung nur eine \midi
-Umgebung,
aber keine \layout
-Umgebung vorkommt, wird nur MIDI produziert.
Wenn auch die Notation gewünscht ist, muss zusätzlich die
\layout
-Umgebung vorhanden sein:
\score { ...music... \midi { } \layout { } }
Tonhöhen, Rhythmen, Überbindungen, Dynamik und Tempoänderungen werden korrekt in das MIDI-Format übersetzt. Dynamikzeichen, Crescendo und Decrescendo werden in den MIDI-Lautstärkekanal übertragen. Dynamikzeichen werden in einen bestimmten Lautstärkenwert übersetzt, Crescendo und Decrescendo erreichen einen Übergang zwischen Lautstärkewerten. Die Wirkung von Dynamikzeichen kann auch aus der MIDI-Datei entfernt werden. Siehe hierzu Der MIDI-Block.
Das Anfangstempo und spätere Tempoänderungen können mit dem
\tempo
-Befehl innerhalb der Notation notiert werden. Er
bewirkt Tempoänderungen auch in der MIDI-Datei. Der Befehl setzt
gleichzeitig auch eine Tempobezeichnung in die Noten, welches aber
auch unterdrückt werden kann, siehe Metronomangabe. Eine
andere möglichkeit, ein eigenes MIDI-Tempo anzugeben, wird weiter
unten gezeigt, siehe Der MIDI-Block.
Aufgrund einiger Einschränkungen auf Windows ist auf Windows-Systemen
die Standarddateierweiterung von MIDI-Dateien .mid
. Andere
Betriebssysteme verwenden weiterhin .midi
. Wenn eine
andere Endung erwünscht ist, kann man die folgende Zeile auf oberster
Ebene der Quelldatei, vor Beginn eines \book
, \bookpart
oder \score
-Blocks einfügen:
#(ly:set-option 'midi-extension "midi")
Diese Codezeile setzt die Dateiendung auf .midi
.
Als Alternative kann man diese Option auch als Kommandozeilenparameter übergeben:
lilypond … -dmidi-extension=midi lilyDatei.ly
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < MIDI-Dateien erstellen ] | [ Nach oben : MIDI-Dateien erstellen ] | [ Der MIDI-Block > ] |
Instrumentenbezeichnungn
Das MIDI-Instrument, mit dem ein bestimmtes System wiedergegeben
werden soll, wird durch die Staff.midiInstrument
-Eigenschaft
bestimmt, die auf eine Instrumentenbezeichnung gesetzt werden muss.
Die Bezeichnungen sind aufgelistet in MIDI-Instrumente und müssen
in der dort definierten Schreibweise notiert werden.
\new Staff { \set Staff.midiInstrument = #"glockenspiel" ...Noten... }
\new Staff \with {midiInstrument = #"cello"} { ...Noten... }
Wenn die Schreibweise nicht genau einem definierten Instrument aus
der Liste entpsricht, wird ein Piano-Klang benutzt ("acoustic grand"
).
Ausgewählte Schnipsel
Changing MIDI output to one channel per voice
When outputting MIDI, the default behavior is for each staff to represent one MIDI channel, with all the voices on a staff amalgamated. This minimizes the risk of running out of MIDI channels, since there are only 16 available per track.
However, by moving the Staff_performer
to the Voice
context, each voice on a staff can have its own MIDI channel, as is
demonstrated by the following example: despite being on the same staff,
two MIDI channels are created, each with a different
midiInstrument
.
\score { \new Staff << \new Voice \relative c''' { \set midiInstrument = #"flute" \voiceOne \key g \major \time 2/2 r2 g-"Flute" ~ g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } \new Voice \relative c'' { \set midiInstrument = #"clarinet" \voiceTwo b1-"Clarinet" a2. b8 a g2. fis8 e fis2 r } >> \layout { } \midi { \context { \Staff \remove "Staff_performer" } \context { \Voice \consists "Staff_performer" } \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
Bekannte Probleme und Warnungen
Veränderungen der MIDI-Lautstärke sind nur effektiv, wenn sie zu Beginn einer Note angefordert werden, sodass die Lautstärke während einer Notendauer nicht geändert werden kann.
Nicht alle MIDI-Spieler können Tempoänderungen richtig wiedergeben. Spieler, die hierzu in der Lage sind, sind unter Anderen MS Windows Media Player und timidity.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Ausgabe ] | [ Was geht in die MIDI-Ausgabe > ] |
3.5.2 Der MIDI-Block
Eine \midi
-Umgebung muss innerhalb von einer \score
-Umgebung
vorkommen, wenn MIDI-Ausgabe gewünscht ist. Sie entspricht der
\layout
-Umgebung, aber ist etwas einfacher aufgebaut. Oft wird
die MIDI-Umgebung einfach leer gelassen, aber hier können auch
Kontexte umgeändert werden, neue Kontexte definiert werden oder
neue Werte definiert werden. Das folgende Beispiel etwa definiert
das MIDI-Tempo, ohne dass in der Partitur eine Metronombezeichnung
gesetzt wird:
\score { ...Noten... \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 4) } } }
Hier wird das Tempo auf 72 Viertelnoten pro Minute definiert. Wenn das Tempo auf diese Weise definiert wird, kann keine punktierte Note als Einheit angegeben werden. Wenn sie benötigt wird, muss man sie in kleinere Einheiten auflösen. Ein Tempo von 90 punktierten Viertelnoten pro Minute kann beispielsweise dargestellt werden als 270 Achtelnoten pro Minute:
tempoWholesPerMinute = #(ly:make-moment 270 8)
Kontextdefinitionen des \midi
-Kontextes entsprechen
der Syntax, wie sie in der \layout
-Umgebung benutzt
wird. Klangübersetzungsmodule werden performer
genannt. Die Kontexte für die MIDI-Ausgabe sind in der
Datei ‘../ly/performer-init.ly’ definiert, siehe
Mehr Information. Um beispielsweise
die Auswirkung von Dynamikzeichen aus der MIDI-Ausgabe zu
entfernen, müssen folgende Zeilen eingefügt werden:
\midi { ... \context { \Voice \remove "Dynamic_performer" } }
Eine MIDI-Ausgabe wird nur erstellt, wenn die \midi
-Umgebung
in eine Partiturumgebung eingefügt wird, die mit dem Befehl
\score
beginnt. Wenn eine Partitur explizit etwa mit
\new Score
begonnen wird, und sich die MIDI-Umgebung hierin
befindet, wird keine Ausgabe produziert. Eine Lösung ist es, sowohl
die \new Score
- als auch die \midi
-Umgebungen in eine
\score
-Umgebung einzuschließen.
\score { \new Score { …Noten… } \midi { } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Der MIDI-Block ] | [ Nach oben : MIDI-Ausgabe ] | [ > ] |
3.5.3 Was geht in die MIDI-Ausgabe
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Was geht in die MIDI-Ausgabe ] | [ Nach oben : Was geht in die MIDI-Ausgabe ] | [ > ] |
In MIDI unterstützt
Die folgenden Notationselemente werden in die MIDI-Ausgabe aufgenommen:
- Tonhöhen
- Mikrotöne (siehe Versetzungszeichen. Für die Ausgabe wird ein Spieler benötigt, der Tonhöhen verändern kann.)
- Akkorde, die als Symbole notiert werden
- Rhythmen, die als Dauern notiert sind, inklusive N-tolen
- Tremolo, das ohne ‚
:
[Zahl]‘ notiert ist - Überbindungen
- Dynamikzeichen
- Crescendi, decrescendi zu mehreren Noten
- Tempoänderungen, die mit einer Tempo-Bezeichnung eingegeben werden
- Gesangstext
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : Was geht in die MIDI-Ausgabe ] | [ Wiederholungen im MIDI > ] |
In MIDI nicht unterstützt
Folgende Notationselemente werden nicht in die MIDI-Ausgabe einbeozogen:
- Rhythmus, der als Anmerkung notiert wird, bspw. Swing
- Tempoveränderungen, die als Anmerkung ohne Tempobezeichnung notiert werden
- Staccato und andere Artikultationen und Ornamente
- Legato- und Phrasierungsbögen
- Crescendi, decrescendi zu einer einzelnen Note
- Tremolo, notiert mit ‚
:
[number]‘ - Bezifferter Bass
- Akkorde mit Mikrotönen
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Ausgabe ] | [ MIDI-Lautstärke kontrollieren > ] |
3.5.4 Wiederholungen im MIDI
Mit einigen Veränderungungen im Notentext können alle Wiederholungstypen
auch in der MIDI-Ausgabe wiedergegeben werden. Das wird erreicht, indem
die \unfoldRepeats
-Funktion eingesetzt wird. Diese Funktion
verändert alle Wiederholungen in ausgeschriebene Noten.
\unfoldRepeats { \repeat tremolo 8 {c'32 e' } \repeat percent 2 { c''8 d'' } \repeat volta 2 {c'4 d' e' f'} \alternative { { g' a' a' g' } {f' e' d' c' } } } \bar "|."
Wenn eine Partitur mit diesem Befehl erstellt wird, ist er notwendig,
zwei \score
-Umgebungen einzurichten: in der einen werden die
Wiederholungen ausgeschrieben und nur eine MIDI-Ausgabe produziert,
in der anderen werden die Wiederholungen notiert und als Partitur
gesetzt. Das Beispiel gibt einen Hinweis, wie eine derartige Datei
aussehen kann:
\score { ..music.. \layout { .. } } \score { \unfoldRepeats ..music.. \midi { .. } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < Wiederholungen im MIDI ] | [ Nach oben : MIDI-Ausgabe ] | [ > ] |
3.5.5 MIDI-Lautstärke kontrollieren
Dynamik in der MIDI-Ausgabe wird durch den Dynamic_performer
erstellt, welcher sich in einem Voice
-Kontext befindet.
Es ist möglich, sowohl die generelle Lautstärke einer MIDI-Datei
als auch relative Lautstärken von Dynamikanweisungen und auch
relative Lautstärke von einzelnen Instrumenten einzustellen.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < MIDI-Lautstärke kontrollieren ] | [ Nach oben : MIDI-Lautstärke kontrollieren ] | [ > ] |
Dynamik-Zeichen
Dynamikanweisungen werden als ein bestimmter Bruch der insgesamt
zur Verfügung stehenden MIDI-Lautstärke notiert. Die Standardbrüche
reichen von 0,25 für ppppp bis hin zu 0,95 für
fffff. Diese Anweisung befinden sich in der Datei
‘../scm/midi.scm’, siehe auch
Mehr Information.
Diese Brüche können nach Belieben geändert oder erweitert werden, indem
eine Funktion erstellt wird, die ein Dynamikzeichen als Argument
nimmt und den erforderlichen Bruch ausgibt; schließlich muss noch
Score.dynamicAbsoluteVolumeFunction
auf diese Funktion
gesetzt werden.
Beispielhaft soll gezeigt werden, wie man eine Rinforzando-Dynamik,
\rfz
, auch in die MIDI-Ausgabe übernehmen kann. Gleiches gilt
für neue, selbstdefinierte Dynamikzeichen, die in den Standarddefinitionen
nicht enthalten sind. Die Scheme-Funktion, die hier definiert wird,
setzt den Bruch von 0,9 für eine rfz-Anweisung und ruft andernfalls die
Standardanweisungen auf:
#(define (myDynamics dynamic) (if (equal? dynamic "rfz") 0.9 (default-dynamic-absolute-volume dynamic))) \score { \new Staff { \set Staff.midiInstrument = #"cello" \set Score.dynamicAbsoluteVolumeFunction = #myDynamics \new Voice { \relative c'' { a\pp b c-\rfz } } } \layout {} \midi {} }
Alternativ, insbesondere wenn die gesamte Tabelle der MIDI-Lautstärken umdefiniert werden soll, ist es besser, die default-dynamic-absolute-volume-Prozedur in der Datei ‘../scm/midi.scm’ und die hiermit verknüpfte Tabelle als Modell zu benutzen. Das letzte Beispiel dieses Abschnittes zeigt, wie das gemacht werden kann.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Lautstärke kontrollieren ] | [ > ] |
MIDI-Lautstärke
Die generellen Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei
wird kontrolliert, indem die Eigenschaften midiMinimumVolume
unde midiMaximumVolume
auf der Score
-Ebene gesetzt
werden. Diese Eigenschaften haben nur Einfluss auf Dynamikzeichen, sodass
ein Dynamikzeichen direkt an den Anfang der Partitur gestellt werden muss,
wenn diese Einstellung von Anfang an Wirkung zeigen soll. Der Bruch,
der dann den einzelnen Dynamikzeichen entspricht, wird mit der
Formel
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * Bruch
errechnet. Im folgenden Beispiel wird die generelle MIDI-Lautstärke auf den Bereich zwischen 0.2 und 0.5 eingeschränkt.
\score { << \new Staff { \key g \major \time 2/2 \set Staff.midiInstrument = #"flute" \new Voice \relative c''' { r2 g\mp g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Lautstärke kontrollieren ] | [ > ] |
Verschiedene Instrumente angleichen (i)
Wenn die Mindest- und Höchstwerte für die MIDI-Lautstärke
innerhalb eines Staff
-Kontextes gesetzt werden,
kann damit die relative Lautstärke einzelner Instrumente kontrolliert
werden. Damit kann man die Qualität der MIDI-Datei
merklich verbessern.
In diesem Beispiel wird die Lautstärke der Klarinette relativ zur Lautstärke der Flöte verringert. In jeder Stimme muss eine Dynamikanweisung für die erste Note gesetzt werden, damit diese Einstellung korrekt funktioniert.
\score { << \new Staff { \key g \major \time 2/2 \set Staff.midiInstrument = #"flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 \new Voice \relative c''' { r2 g\mp g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Lautstärke kontrollieren ] | [ Schlagzeug in MIDI > ] |
Verschidene Instrumente angleichen (ii)
Wenn Mindest- und Höchstwerte für die Lautstärke der MIDI-Datei nicht vorgegeben werden, nimmt LilyPond standardmäßig einige Anpassungen für die Lautstärken bestimmter Instrumente vor. Diese Instrumente und ihre entsprechende Veränderung lassen sich aus der Tabelle instrument-equalizer-alist in der Datei ‘../scm/midi.scm’ entnehmen.
Dieser grundlegende Equalizer kann ersetzt werden, indem die
Funktion instrumentEqualizer
im Score
-Kontext auf
eine neue Scheme-Funktion gesetzt wird, die MIDI-Instrumentbezeichnungen
als einziges Argument akzeptiert und ein Zahlenpaar ausgibt, das
den Höchst- und Mindestwert für die Lautstärke des entpsrechenden
Instruments darstellt. Die Ersetzung der Standardfunktion wird
auf gleiche Weise vorgenommen, wie es schon für die
dynamicAbsoluteVolumeFunction
zu Beginn dieses Abschnittes
gezeigt wurde. Der Standard-Equalizer,
default-instrument-equalizer in der Datei
‘../scm/midi.scm’ zeigt, wie solche eine Funktion erstellt werden
kann.
Das folgende Beispiel definiert für die Flöte und Klarinette relative Lautstärkewerte, die denen des vorigen Beispiels entsprechen.
#(define my-instrument-equalizer-alist '()) #(set! my-instrument-equalizer-alist (append '( ("flute" . (0.7 . 0.9)) ("clarinet" . (0.3 . 0.6))) my-instrument-equalizer-alist)) #(define (my-instrument-equalizer s) (let ((entry (assoc s my-instrument-equalizer-alist))) (if entry (cdr entry)))) \score { << \new Staff { \key g \major \time 2/2 \set Score.instrumentEqualizer = #my-instrument-equalizer \set Staff.midiInstrument = #"flute" \new Voice \relative c''' { r2 g\mp g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = #"clarinet" \new Voice \relative c'' { b1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } }
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Abstände >> ] | ||
[ < ] | [ Nach oben : MIDI-Ausgabe ] | [ Abstände > ] |
3.5.6 Schlagzeug in MIDI
Schlagzeuginstrumente werden üblicherweise in einem DrumStaff
-Kontext
notiert. Aus diese Weise werden sie korrekt in den MIDI-Kanal 10
ausgegeben. Eine Schlagzeuge mit diskreten Tonhöhen, wie Xylophon,
Marima, Vibraphone, Pauken usw. werden wie „normale“ Instrumente
in einem Staff
-Kontext notiert. Nur so lässt sich auch hier
eine richtige MIDI-Ausgabe erreichen.
Einige Instrumente, die keine diskreten Tonhöhen haben, können nicht
über den MIDI-Kanal 10 erreicht werden und müssen deshalb in
einem normalen Staff
-Kontext notiert werden. Es handelt sich
um melodic tom, taiko drum, synth drum
usw.
Viele Schlagzeuginstrumnete sind nicht in den MIDI-Standard aufgenommen, z. B. Kastagnetten. Die einfachste Methode, derartige Instrumente zu ersetzen, ist, einen Klang auszuwählen, der ihnen halbwegs ähnlich kommt.
Bekannte Probleme und Warnungen
Weil der MIDI-Standard keine Peitschenschläge kennt, wird ein Schlagstock (sidestick) für diesen Zweck eingesetzt.
[ << Allgemeine Eingabe und Ausgabe ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Schlagzeug in MIDI ] | [ Nach oben : Top ] | [ Papier und Seiten > ] |
4. Abstände
Das finale Layout der Seite wird von drei Faktoren bestimmt: dem Layout der Seite, den Zeilenumbrüchen und der Platzverteilung. Jeder Faktor beeinflusst auch die anderen mit. Die Wahl der Platzverteilung entscheidet, wie eng die Notensysteme gesetzt werden. Das wiederum hat Einfluss auf die gewählten Zeilenumbrüche und letztendlich also auch darauf, wieviele Seiten ein Stück beansprucht.
Die Verteilung der Musik auf der Seite geschieht grob gesagt in vier Schritten. Zuerst werden flexible Entfernungen („springs“) gewählt, die auf den Notendauern basieren. Alle möglichen Zeilenumbrüche werden getestet und ein „Schlechtigkeitsscore“ für die Umbrüche erstellt. Danach wird die mögliche Höhe eines Systems ermittelt und schließlich wird eine bestimmte Kombination aus Seiten- und Zeilenumbruch ausgewählt, sodass weder die horizontale noch die vertikale Platzverteilung zu eng oder zu weit gesetzt wird.
Einstellungen, die das Layout beeinflussen, können in zwei Umgebungen
gesetzt werden: Die \paper {...}
-Umgebung wird außerhalb einer
\score {...}
-Umgebung geschrieben und enthält Einstellungen,
die für das gesamte Dokument gelten. Die \layout {...}
-Umgebung
wird innerhalb von einer \score {...}
-Umgebung notiert und
enthält die Einstellungen für eine bestimmte Partitur. Wenn Sie
nur eine \score {...}
-Umgebung in der Datei haben, haben
beide Umgebungen den gleichen Effekt. Die Befehle, die in diesem Abschnitt
erklärt werden, können in beiden Umgebungen nach Bedarf gesetzt werden.
4.1 Papier und Seiten | ||
4.2 Notenlayout | ||
4.3 Umbrüche | ||
4.4 Vertikale Abstände | ||
4.5 Horizontale Abstände | ||
4.6 Die Musik auf weniger Seiten zwingen |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Abstände ] | [ Nach oben : Abstände ] | [ Papierformat > ] |
4.1 Papier und Seiten
Dieser Abschnitt behandelt die Grenzen, die Notationsgebiete definieren.
4.1.1 Papierformat | ||
4.1.2 Seitenformatierung |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Papier und Seiten ] | [ Nach oben : Papier und Seiten ] | [ Seitenformatierung > ] |
4.1.1 Papierformat
Zwei Funktionen ermöglichen es, die Papiergröße zu ändern:
set-default-paper-size
und set-paper-size
.
set-default-paper-size
muss auf der obersten Ebene in
der Quelldatei gesetzt werden, set-paper-size
hingegegen
muss sich in einer \paper
-Umgebung befinden:
#(set-default-paper-size "a4")
\paper { #(set-paper-size "a4") }
set-default-paper-size
bestimmt die Größe aller Seiten, während
set-paper-size
nur die Seitengröße für die Seiten definiert,
auf die sich die aktuelle \paper
-Umgebung bezieht. Wenn die
\paper
-Umgebung auf der höchsten Ebene steht, bezieht sich die
Papiergröße auf alle Seiten, wenn sie aber innerhalb einer
\book
-Umgebung definiert wird, nur auf die Seiten innerhalb
dieses Buches.
Die normalen Papierformate sind definiert, u.A. a4
,
letter
, legal
und 11x17
(auch als
Tabloit bekannt). Sehr viel mehr Formate sind unterstützt.
Einzelheiten finden sich in der Datei
‘scm/paper.scm’ in der Definition von
paper-alist
.
Achtung: Das Standardformat ist a4
.
Weitere Papierformate können hinzugefügt werden, indem die
Definition von paper-alist
in der Datei
‘scm/paper.scm’ verändert wird. Derartige
Änderungen werden jedoch bei einer Aktualisierung des
Programmes überschrieben.
Wenn das Symbol 'landscape
als Argument an die Funktion
set-default-paper-size
gehänt wird, werden die Seiten um
90° gedreht und die Notensysteme entsprechend breiter gesetzt.
#(set-default-paper-size "a6" 'landscape)
Wenn man die Seitengröße setzt, werden einige Variablen der
\paper
-Umgebung verändert, wie etwa Seitenränder. Um
eine bestimmte Papiergröße mit veränderten \paper
-Variablen
zubenuttzen, muss die Papiergröße definiert werden, bevor diese
Variablen neu gesetzt werden.
Siehe auch
Installierte Dateien: ‘scm/paper.scm’.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Papierformat ] | [ Nach oben : Papier und Seiten ] | [ Vertikale Dimensionen > ] |
4.1.2 Seitenformatierung
Ränder, Kopf- und Fußzeilen und andere Layoutvariablen werden entsprechend dem Papierformat automatisch gesetzt.
Dieser Abschnitt zeigt einige der Papiervariablen, die geändert werden können.
Vertikale Dimensionen | ||
Horizontale Dimensionen | ||
Weitere Layout-Variablen |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Seitenformatierung ] | [ Nach oben : Seitenformatierung ] | [ Horizontale Dimensionen > ] |
Vertikale Dimensionen
Diese Variablen werden benutzt um andere vertikale Verhältnisse auf einer Seite zu produzieren:
-
after-title-space
-
Die Größe des Abstands zwischen der Überschrift und dem ersten Notensystem. Standard:
5\mm
. -
before-title-space
-
Die Größe des Abstands zwischen dem letzten Notensystem einer Partitur und dem Titel der nächsten Partitur. Standard:
10\mm
. -
between-system-padding
-
Der Mindestabstand zwischen dem untersten Symbol in einem Notensystem und dem obersten Symbol im sich darunter befindlichen System. Standard:
4\mm
.Wenn dieser Wert erhöht wird, werden Systeme, deren „bounding box“ sich beinahe berühren, weiter auseinander gezogen.
-
between-system-space
-
Der Abstand zwischen Systemen. Das ist der ideale Abstand zwischen der Mitte des eines Systems (bzw. des untersten Systems einer Systemgruppe) und der Mitte des nächsten Systems (bzw. des obersten System der nächsten Systemgruppe). Standard:
20\mm
.Wenn dieser Wert erhöhrt wird, erscheinen die Noten auf der Seite gleichmäßiger, wobei sie aber auch mehr Platz einnehmen.
-
between-title-space
-
Der Abstand zwischen aufeinanderfolgenden Überschriften (etwa die Überschrift für ein
book
und die Überschrift einer Partitur. Standard:2\mm
. -
bottom-margin
-
Der Rand zwischen der Fußzeile und dem unteren Rand der Seite. Standard:
6\mm
. -
foot-separation
-
Der Abstand zwischen dem untersten Notensystem und der Fußzeile. Standard:
4\mm
. -
head-separation
-
Der Abstand zwischen dem obersten System und der Kopfzeile. Standard:
4\mm
. -
page-top-space
-
Der Abstand von der Oberkante des druckbaren Bereichs bis zur Mitte des ersten Notensystems. Das funktioniert nur für Systeme, die nicht vertikal ausgedehnt sind. Hohe Systeme bzw. Systemgruppen werden mit ihrer „bounding box“ an der Oberkante des druckbaren Bereichs ausgerichtet. Standard:
12\mm
. -
paper-height
-
Die Höhe der Seite. Standard: Die Höhe des aktuellen Papierformats. Zu Einzelheiten siehe Papierformat.
-
top-margin
-
Der Rand zwischen der Kopfzeile und dem oberen Rand der Seite. Standard:
5\mm
.
Ausgewählte Schnipsel
Kopf- und Fußzeile werden von den Funktionen make-footer
und
make-header
erstellt, welche in der \paper
-Umgebung definiert
werden. Die Standardeinstellungen sind in den Dateien
‘ly/paper-defaults.ly’ und ly/titling-init.ly
dargestellt.
Das Seitenlayout wird durch zwei Funktionen der \paper
-Umgebung
bestimmt: page-music-height
und page-make-stencil
. Die erste
teilt dem Zeilenumbruchsalgorithmus mit, wieviel Platz auf einer Seite
belegt werden kann, die zweite hingegegen erstellt die konkrete Seite,
nachdem sie die Systeme entgegengenommen hat, die auf der Seite platziert
werden sollen.
Beispiel:
\paper{ paper-width = 2\cm top-margin = 3\cm bottom-margin = 3\cm ragged-last-bottom = ##t }
Das nächste Beispiel zentriert Seitenzahlen unten auf jeder Seite:
\paper { print-page-number = ##t print-first-page-number = ##t oddHeaderMarkup = \markup \fill-line { " " } evenHeaderMarkup = \markup \fill-line { " " } oddFooterMarkup = \markup { \fill-line { \bold \fontsize #3 \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string } } evenFooterMarkup = \markup { \fill-line { \bold \fontsize #3 \on-the-fly #print-page-number-check-first \fromproperty #'page:page-number-string } } }
Werte der \paper
-Umgebung können in Scheme definiert werden. In diesem
Fall sind mm
, in
, pt
und cm
Variablen,
die in der Datei ‘paper-defaults.ly’ mit Millimeter-Werten definiert
sind. Darum muss der Wert 2 cm in dem Beispiel unten multilpliziert werden
muss:
\paper { #(define bottom-margin (* 2 cm)) }
Siehe auch
Notationsreferenz: Vertikale Abstände zwischen Systemen.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Vertikale Dimensionen ] | [ Nach oben : Seitenformatierung ] | [ Weitere Layout-Variablen > ] |
Horizontale Dimensionen
Achtung: Wenn paper-width
manuell gesetzt wird, müssen
möglicherweise auch die Werte von line-width
,
left-margin
, indent
und short-indent
angepasst
werden.
Es gibt einige Variablen, die die horizontalen Dimensionen der Seite beeinflussen:
-
horizontal-shift
-
Der Wert, um den alle Systeme (und auch Überschriften und Systemtrenner) nach rechts verschoben werden. Standard:
0.0
. -
indent
-
Der Einzug für das erste System einer Partitur. Standard:
paper-width
geteilt durch14
, definiert inset-default-paper-size
bzw.set-paper-size
. -
left-margin
-
Der Rand zwischen dem linken Rand der Seite und dem Anfang der Notensysteme. Standard:
10\mm
, definiert inset-default-paper-size
oderset-paper-size
. -
line-width
-
Die Breite der Notensystems. Standard:
paper-width
minus20\mm
, dfiniert inset-default-paper-size
bzw.set-paper-size
. -
paper-width
-
Die Breite der Seite. Standard: Die Breite des aktuellen Papierformats. Zu Einzelheiten siehe Papierformat.
-
short-indent
-
Der Einzug für alle Systeme einer Partitur ausschließlich das erste System. Standard:
0
, dfiniert inset-default-paper-size
bzw.set-paper-size
.
Siehe auch
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
Die Option right-margin
ist definiert, bestimmt aber nicht den
rechten Rand der Seite. Der Wert für den rechten Rand ergibt sich
aus den Werten des linken Randes (left-margin
) und der Zeilenbreite
(line-width
).
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Horizontale Dimensionen ] | [ Nach oben : Seitenformatierung ] | [ Notenlayout > ] |
Weitere Layout-Variablen
Diese Variablen können verwendet werden, um das allgemeine Layout der Seite anzupassen.
-
auto-first-page-number
-
Der Seitenumbruchsalgorithmus wird davon beeinflusst, ob die erste Seitenzahl gerade oder ungerade ist. Wenn die Variable auf wahr gesetzt wird, entscheidet der Seitenumbruchsalgorithmus selber, ob die Noten auf einer geraden oder ungeraden Seite beginnen sollen. Das hat dann zur Folge, dass die erste Seite entweder bleibt wie sie ist oder um eins erhöht wird. Standard:
##f
. -
blank-last-page-force
-
Die Strafpunkte, wenn eine Partitur auf einer ungeraden Seite beendet wird. Stadnard:
0
. -
blank-page-force
-
Die Strafpunkte, wenn eine leere Seite mitten in einer Partitur auftritt. Das wird nicht benutzt von
ly:optimal-breaking
, weil hiermit niemals leere Seiten mitten in einer Partitur zugelassen werden. Standard:5
. -
first-page-number
-
Der Wert der Seitenzahl auf der ersten Seite. Standard:
#1
. -
max-systems-per-page
-
Die maximale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das wird zur Zeit nur von dem
ly:optimal-breaking
-Alghoritmus unterstützt. Standard: nicht gesetzt. -
min-systems-per-page
-
Die minimale Anzahl an Notensystemen, die auf einer Seite gesetzt werden. Das kann dazu führen, dass Seiten zu dicht gefüllt werden, wenn der Wert zu groß gewählt wird. Die Option ist zur Zeit nur von dem
ly:optimal-breaking
-Alghoritmus unterstützt. Standard: nicht gesetzt. -
page-breaking-between-system-padding
-
Überlistet die Seitenumbruchfunktion, indem ihr ein anderer Wert für
between-system-padding
mitgeteilt wird, als in Wirklichkeit eingestellt ist. Wenn diese Variable beispielsweise auf einen deutlich größeren Wert alsbetween-system-padding
gesetzt wird, setzt die Seitenumbruchsfunktion weniger Systeme auf eine Seite. Standard: nicht gesetzt. -
page-count
-
Die Zahl der Seiten, die für eine Partitur benutzt werden sollen. Standard: nicht gesetzt.
-
page-limit-inter-system-space
-
Wenn wahr, wird Platz zwischen Systemen eingeschränkt, wenn viel Platz auf der Seite ist. Standard:
##f
. Einzelheiten siehe Vertikale Abstände zwischen Systemen. -
page-limit-inter-system-space-factor
-
Der Faktor, der von
page-limit-inter-system-space
verwendet wird. Standard:1.4
. Einzelheiten siehe Vertikale Abstände zwischen Systemen. -
page-spacing-weight
-
Die relative Gewichtung von (vertikalem) Abstand auf der Seite und (horizontalem) Abstand innerhalb der Zeilen. Hohe Werte gewichten die vertikalen Abstände mehr. Standard:
#10
. -
print-all-headers
-
Wenn wahr, werden alle Einträge des Titelfeldes (
\header
-Umgebung) für jede Partitur ausgegeben. Normalerweise wird nur die Satzbezeichnung und die Opuszahl (piece
undopus
) ausgegeben. Standard:##f
. -
print-first-page-number
-
Wenn wahr, wird auch auf der ersten Seite die Seitenzahl ausgegeben. Standard:
##f
. -
print-page-number
-
Wenn falsch, werden Seitenzahlen nicht ausgegeben. Standard:
##t
. -
ragged-bottom
-
Wenn wahr, werden die Systeme nicht gleichmäßig über die Seite verteilt sondern am oberen Seitenrand beginnend eng angeordnet. Das wirkt sich nicht auf die letzte Seite aus. Standard:
##f
.Die Variable sollte auf wahr gesetzt werden für Stücke, die nur zwei oder drei Systeme pro Seite haben, wie etwa Orchesterpartituren.
-
ragged-last
-
Wenn wahr, wird die letzte Notenzeile einer Partitur nicht bis zum Zeilenende durchgezogen, sondern entsprechend mit Noten gefüllt und dann abgebrochen. Standard:
##f
. -
ragged-last-bottom
-
Wenn falsch, werden Systeme gleichmäßig über die letzte Seite verteilt. Standard:
##t
.Stücke, die zwei oder mehr Seiten gut füllen, sollten die Option auf wahr gesetzt haben.
Sie wirkt sich auch auf die letzte Seite von Buchteilen aus, d.h. Teilen eines Buches, die mit der
\bookpart
-Umgebung erstellt werden. -
ragged-right
-
Wenn wahr, werden Systeme nicht im Blocksatz gesetzt, sondern erhalten nur ihre normale Breite. Standard:
##f
.Wenn eine Partitur nur ein System hat, ist der Standardwert
##t
. -
system-separator-markup
-
Ein Beschriftungsobjekt, das zwischen zwei Systeme gesetzt wird. Das wird oft in Orchesterpartituren eingesetzt. Standard: nicht gesetzt.
Der Beschriftungsbefehl
\slashSeparator
kann für einen Trenner benutzt werden, etwa so: -
system-count
-
Die Anzahl der Systeme, auf denen eine Partitur gesetzt werden soll. Standard: nicht gesetzt.
-
systems-per-page
-
Die Anzahl an Systemen, die auf jede Seite gesetzt werden sollen. Diese Option wird zur Zeit nur von dem
ly:optimal-breaking
-Alghoritmus unterstützt. Standard: nicht gesetzt.
Siehe auch
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
Die Standard-Kopfzeilendefinition setzt die Seitenzahl und das
instrument
-Feld aus der \header
-Umgebung in eine
Zeile.
Die Überschriften (aus der \header
-Umgebung) werden als
ein System interpretiert, sodass ragged-bottom
und
ragged-last-bottom
Platz zwischen die Überschrift und
das erste System der Partitur setzen.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Weitere Layout-Variablen ] | [ Nach oben : Abstände ] | [ Die Notensystemgröße einstellen > ] |
4.2 Notenlayout
4.2.1 Die Notensystemgröße einstellen | ||
4.2.2 Partiturlayout |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Notenlayout ] | [ Nach oben : Notenlayout ] | [ Partiturlayout > ] |
4.2.1 Die Notensystemgröße einstellen
Die Standardgröße der Notensysteme beträgt 20 Punkte (pt). Das kann auf zwei Arten geändert werden:
Um die Systemgröße global für alle Partituren einer
Datei (bzw. einer \book
-Umgebung) zu verändern,
geht man wie folgt vor:
#(set-global-staff-size 14)
Hiermit wird die Standardhöhe der Notensysteme auf 14 pt gesetzt. Die Schriftarten werden entsprechend verkleinert.
Um die Systemhöhe für jede Partitur einzeln zu verändern, muss
\score{ ... \layout{ #(layout-set-staff-size 15) } }
eingesetzt werden.
Die Feta-Schriftart stellt die Noten- und Musiksymbole für acht verschiedene Größen zur Verfügung. Jede Schriftgröße ist einer bestimmten Systemgröße angepasst: für kleinere Schriftgrößen werden die Zeichen etwas schwerer, um mit den ebenfalls dickeren Notenlinien zu harmonieren. Die empfohlenen Notensystemgrößen sind in der Tabelle aufgeführt:
Schriftbezeichnung
Höhe des Systems (pt)
Höhe des Systems (mm)
Benutzung
feta11
11.22
3.9
Taschenparituren
feta13
12.60
4.4
feta14
14.14
5.0
feta16
15.87
5.6
feta18
17.82
6.3
Liederbücher
feta20
20
7.0
Orchesterstimmen
feta23
22.45
7.9
feta26
25.2
8.9
Diese Schriftarten sind in allen Größen erhältlich. Die Kontext-Eigenschaft
fontSize
und die Layout-Eigenschaft staff-space
(in
StaffSymbol
) können benutzt werden, um die Schriftgröße für
einzelne Systeme zu verändern. Die Größe von einzelnen Systemen
ist relativ zur globalen Systemgröße.
Siehe auch
Notationsreferenz: Auswahl der Notations-Schriftgröße.
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
layout-set-staff-size
verändert nicht den Abstand zwischen den
Notenlinien.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Die Notensystemgröße einstellen ] | [ Nach oben : Notenlayout ] | [ Umbrüche > ] |
4.2.2 Partiturlayout
Während die \paper
-Umgebung Einstellungen für die Formatierung
der Seiten eines gesamten Dokuments enthalten, enthält die
\layout
-Umgebung Einstellungen für einzelne Parituren.
\layout { indent = 2.0\cm \context { \Staff \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6) } \context { \Voice \override TextScript #'padding = #1.0 \override Glissando #'thickness = #3 } }
Siehe auch
Notationsreferenz: Die Standardeinstellungen von Kontexten ändern.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Partiturlayout ] | [ Nach oben : Abstände ] | [ Zeilenumbrüche > ] |
4.3 Umbrüche
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Umbrüche ] | [ Nach oben : Umbrüche ] | [ Seitenumbrüche > ] |
4.3.1 Zeilenumbrüche
Zeilenumbrüche werden normalerweise automatisch erstellt. Sie
werden so ausgewählt, dass die Zeilen weder gedrängt nocht zu
weit gespreizt wirken und aufeinander folgende Seiten einen
ähnlichen Grauwert haben. In seltenen Fällen kann es jedoch
nötig sein, manuell Zeilenumbrüche einzufügen. Das geschieht
mit dem Befehl \break
. Hiermit wird direkt nach dem Befehl
ein Zeilenumbruch erzwungen. Zeilenumbrüche können jedoch nur
am Ende von „vollständigen“ Takten stattfinden. Damit sind
Takte gemeint, in welchen alle Noten mit der letzten Taktzeit
komplett abgeschlossen sind und nicht über das Taktende hinausragen.
Wenn Sie einen Zeilenumbruch an einer Stelle benötigen, an der
keine Taktlinie vorliegt, können Sie mit \bar ""
eine
unsichtbare Taktlinie hinzufügen, die dann den Zeilenumbruch
erlaubt. Wiederum gilt, dass keine Noten überstehen dürfen,
sonst wird diese unsichtbare Taktlinie ignoriert.
Mit dem Befehl \noBreak
wird ein Zeilenumbruch an dem
entsprechenden Taktstrich verboten.
Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
haben, sind indent
(Einzug) und line-width
(Zeilenbreite). Sie werden in der \layout
-Umgebung
einestellt. Der erste Befehl bestimmt den Einzug der ersten
Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
Wenn ragged-right
eingestellt ist (als in der
\layout
-Umgebung auf den Wert #t
gesetzt wurde),
werden die Systeme linksbündig gesetzt und nicht bis zum
rechten Rand hin durchgezogen, sondern den Noten entsprechend
gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
und um zu überprüfen, wie eng die Noten natürlicherweise
gesetzt werden würden.
Die Option ragged-last
verhält sich ähnlich zu ragged-right
,
aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
\layout { indent = #0 line-width = #150 ragged-last = ##t }
Um Zeilenumbrüche zu erzwingen, die in festgelegten Intervallen
stattfinden, kann der Befehl \break
in Kombination
mit unsichtbaren Noten und einer Wiederholung eingesetzt
werden. Das folgende Beispiel etwa setzt die nächsten
28 Takte (im 4/4-Takt) in Zeilen zu jeweils 4 Takten:
<< \repeat unfold 7 { s1 \noBreak s1 \noBreak s1 \noBreak s1 \break } Hier die Noten >>
Eine Zeilenumbruchkonfiguration kann auch als eine .ly
-Datei
automatisch gespeichert werden. Damit kann die vertikale Ausrichtung
während eines zweiten Programmdurchlaufs angepasst werden um die
Seiten besser zu füllen. Diese Eigenschaft ist recht neu und
kompliziert. Mehr Einzelheiten finden sich in
Spacing.
Vordefinierte Befehle
\break
,
\noBreak
.
Siehe auch
Referenz der Interna: LineBreakEvent.
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
Zeilenumbrüche können nur gesetzt werden, wenn eine „richtige“ Taktlinie vorliegt. Wenn eine Note über die Taktlinie übersteht, wie etwa in folgendem Beispiel:
c4 c2 << c2 {s4 \break } >> % this does nothing c2 c4 | % a break here would work c4 c2 c4 ~ \break % as does this break c4 c2 c4
kann ein Umbruchbefehl nicht ausgeführt werden. Dieses
Verhalten kann jedoch vermieden werden, indem der
Forbid_line_break_engraver
aus dem Stimmen-Kontext
entfernt wird.
\new Voice \with { \remove Forbid_line_break_engraver } { c4 c2 << c2 {s4 \break } >> % now the break is allowed c2 c4 }
Entsprechend werden Umbrüche auch verhindert, wenn Balken über
Taktlinien reichen. Das kann mit folgendem Befehl verhindert
werden: \override Beam #'breakable = ##t
.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Zeilenumbrüche ] | [ Nach oben : Umbrüche ] | [ Optimale Seitenumbrüche > ] |
4.3.2 Seitenumbrüche
Die Standardseitenumbrüche können verändert werden, indem
man die Befehle \pageBreak
bzw. \noPageBreak
benutzt. Sie verhalten sich analog zu den Befehlen
\break
und \noBreak
. Sie sollten an einem
Taktstrich notiert werden. Diese Befehle erzwingen bzw.
verbieten einen Seitenumbruch. Mit dem \pageBreak
-Befehl
wird natürlich gleichzeitig auch ein Zeilenumbruch erzwungen.
Die \pageBreak
und \noPageBreak
-Befehle können
auch auf der höchsten Ebene einer Datei benutzt werden, etwa
zwischen Partituren und Textbeschriftungen.
Es gibt auch vertikale Gegenstücke zu den Variablen
ragged-right
und ragged-last
:
ragged-bottom
und ragged-last-bottom
. Wenn diese
Variablen auf ##t
gesetzt werden, werden im ersten
Fall die Notensysteme auf allen Seiten eng nach oben orientiert
gesetzt werden. Im zweiten Fall bezieht sich dies nur auf die
letzte Seite.
Zu Einzelheiten siehe Vertikale Abstände.
Seitenumbrüche werden von der page-breaking
-Funktion errechnet.
LilyPond kennt drei Algorithmen um Seitenumbrüche zu errechnen:
ly:optimal-breaking
, ly:page-turn-breaking
und
ly:minimal-breaking
. Der Standard ist ly:optimal-breaking
,
aber der Wert kann in der \paper
-Umgebung geändert werden:
\paper{ #(define page-breaking ly:page-turn-breaking) }
When a book has many scores and pages, the page breaking problem may be
difficult to solve, requiring large processing time and memory. To ease
the page breaking process, \bookpart
blocks are used to divide
the book into several parts: the page breaking occurs separately on each
part. Different page breaking functions may also be used in different
book parts.
\bookpart { \header { subtitle = "Vorwort" } \paper { %% In einem Abschnitt, der vor allem Text hat, %% funktioniert womöglich ly:minimal-breaking besser #(define page-breaking ly:minimal-breaking) } \markup { … } … } \bookpart { %% In diesem Abschnitt mit Noten wird %% die Standard-Seitenumbruchsfunktion benutzt. \header { subtitle = "Erster Satz" } \score { … } … }
Vordefinierte Befehle
\pageBreak
,
\noPageBreak
.
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Seitenumbrüche ] | [ Nach oben : Umbrüche ] | [ Optimale Umbrüche zum Blättern > ] |
4.3.3 Optimale Seitenumbrüche
Die ly:optimal-breaking
-Funktion ist die Standardmethode für
LilyPond, um Seitenumbrüche zu errechnen. Hiermit wird versucht,
Seitenumbrüche zu finden, die das Stauchen oder Strecken von Zeilen
minimieren, sowohl horizontal als auch vertikal. Anders als die
ly:page-turn-breaking
-Funktion hat diese Methode keine
Möglichkeit, Überlegungen zum Umblättern mit einzubeziehen.
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Optimale Seitenumbrüche ] | [ Nach oben : Umbrüche ] | [ Minimale Seitenumbrüche > ] |
4.3.4 Optimale Umbrüche zum Blättern
Es ist oft nötig, die Seiten so umzubrechen, dass sich eine Pause am
Ende jeder zweiten Seite befindet, damit der Musiker es leichter hat,
die Seite umzublättern ohne das Spielen zu Unterbrechen. Die
ly:page-turn-breaking
-Funktion versucht, Seitenumbrüche zu
finden, died das Stauchen oder Strecken von Zeilen minimieren und
gleichzeitig auch noch Seitenumbrüchen an angegebenen Stellen
den Vorrang zu geben.
Die Funktion wird in zwei Schritten eingesetzt. Zunächst muss sie
in der \paper
-Umgebung aktiviert werden, wie gezeigt in
Seitenumbrüche. Dann muss noch angegeben werden, welche Stellen
bevorzugt für Seitenumbrüche benutzt werden sollen.
Für diesen zweiten Schritt gibt es zwei Methoden. Am Einfachsten ist
es, die möglichen Seitenumbrüche mit dem Befehl \allowPageTurn
an jeder Stelle manuell anzugeben.
Wenn Ihnen das zu aufwändig ist, können Sie den Page_turn_engraver
zu einem Staff
- oder Voice
-Kontext hinzufügen. Dieser
Engraver durchsucht den entsprechenden Kontext nach Stellen ohne Noten.
(Es wird also nicht nach Pausen gesucht, sondern nach Stellen ohne
Noten. Dieses Verhalten verhindert, dass an polyphonen Stellen umgebrochen
wird, wo nur in einer Stimme Pausen vorhanden sind.) Wenn eine
derartige Stelle ohne Noten gefunden wird, fügt der Engraver den
Befehl \allowPageTurn
am letzten Taktstrich des Abschnitts ein. Wenn
in dem Abschnitt ein besonderer Taktstrich vorkommt (wie etwa ein
Doppelstrich), wird der Befehl nach diesem Taktstrich gesetzt.
Der Page_turn_engraver
list die Kontexteigenschaft
minimumPageTurnLength
um zu erkennen, wie lang eine Stelle
frei von Noten sein muss, damit ein Seitenumbruch in Frage kommt. Der
Standardwert hierfür ist #(ly:make-moment 1 1)
. Wenn Sie
Seitenumbrüche zum Umblättern ausschalten wollen, können Sie
einen sehr großen Wert angeben.
\new Staff \with { \consists "Page_turn_engraver" } { a4 b c d | R1 | % Ein Seitenumbruch zum Umblättern erlaubt a4 b c d | \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2) R1 | % Seitenumbruch nicht erlaubt a4 b r2 | R1*2 | % Seitenumbruch erlaubt a1 }
Der Page_turn_engraver
erkennt Wiederholungen vom Typ volta
.
Ein Seitenumbruch zum Umblättern wird nur zugelassen, wenn vor und nach
der Wiederholung genug Zeit ist, um die Seite wieder zurückzublättern.
Wenn die Wiederholung sehr kurz ist, kann auch Umblättern verboten
werden. Wenn Sie die Kontexteigenschaft
minimumRepeatLengthForPageTurn
definieren, erlaubt der
Page_turn_engraver
nur Umblättern in Wiederholungen, deren
Dauer länger als dieser Wert ist.
Die Seitenumblätter-Befehle \pageTurn
, \noPageTurn
und
\allowPageTurn
können auch auf oberster Dateiebene benutzt
werden, etwa zwischen Parituren und Textabschnitten.
Vordefinierte Befehle
\pageTurn
,
\noPageTurn
,
\allowPageTurn
.
Siehe auch
Schnipsel: Spacing.
Bekannte Probleme und Warnungen
In einer Partitur sollte nur ein Page_turn_engraver
vorkommen. Wenn
mehr als einer definiert werden, stören sie sich gegenseitig.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Optimale Umbrüche zum Blättern ] | [ Nach oben : Umbrüche ] | [ Ausdrückliche Umbrüche > ] |
4.3.5 Minimale Seitenumbrüche
Die ly:minimal-breaking
-Funktion benötigt nur minimale Berechnungen,
um die Seitenumbrüche zu bestimmen. Die Seite wird mit möglichst
vielen Systemen gefüllt und dann zur nächsten Seite gewechselt. Die
Funktion kann benutzt werden um Partituren mit vielen Seiten zu
setzen, wenn die anderen Seitenumbruchsfunktionen zu langsam wären
oder zu viel Speicher beanspruchen. Auch für Seiten mit viel Text
ist die Funktion geeignet. Sie wird folgendermaßen aktiviert:
\paper { #(define page-breaking ly:minimal-breaking) }
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Minimale Seitenumbrüche ] | [ Nach oben : Umbrüche ] | [ Eine zusätzliche Stimme für Umbrüche benutzen > ] |
4.3.6 Ausdrückliche Umbrüche
Es kann vorkommen, dass LilyPond direkte \break
oder
\pageBreak
-Befehl nicht beachtet. Mit folgenden
Einstellungen kann dieses Verhalten ausgeschaltet werden:
\override NonMusicalPaperColumn #'line-break-permission = ##f \override NonMusicalPaperColumn #'page-break-permission = ##f
Wenn line-break-permission
die Einstellung falsch
(##f
) hat, werden Zeilenumbrüche nur an den Befehlen
\break
eingefügt und nirgendwo anders. Wenn
page-break-permission
die Einstellung falsch
(##f
) hat, werden Seitenumbrüche nur an den Befehlen
\pageBreak
eingefügt und nirgendwo anders.
\paper { indent = #0 ragged-right = ##t ragged-bottom = ##t } \score { \new Score \with { \override NonMusicalPaperColumn #'line-break-permission = ##f \override NonMusicalPaperColumn #'page-break-permission = ##f } { \new Staff { \repeat unfold 2 { c'8 c'8 c'8 c'8 } \break \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break \repeat unfold 8 { c'8 c'8 c'8 c'8 } \pageBreak \repeat unfold 8 { c'8 c'8 c'8 c'8 } \break \repeat unfold 6 { c'8 c'8 c'8 c'8 } \break \repeat unfold 4 { c'8 c'8 c'8 c'8 } \break \repeat unfold 2 { c'8 c'8 c'8 c'8 } } } }
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Ausdrückliche Umbrüche ] | [ Nach oben : Umbrüche ] | [ Vertikale Abstände > ] |
4.3.7 Eine zusätzliche Stimme für Umbrüche benutzen
Zeilen- und Seitenumbruchbefehle werden normalerweise direkt zusammen mit den Noten eingegeben.
\new Score { \new Staff { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \break \repeat unfold 3 { c'4 c'4 c'4 c'4 } } }
Hierdurch sind zwar die Befehle \break
und \pageBreak
einfach zu notieren, es werden aber Informationen zur Notation
mit Informationen zur Anordnung auf der Seite vermischt. Man kann
diese Informationen auch voneinander trennen, indem man eine zusätzliche
Stimme einfügt, in der Zeilen- und Seitenumbrüche vorgenommen werden.
Diese zusätzliche Stimme enthält nur unsichtbare Noten und die
Umbruchbefehle:
\new Score { \new Staff << \new Voice { s1 * 2 \break s1 * 3 \break s1 * 6 \break s1 * 5 \break } \new Voice { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \repeat unfold 3 { c'4 c'4 c'4 c'4 } \repeat unfold 6 { c'4 c'4 c'4 c'4 } \repeat unfold 5 { c'4 c'4 c'4 c'4 } } >> }
Mit dieser Herangehensweise kann der Code insbesondere
dann klarer notiert werden, wenn man Einstellungen der
line-break-system-details
-Eigenschaft oder
anderer Eigenschaften von
NonMusicalPaperColumnGrob
vornimmt (hierzu auch
Vertikale Abstände).
\new Score { \new Staff << \new Voice { \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 0)) s1 * 2 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 35)) s1 * 3 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 70)) s1 * 6 \break \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-system-details #'((Y-offset . 105)) s1 * 5 \break } \new Voice { \repeat unfold 2 { c'4 c'4 c'4 c'4 } \repeat unfold 3 { c'4 c'4 c'4 c'4 } \repeat unfold 6 { c'4 c'4 c'4 c'4 } \repeat unfold 5 { c'4 c'4 c'4 c'4 } } >> }
Siehe auch
Notationsreferenz: Vertikale Abstände.
Schnipsel: Spacing.
4.4 Vertikale Abstände
Vertikale Abstände werden durch drei Eigenschaften bestimmt: wieviel Platz frei ist (etwa Papiergröße und Ränder), wieviel Platz zwischen Systemgruppen (engl. system) gesetzt werden soll und wieviel Platz zwischen Notensystemen (engl. staff, Pl. staves) innerhalb von Gruppen gesetzt wird.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Vertikale Abstände ] | [ Nach oben : Vertikale Abstände ] | [ Vertikale Abstände zwischen Systemen > ] |
4.4.1 Vertikale Abstände innerhalb eines Systems
Die Höhe jeder Notensystemgruppe (engl. system) wird automatisch errechnet. Um einzelne Notensysteme daran zu hindern, sich zu überschneiden, werden Minimalabstände festgelegt. Indem man diese ändert, können die Systeme enger zusammen gerückt werden. Dadurch brauchen die Gruppen weniger Platz und es passen mehr Gruppen auf eine Seite.
Normalerweise werden die Notensysteme vertikal gestapelt. Damit
die Systeme einen bestimten Abstand einhalten, haben sie
Füllabstände, die in der Eigenschaft minimum-Y-extent
definiert sind. Wenn diese Eigenschaft für ein
VerticalAxisGroup
-Objekt gesetzt wird, kann eingestellt
werden, wieviel Platz nach unten oder oben die vertikale Linie
(also das Notensystem oder eine Textzeile) einnimmt. Die
Eigenschaft braucht ein Zahlenpaar; der Standardwert ist
#'(-4 . 4)
. Um also ein Notensystem schmaler zu machen,
kann man schreiben:
\override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-3 . 3)
Damit wird die vertikale Größe des Systems auf jeweils drei
Notenlinienzwischenräume nach oben und unten von der Systemmitte
aus eingestellt. Der Wert (-3 . 3)
wird als ein
Intervall ausgewertet, dessen Zentrum bei 0 liegt; deshalb
ist die erste Zahl immer negativ. Die Zahlen müssen nicht
gleich sein: man kann etwa die Ausdehnung nach unten vergrößern,
indem man (-6 . 4)
setzt.
Die vertikale Ausrichtung von Notensystemen wird
von dem VerticalAlignment
-Objekt vorgenommen.
Die Kontextparameter für die vertikale Ausdehnung
werden für den Axis_group_engraver
angegeben.
Siehe auch
Schnipsel: Spacing.
Referenz der Interna: VerticalAlignment, Axis_group_engraver.
4.4.2 Vertikale Abstände zwischen Systemen
Der Platz zwischen Notensystembruppen wird von vier
Variablen in der \paper
-Umgebung kontrolliert:
\paper { between-system-space = 1.5\cm between-system-padding = #1 ragged-bottom=##f ragged-last-bottom=##f }
Wenn nur ein paar schmale Systeme auf eine Seite gesetzt werden,
kann die vertikale Platzverteilung recht negativ ausfallen, so
dass etwa ein System ganz oben auf der Seite und das nächste
unten auf der Seite erscheint, mit einer großen Lücke dazwischen.
Um derartige Situationen zu umgehen, kann der Platz, der zwischen
Gruppen eingefügt wird, begrenzt werden. Dieses Verhalten wird
aktiviert, indem die page-limit-inter-system-space
-Variable
in der \paper
-Umgebung auf ##t
gesetzt wird. Die
Variable page-limit-inter-system-space-factor
bestimmt,
um wieviel der Platz zwischen Gruppen gedehnt werden darf: Bei
einem Wert von 1.3
etwa darf der Platz 30% größer sein
als er es wäre, wenn die Seite mit der Option ragged-bottom
gesetzt worden wäre.
Im folgenden Beispiel würde das zweite System der ersten Seite
unten auf der Seite gesetzt werden, wenn der Platz zwischen
den Systemen nicht begrenzt wäre. Weil aber die Begrenzung
eingesetzt wurde, wird das zweite System näher am ersten
platziert. Wenn page-limit-inter-system-space-factor
auf 1
gesetzt wird, wäre die Platzverteilung die gleiche
auf einer Seite mit ragged-bottom
, wie etwa die letzte
Seite einer Partitur.
#(set-default-paper-size "a6") \book { \paper { page-limit-inter-system-space = ##t page-limit-inter-system-space-factor = 1.3 oddFooterMarkup = \markup "page bottom" evenFooterMarkup = \markup "page bottom" oddHeaderMarkup = \markup \fill-line { "page top" \fromproperty #'page:page-number-string } evenHeaderMarkup = \markup \fill-line { "page top" \fromproperty #'page:page-number-string } } \new Staff << \repeat unfold 4 { g'4 g' g' g' \break } { s1*2 \pageBreak } >> }
Siehe auch
Schnipsel: Spacing.
4.4.3 Explizite Positionierung von Systemen
Man kann die Einstellungen des VerticalAxisGroup
-Objekts
und der \paper
-Umgebung, wie sie im vorigen Abschnitt
erklärt wurden, als eine Sammlung verschiedenerer Einstellmöglichkeiten
verstehen, die vor allem die Größe des vertikalen Platzes zwischen
Notensystemen und Gruppen auf der Seite kontrollieren.
Die vertikale Platzverteilung kann aber auch auf andere Weise
eingestellt werden: mit den Optionen von
NonMusicalPaperColumn #'line-break-system-details
. Während
Einstellungen in VerticalAxisGroup
und \paper
Füllplatz
definieren, werden mit
NonMusicalPaperColumn #'line-break-system-details
absolute vertikale
Positionen auf der Seite festgelegt.
NonMusicalPaperColumn #'line-break-system-details
akzeptiert eine
Liste aus fünf unterschiedlichen Einstellungen:
-
X-offset
-
Y-offset
-
alignment-offsets
-
alignment-extra-space
-
fixed-alignment-extra-space
Veränderungen von Grobs (wozu auch NonMusicalPaperColumn
gehört),
können an drei unterschiedlichen Stellen in der Quelldatei vorgenommen
werde:
- mitten im Notentext
- in einer
\context
-Umgebung - in einer
\with
-Umgebung
Wenn der Grob NonMusicalPaperColumn
verändert werden soll,
wird der \override
-Befehl in der \context
oder
\with
-Umgebung eingesetzt. Wenn die Veränderungen aber
mitten im Notentext stattfinden sollen, müssen Sie den Befehl
\overrideProperty
einsetzen. Einige Beispiele für eine
Veränderungen von NonMusicalPaperColumn
mit dem
\overrideProperty
-Befehl sind hier aufgelistet:
\overrideProperty NonMusicalPaperColumn #'line-break-system-details #'((X-offset . 20)) \overrideProperty NonMusicalPaperColumn #'line-break-system-details #'((Y-offset . 40)) \overrideProperty NonMusicalPaperColumn #'line-break-system-details #'((X-offset . 20) (Y-offset . 40)) \overrideProperty NonMusicalPaperColumn #'line-break-system-details #'((alignment-offsets . (0 -15))) \overrideProperty NonMusicalPaperColumn #'line-break-system-details #'((X-offset . 20) (Y-offset . 40) (alignment-offsets . (0 -15)))
Um zu verstehen, wie jede dieser unterschiedlichen Einstellungen
funktioniert, wollen wir uns ein Beispiel vornehmen, dass überhaupt
keine Einstellungen (d.h. override
-Befehle) enthält:
Diese Partitur nimmt Zeilen- und Seitenumbruchinformationen in einer eigenen Stimme vor. Mit dieser Methode kann die Layout-Information einfach von den Noten getrennt werden, was sehr hilfreich ist, wenn das Beispiel komplizierter wird. Siehe auch Eine zusätzliche Stimme für Umbrüche benutzen.
Ausdrückliche \break
-Befehle teilen die Noten in sechs Takte
lange Zeilen. Die vertikale Platzverteilung wird von LilyPond
errechnet. Um den vertikalen Beginn einer jeden Systemgruppe
genau anzugeben, kann Y-offset
in der
line-break-system-details
-Eigenschaft des
NonMusicalPaperColumn
-Grobs wie in dem Beispiel
ersichtlich benutzt werden:
In der line-break-system-details
-Eigenschaft kann eine Liste
mit vielen Einstellungen eingegeben werden, aber hier wird nur eine
Einstellung angegeben. Die Y-offset
-Eigenschaft bestimmt
hier die exakte vertikale Position auf der Seite, an welcher jede
neue Systemgruppe begonnen wird.
Da jetzt der exakte Beginn eines jeden Systems explizit festgelegt wurde,
können wir auch den exakten Beginn eines jeden Notensystems in der
Gruppe festlegen. Dies geschieht mit der alignment-offsets
-Eigenschaft
von line-break-system-details
.
Dem line-break-system-details
-Attribut des
NonMusicalPaperColumn
-Grobs werden zwei Eigenschaften
zugewiesen. Auch wenn die Liste (alist) von
line-break-system-details
sehr viel mehr Platzierungsparameter
akzeptiert, müssen hier nu die Parameter Y-offset
und
alignment-offsets
gesetzt werden, um den vertikalen Beginn
jedes Systems und jeder Systemgruppe zu kontrollieren. Y-offset
bestimmt also die vertikale Position von Systemgruppen und alignment-offsets
die vertikale Position von einzelnen Notensystemen.
Einige Dinge sollten beachtet werden:
- Wenn
alignment-offsets
benutzt wird, werden Gesangtextzeilen als ein System gezählt. - Die Einheiten der Zahlen, die für
X-offset
,Y-offset
undalignment-offsets
benutzt werden, werden als Vielfaches des Abstandes zwischen zwei Notenlinien gewertet. Positive Werte verschieben Systeme und Gesangstext nach oben, negative Werte nach unten. - Weil die Einstellungen von
NonMusicalPaperColumn #'line-break-system-details
es möglich machen, Notensysteme und Gruppen an beliebigen Stellen auf der Seite zu platzieren, kann man damit auch Ränder überschreiben oder sogar Notensysteme übereinander platzieren. Sinnvolle Werte für diese Parameter werden derartiges Verhalten vermeiden.
Siehe auch
Schnipsel: Spacing.
4.4.4 Vertikale Abstände mit zwei Durchgängen
Achtung: Vertikale Positionierung in zwei Durchgängen ist veraltet (deprecated) und wird in zukünftigen Versionen von LilyPond entfernt werden. Systeme werden jetzt automatisch in einem einzigen Durchlauf gedehnt. Siehe auch Vertikale Abstände innerhalb eines Systems.
Um Systeme zu dehnen, sodass sie den restlichen Platz auf der Seite auffüllen, kann ein Verfahren benutzt werden, dass die Positionierung in zwei Durchläufen ermittelt:
- Im ersten Durchlauf wird der Platz berechnet, um den jede Systemgruppe gedehnt werden sollte und in eine Datei geschrieben.
- Im zweiten Durchlauf werden die Systemgruppen anhand der Daten aus dieser Datei entsprechend gedehnt.
Die ragged-bottom
-Eigenschaft fügt den Platz zwischen
Systemgruppen ein, während mit der Technik in zwei Durchläufen
die Systemgruppen selber gedehnt werden.
Um dieses Verhalten zu erzeugen, muss die tweak-key
-Eigenschaft
in der \layout
-Umgebung jeder Partitur definiert werden und diese
Anpassungen dann in jeder Paritur mit dem Befehl \scoreTweak
angewandt werden.
%% die erstellte Layout-Datei einfügen \includePageLayoutFile \score { \new StaffGroup << \new Staff << %% Anpassungen für diese Partitur einfügen \scoreTweak "scoreA" { \clef french c''1 \break c''1 } >> \new Staff { \clef soprano g'1 g'1 } \new Staff { \clef mezzosoprano e'1 e'1 } \new Staff { \clef alto g1 g1 } \new Staff { \clef bass c1 c1 } >> \header { piece = "Score with tweaks" } %% Definieren, wie die Anpassungen für diese Datei genannt werden: \layout { #(define tweak-key "scoreA") } }
Für den ersten Durchgang sollte die dump-tweaks
-Option gesetzt
werden, damit die Layout-Datei erstellt wird.
lilypond -dbackend=null -d dump-tweaks <file>.ly lilypond <file>.ly
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Vertikale Abstände mit zwei Durchgängen ] | [ Nach oben : Vertikale Abstände ] | [ Horizontale Abstände > ] |
4.4.5 Vermeidung von vertikalen Zusammenstößen
Intuitiv gibt es in der Notation einige Objekte, die zu dem Notensystem gehören, und einige andere, die immer außerhalb des Notensystems positioniert werden sollten. Zu diesen letzteren gehören etwa Übungszeichen, Textbeschriftung und Dynamikbezeichnung (die als Objekte außerhalb des Systems bezeichnet werden können). LilyPonds Regeln um diese Objekte zu positionieren lautet: so nah am Notensystem wie möglich, aber gerade so weit weg, dass sie nicht mit anderen Objekten zusammenstoßen.
Dabei setzt LilyPon die outside-staff-priority
-Eigenschaft
ein um herauszufinden, ob ein Grob ein Objekt außerhalb des Systems
ist: wenn outside-staff-priority
eine Zahl ist, dann handelt
es sich um ein Objekt außerhalb des Systems. Zusätzlich teilt
outside-staff-priority
noch mit, in welcher Reihenfolge
die Objekte außerhalb des Systems gesetzt werden sollen.
Zuerst werden alle Objekte gesetzt, die nicht außerhalb des Systems
gehören. Dann werden die Objekte außerhalb des Systems nach dem Wert
ihrer outside-staff-priority
(in aufsteigender Anordnung)
sortiert. Eins nach dem anderen werden diese Objekte schließlich
genommen und so platziert, dass sie nicht mit den Objekten zusammenstoßen,
die bereits platziert worden sind. Wenn also zwei Objekte außerhalb
des Systems um den gleichen Platz streiten, wird das mit dem
geringeren Wert von outside-staff-priority
näher an das
entsprechende Notensystem gesetzt.
c4_"Text"\pp r2. \once \override TextScript #'outside-staff-priority = #1 c4_"Text"\pp % this time the text will be closer to the staff r2. % by setting outside-staff-priority to a non-number, % we disable the automatic collision avoidance \once \override TextScript #'outside-staff-priority = ##f \once \override DynamicLineSpanner #'outside-staff-priority = ##f c4_"Text"\pp % now they will collide
Der Platz, der zwischen einem Objekt außerhalb des Systems und
dem vorhergehenden Objekt eingefügt werden kann (auch als
padding bezeichnet), kann durch outside-staff-padding
kontrolliert werden.
\once \override TextScript #'outside-staff-padding = #0 a'^"This text is placed very close to the note" \once \override TextScript #'outside-staff-padding = #3 c^"This text is padded away from the previous text" c^"This text is placed close to the previous text"
Standardmäßig werden Objekte außerhalb des Systems so gesetzt,
dass sie eine horizontale Überschneidung mit einem der
vorher gesetzten Grobs vermeiden. Das kann zu Situationen
führen, in denen Objekte sehr dicht nebeneinander gesetzt
werden. Der vertikale Platz zwischen Notensystemen kann
auch gesetzt werden, sodass Objekte außerhalb des Systems
ineinander greifen. Mit der Eigenschaft
outside-staff-horizontal-padding
können Objekte vertikal
verschoben werden und derartige Situationen kommen nicht
vor.
% the markup is too close to the following note c4^"Text" c4 c''2 % setting outside-staff-horizontal-padding fixes this R1 \once \override TextScript #'outside-staff-horizontal-padding = #1 c,,4^"Text" c4 c''2
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Vermeidung von vertikalen Zusammenstößen ] | [ Nach oben : Abstände ] | [ Überblick über horizontale Abstände > ] |
4.5 Horizontale Abstände
4.5.1 Überblick über horizontale Abstände | ||
4.5.2 Eine neuer Bereich mit anderen Abständen | ||
4.5.3 Horizontale Abstände verändern | ||
4.5.4 Zeilenlänge | ||
4.5.5 Proportionale Notation |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Horizontale Abstände ] | [ Nach oben : Horizontale Abstände ] | [ Eine neuer Bereich mit anderen Abständen > ] |
4.5.1 Überblick über horizontale Abstände
Die Setzmaschine interpretiert unterschiedliche Notendauern als
dehnbare Abstände (engl. spring) unterschiedlicher Länge. Längere
Dauern erhalten mehr Platz, kürzere weniger. Die kürzeste Dauer
erhält eine feste Breite (die mit shortest-duration-space
im SpacingSpanner
-Objekt kontrolliert werden kann). Je
länger die Dauer, umso mehr Platz erhält die Note: wenn ihre
Dauer verdoppelt wird, wird ein bestimmter Platz hinzugefügt
(dessen Breite durch spacing-increment
bestimmt werden
kann).
Das folgende Stück beispielsweise enthält Halbe, Viertel und Achtel. Die Achtelnote wird gefolgt von einem Notenkopfabstand (NKA). Die Viertel wird von 2 NKA gefolgt, die Halbe von 3 NKA usw.
c2 c4. c8 c4. c8 c4. c8 c8 c8 c4 c4 c4
Normalerweise ist spacing-increment
definiert als 1.2 mal
der Abstand zwischen zwei Notenlinien, was in etwa die Breite eines
Notenkopfes ist. shortest-duration-space
ist definiert als
2.0, was bedeutet, dass die kürzeste Note 2.4 Notenlinienabstände
2.0 mal der Wert von spacing-increment
) horizontalen
Abstand erhält. Der Abstand wirdvon der linken Kande des Symbols
errechnet, so dass die kürzeste Note üblicherweise von 1 NKA
Abstand gefolgt wird.
Wenn diese Herangehensweise konsequent angewandt würde, würde eine einzige Zweiunddreißigstel eine Partitur, in der vor allem Achtel und Sechzehntel vorkommen, sehr weit auseinanderdehnen. Die kürzeste Note wäre nun keine Sechzehntel mehr, sondern eine Zweiunddreißigstel, wodurch an jede Note der Wert von 1 NKA hinzugefügt würde. Um das zu vermeiden, ist die kürzeste Dauer für die Platzverteilung nicht die kürzeste Note einer Partitur, sondern die, die am häufigsten vorkommt.
Die Notendauer, die am häufigsten vorkommt, wird auf folgende
Weise bestimmt: in jedem Takt wird die kürzeste Note bestimmt. Die
häufigste kürzeste Note wird dann als Grundlage für die Platzverteilung
der Noten herangezogen, mit der Bedingung, dass diese kürzeste
Note immer ein Achtel oder kürzer sein soll. Die kürzeste Dauer
wird ausgegeben, wenn lilypond
mit der Option --verbose
aufgerufen wird.
Diese Dauern können aber auch angepasst werden. Wenn Sie die Eigenschaft
common-shortest-duration
in dem SpacingSpanner
setzen,
dann wird hiermit die Grunddauer für die Platzverteilung eingestellt.
Die maximale Dauer für diesen Grundwert (normalerweise eine Achtel)
wird definiert mit base-shortest-duration
.
Noten, die noch kürzer sind als die häufigste kürzeste Note, werden durch einen Platz voneinander getrennt, der proportional zu ihrer Dauer in Beziehung zur häufigsten kürzesten Note ist. Wenn also nur ein paar Sechszehntel zu dem obigen Beispiel hinzugefügt werden, würden sie von 1/2 NKA gefolgt werden:
c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4
In der Einleitung (siehe
Notensatz) wurde erklärt, dass die
Richtung der Notenhälse die Platzverteilung beeinflusst. Das wird
kontrolliert durch die stem-spacing-correction
-Eigenschaft
in dem NoteSpacing
-Objekt. Dieses Objekt wird für jeden
Voice
-Kontext erstellt. Das StaffSpacing
-Objekt (in
einem Staff
-Kontext erstellt) enthält die gleiche Eigenschaft,
um die Verteilung von Hälsen neben Taktlinien zu kontrollieren. In
dem folgenden Beispiel werden diese Einstellungen gezeigt, einmal
mit den Standardwerten und dann mit größeren Werten, damit man sie
besser sieht:
Proportionale Notation ist unterstützt, siehe Proportionale Notation.
Siehe auch
Schnipsel: Spacing.
Referenz der Interna: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.
Bekannte Probleme und Warnungen
Es gibt keine sinnvolle Möglichkeit, die horizontale Verteilung der Noten zu unterdrücken. Die folgende Problemumgehung, mit der dehnbare Abstände (padding) eingesetzt werden, kann benutzt werden, um zusätzlichen Platz in eine Partitur einzufügen.
\once \override Score.SeparationItem #'padding = #10
Es gibt derzeit keine Möglichkeit, den Platz zu verringern.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Überblick über horizontale Abstände ] | [ Nach oben : Horizontale Abstände ] | [ Horizontale Abstände verändern > ] |
4.5.2 Eine neuer Bereich mit anderen Abständen
Neue Abschnitte mit unterschiedlichen Notenabstandsparametern
können mit dem Befehl newSpacingSection
begonnen werden.
Das ist hilfreich, wenn in verschiedenen Abschnitten die
Verhältnisse von kurzen und langen Noten sehr unterschiedlich
ausfallen.
Im folgenden Beispiel wird durch die neue Taktart ein neuer Abschnitt begonnen, in dem die Sechszehntel weiter außeinander gesetzt werden sollen.
\time 2/4 c4 c8 c c8 c c4 c16[ c c8] c4 \newSpacingSection \time 4/16 c16[ c c8]
Der \newSpacingSection
-Befehl erstellt ein neues
SpacingSpanner
-Objekt, weshalb auch neue Anpassungen
mit dem \override
-Befehl an dieser Stelle eingesetzt
werden können.
Siehe auch
Schnipsel: Spacing.
Referenz der Interna: SpacingSpanner.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Eine neuer Bereich mit anderen Abständen ] | [ Nach oben : Horizontale Abstände ] | [ Zeilenlänge > ] |
4.5.3 Horizontale Abstände verändern
Die horizontalen Abstände können mit der
base-shortest-duration
-Eigenschaft
verändert werden. In den folgenden Beispielen
werden die gleichen Noten eingesetzt, zuerst
ohne die Eigenschaft zu verändern, im zweiten
Beispiel dann mit einem anderen Wert. Größere
Werte für ly:make-moment
ergeben dichtere
Noten. ly:make-moment
erstellt eine Dauer,
die als Bruch notiert wird, sodass 1 4
eine größere Dauer ist als 1 16
.
\score { \relative c'' { g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | d4 d d d | d4 e f2 | e4 e e e | e4 f g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | } }
\score { \relative c'' { g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | d4 d d d | d4 e f2 | e4 e e e | e4 f g2 | g4 e e2 | f4 d d2 | c4 e g g | c,1 | } \layout { \context { \Score \override SpacingSpanner #'base-shortest-duration = #(ly:make-moment 1 16) } } }
Ausgewählte Schnipsel
Standardmäßig wird die Platzverteilung in Triolen und andern rhythmischen Aufteilungen nach verschiedenen nicht von der Dauer abgeleiteten Faktoren (wie Versetzungszeichen, Schlüsselwechseln usw.) berechnet. Um diese Symbole zu ignorieren und eine gleichmäßige Verteilung der Noten zu erzwingen, kann die gleichmäßige Dehnung (engl. uniform stretching) zu Beginn einer Partitur eingeschaltet werden:
\new Score \with { \override SpacingSpanner #'uniform-stretching = ##t } << \new Staff{ \times 4/5 { c8 c8 c8 c8 c8 } c8 c8 c8 c8 } \new Staff{ c8 c8 c8 c8 \times 4/5 { c8 c8 c8 c8 c8 } } >>
Wenn strict-note-spacing
eingestellt ist, werden Noten
gesetzt, ohne dass Schlüssel, Taktlinine oder Verzierungsnoten
zusätzlichen Platz erhalten.
\override Score.SpacingSpanner #'strict-note-spacing = ##t \new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c] c32[ c32] }
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Horizontale Abstände verändern ] | [ Nach oben : Horizontale Abstände ] | [ Proportionale Notation > ] |
4.5.4 Zeilenlänge
Die grundlegenden Einstellungen, die Einfluss auf die Zeilenlänge
haben, sind indent
(Einzug) und line-width
(Zeilenbreite). Sie werden in der \layout
-Umgebung
einestellt. Der erste Befehl bestimmt den Einzug der ersten
Zeile, der zweite die Zeilenlänge der weiteren Notenzeilen.
Wenn ragged-right
eingestellt ist (als in der
\layout
-Umgebung auf den Wert #t
gesetzt wurde),
werden die Systeme linksbündig gesetzt und nicht bis zum
rechten Rand hin durchgezogen, sondern den Noten entsprechend
gesetzt. Das ist oftmals nützlich für kleine Notenfragmente
und um zu überprüfen, wie eng die Noten natürlicherweise
gesetzt werden würden.
Die Option ragged-last
verhält sich ähnlich zu ragged-right
,
aber wirkt sich nur auf die letzte Zeile eines Stückes aus.
Für diese letzte Zeile gibt es keine Einschränkungen. Das
Resultat erinnert an Textabsätze im Blocksatz, wo die letzte
Zeile des Absatzes mit ihrer natürlichen Länge gestzt wird.
\layout { indent = #0 line-width = #150 ragged-last = ##t }
Siehe auch
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Zeilenlänge ] | [ Nach oben : Horizontale Abstände ] | [ Die Musik auf weniger Seiten zwingen > ] |
4.5.5 Proportionale Notation
LilyPond hat Unterstützung für proportionale Notation. Dabei handelt es sich um eine horizontale Platzverteilung, die jeder Note einen exakt ihrer Dauer entsprechenden Platz zuordnet. Man kann es vergleichen mit der Notenplatzierung auf einem Raster. In einigen Partituren des späten 20. und frühen 21. Jahrhunderts wird dies proportionale Notation benutzt, um sehr komplizierte rhythmische Verhältnisse klarer darzustellen, oder um einen Zeitstrahl oder ähnliche Graphiken direkt in die Partitur zu integrieren.
LilyPond hat Unterstützung für fünf verschiedene Einstellungen der proportionalen Notation, die alle zusammen oder jede für sich benutzt werden können:
-
proportionalNotationDuration
(proportionale Notendauer) -
uniform-stretching
(gleichmäßige Dehnung) -
strict-note-spacing
(strenge Notenverteilung) -
\remove Separating_line_group_engraver
(entferne Liniengruppentrennungsengraver) -
\override PaperColumn #'used = ##t
(PapierSpalte benutzt = wahr)
In den Beispielen unten werden diese fünf unterschiedlichen Einstellungen für die proportionale Notation vorgestellt und ihre Wirkungen untereinander illustriert.
Es soll mit diesem 1 Takt langen Beispiel begonnen werden, in welchem die klassischen Abstände und Flattersatz (ragged-right) eingesetzt werden:
\new Score << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >>
Die Halbe, mit der der Takt beginnt, braucht weitaus weniger Platz als die Hälfte des Taktes. Gleichermaßen haben die Sechszehntel und die Sechszehntel-Quintolen (oder Zwanzigstel), mit denen der Takt endet, insgesamt weitaus mehr als die Hälfte der Taktbreite.
Im klassischen Notensatz kann dieses Verhalten genau das gewünschte Ergebnis bringen, weil dadurch horizontaler Platz von der Halben weggenommen werden kann und so insgesamt Platz in dem Takt eingespart wird.
Wenn allerdings ein Zeitstrahl oder andere zeitliche ablaufende Graphiken über oder unter dem Takt eingefügt werden soll, braucht man eine Notenplatzierung, die exakt der von ihnen eingenommenen Dauer entspricht. Auf folgende Art wird die proportionale Notation eingeschaltet:
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >>
Die Halbe zu Beginn des Taktes und die schnelleren Noten in der zweiten Takthälfte nehmen jetzt genau den gleichen horizontalen Platz ein. Jetzt könnte man einen Zeitstrahl mit dem Takt synchronisieren.
Die Einstellung von proportionalNotationDuration
gehört zum
Score
-Kontext. Kontexteinstellungen können an drei verschiedenen
Stellen in der Quelldatei geschrieben werden: in einer \with
-Umgebung,
in einer \context
-Unmgebung oder direkt in den Noten mit dem
\set
-Befehl. Alle drei Positionen sind gleichwertig und es hängt
vom Benutzer ab, welche bevorzugt wird.
Die Eigenschaft proportionalNotationDuration
braucht ein Argument,
welches die Referenzdauer ist, anhand welcher alle Noten platziert werden.
Hier wird die LilyPond Scheme-Funktion make-moment
eingesetzt. Sie
braucht zwei Argumente: einen Zähler und einen Nenner, die einen Bruch einer
Ganzen darstellen. Die Funktion #(ly:make-moment 1 20)
ergibt also
eine Referenzdauer von einer Zwanzigstel. Genauso gut können etwa die Dauern
#(ly:make-moment 1 16)
, #(ly:make-moment 1 8)
oder
#(ly:make-moment 3 97)
eingesetzt werden.
Die richtige Referenzdauer, mit der eine vernünftige Verteilung der Noten proportional möglich ist, muss durch Ausprobieren herausgefunden werden. Dabei sollte man mit einer Dauer beginnen, die der kleinsten Note des Stückes nahekommt. Kleine Referenzdauern lassen die Noten sehr gedehnt erscheinen, größere Referenzdauern zwingen sie dichter zusammen.
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 8) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >> \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 16) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >> \new Score \with { proportionalNotationDuration = #(ly:make-moment 1 32) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } >>
Man muss beachten, dass die Referenzdauer nicht zu groß ist (wie die Achtel in dem Beispiel oben), denn dadurch werden die Noten so dicht gesetzt, dass sich eventuell sogar Notenköpfe von sehr kleinen Notenwerten überschneiden können. Die proportionale Notation nimmt üblicherweise mehr Platz ein als die klassische Platzverteilung. Der rhythmischen Klarheit muss ein eng gesetztes Notenbild geopfert werden.
In Folgenden soll betrachtet werden, wie sich überlappende rhythmische Aufteilungen am besten positioniert werden. Als Referenz wird das erste Beispiel herangezogen, zu welchem ein zweites System mit anderen rhythmischen Werten hinzugefügt wird:
\new Score << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
Die Platzaufteilung ist schlecht, weil die gleichlangen Noten des
untersten Systems nicht gleichmäßig verteilt sind. Im klassischen
Notensatz kommen komplexe rhythmische Verhältnisse wie dieses sehr
selten vor, sodass der Notensatz nicht in Hinsicht auf sie optimiert
ist. proportionalNotationDuration
hilft in
dieser Situation deutlich:
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
Aber bei sehr genauer Betrachtung sind die Noten der zweiten Hälfte der Nonole doch immernoch eine Spur weiter gesetzt als die Noten der ersten Hälfte. Um wirklich gleichmäßige Abstände zu erzwingen, sollte auch noch die gleichmäßige Dehnung angeschaltet werden:
\new Score \with { proportionalNotationDuration = #(ly:make-moment 1 20) \override SpacingSpanner #'uniform-stretching = ##t } << \new RhythmicStaff { c'2 c'16 c'16 c'16 c'16 \times 4/5 { c'16 c'16 c'16 c'16 c'16 } } \new RhythmicStaff { \times 8/9 { c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 } } >>
Das Beispiel mit den zwei Systemen ist nun exakt nach den rhythmischen Werten der Noten gesetzt, sodass ein Zeitstrahl oder ähnliches eingefügt werden könnte.
Alle Einstellungen zur proportionalen Notation erwarten,
dass die uniform-stretching
-Eigenschaft des
SpacingSpanner
-Objekts auf wahr gesetzt wird. Andernfalls
kann es vorkommen, dass bestimmte Abstände (etwa von
unsichtbaren Noten) nicht richtig gesetzt werden.
Das SpacingSpanner
-Objekt ist ein abstraktes Grob, dass sich im
Score
-Kontext befindet. Genauso wie die Einstellungen
von proportionalNotationDuration
können auch diese
Veränderungen an den drei Stellen in der Quelldatei vorkommen:
in der \with
-Umgebung innerhalb von Score
, in
einer \context
-Umgebung oder direkt im Notentext.
Standardmäßig gibt es nur ein SpacingSpanner
pro Score
.
Das heißt, dass uniform-stretching
für die gesamte Partitur
(d.h. für die Reichweite von Score
) entweder an- oder
ausgeschaltet ist. Man kann allerdings in einer Partitur unterschiedliche
Abschnitte mit verschiedenem Platzierungsverhalten definieren.
Hierzu ist der Befehl \newSpacingSection
da. Siehe auch Eine neuer Bereich mit anderen Abständen.
Im Folgenden soll gezeigt werden, wie sich der Separating_line_group_engraver
auswirkt und warum er normalerweise für proportionale Notation ausgeschaltet wird.
In diesem Beispiel wird verdeutlicht, dass vor jeder ersten Note eines Notensystems
immer etwas zusätzlicher Platz gesetzt wird:
\paper { indent = #0 } \new Staff { c'1 \break c'1 }
Der gleiche horizontale Platz wird vor eine Noten gesetzt, wenn sie
einer Taktart, einem Schlüssel oder einer Tonartbezeichnung folgt.
Dieser Platz wird durch Separating_line_group_engraver
eingefügt; wenn wir ihn aus der Partitur entfernen, entfällt
auch dieser zusätzliche Platz:
\paper { indent = #0 } \new Staff \with { \remove Separating_line_group_engraver } { c'1 \break c'1 }
Nichmusikalische Elemente wir Takt- und Tonartangaben, Schlüssel und Versetzungszeichen sind problematisch in proportionaler Notation. Keine dieser Elemente hat eine rhythmische Dauer, aber alle brauchen horizontalen Platz. Das Problem wird auf unterschiedliche Weise gelöst.
Es ist manchmal möglich, Probleme mit Tonarten zu lösen, indem keine benutzt werden. Das ist durchaus eine ernstzunehmende Option, weil die meisten Partituren mit proportionaler Notation für heutige Musik geschrieben werden. Ähnliches gilt für Taktarten, insbesondere, wenn ein Zeitstrahl in die Partitur eingearbeitet werden soll. In den meisten Parituren kommt jedoch irgendeine Taktart vor. Schlüssel und Versetzungszeichen sind noch wichtiger; auf sie kann selten verzichtet werden.
Eine Lösungsmöglichkeit ist es, die strict-note-spacing
-Eigenschaft
des SpacingSpanner
-Objekts zu benutzen. Zum Vergleich
die beiden Partituren unten:
\new Staff { \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) c''8 c''8 c''8 \clef alto d'8 d'2 } \new Staff { \set Score.proportionalNotationDuration = #(ly:make-moment 1 16) \override Score.SpacingSpanner #'strict-note-spacing = ##t c''8 c''8 c''8 \clef alto d'8 d'2 }
Bei beiden handelt es sich um proportionale Notation, aber
die Platzverteilung im oberen Beispiel ist zu weit wegen
des Schlüsselwechsels. Die Platzverteilung des zweiten
Beispiels dagegen bleibt rhythmisch korrekt.
strict-note-spacing
bewirkt, dass Takt- und
Tonartbezeichnungen, Schlüssel und Versetzungszeichen
keine Rolle bei der Berechnung der Abstände spielen.
Zusätzlich zu den hier vorgestellten Einstellungen gibt es noch eine Reihe von Möglichkteiten, die oft in proportionaler Notation benutzt werden. Dazu gehören:
-
\override SpacingSpanner #'strict-grace-spacing = ##t
-
tupletFullLength = ##t
-
\override Beam #'breakable = ##t
-
\override Glissando #'breakable = ##t
-
\override TextSpanner #'breakable = ##t
-
\remove Forbid_line_break_engraver in the Voice context
Diese Einstellungn bewirken, dass auch Verzierungsnoten proportional gesetzt werden, dass Klammern von rhythmischen Gruppen bis zu den Anfangs- und Endpunkten ausgedehnt werden und lassen dehnbare Objekte wie Balken und Glissandi auch über Taktstriche hinweg zu.
Siehe auch
Notationsreferenz: Eine neuer Bereich mit anderen Abständen.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Proportionale Notation ] | [ Nach oben : Abstände ] | [ Abstände anzeigen lassen > ] |
4.6 Die Musik auf weniger Seiten zwingen
Manchmal kommt es vor, dass nur ein oder zwei Systeme auf die nächste Seite geraten, obwohl es so aussieht, als ob auf der vorigen Seite genügend Platz ist, um diese Systeme auch noch unterzubringen.
Wenn man derartige Platzierungsprobleme untersucht, ist die
Funktion annotate-spacing
von sehr großer Hilfe. Hiermit
wird in den Musiksatz zusätzlich Information darüber ausgegeben,
wieviel Platz bestimmten Parametern zugewiesen wird. Genaueres
hierzug in
Abstände anzeigen lassen.
4.6.1 Abstände anzeigen lassen | ||
4.6.2 Abstände verändern |
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Standardeinstellungen verändern >> ] | ||
[ < Die Musik auf weniger Seiten zwingen ] | [ Nach oben : Die Musik auf weniger Seiten zwingen ] | [ Abstände verändern > ] |
4.6.1 Abstände anzeigen lassen
Die Dimensionen von vertikalen und horizontalen Platzierungsvariablen,
die veränderbar sind, lassen sich mit ihren aktuellen Werten im
Notentext anzeigen, wenn man die Funktion
annotate-spacing
in der \paper
-Umgebung einschaltet:
#(set-default-paper-size "a6" 'landscape) \book { \score { { c4 } } \paper { annotate-spacing = ##t } }
Alle Layoutdimensionen werden in Notenlinienzwischenräumen
aufgelistet, unabhängig von den Einheiten, mit denen sie in der
\paper
- oder \layout
-Umgebung definiert worden
sind. In dem letzten Beispiel hat paper-height
einen Wert von
59.75 Notenlinienzwischenräumen und staff-size
Systemhöhe) ist 20 Punkte. Dabei gilt:
1 Punkt | = (25.4/72.27) mm |
1 Notenlinienzwischenraum | = ( |
= ( |
In diesem Fall ist ein staff-space
(Notenlinienzwischenraum)
etwa gleich 1.757 mm. Deshalb entspricht der Wert von 95.75
staff-space
für paper-height
(Papierhöhe) 105 mm,
die Höhe eines quer gelegten A6-Papiers. Die Paare (a,b) sind
Intervalle, wobei a der untere Rand und b der
obere Rand des Intervalls.
Siehe auch
Notationsreferenz: Die Notensystemgröße einstellen
Schnipsel: Spacing.
4.6.2 Abstände verändern
Die Ausgabe von annotate-spacing
bietet sehr viele
Details zu den vertikalen Dimensionen einer Paritur. Zu Information,
wie Seitenränder und andere Layout-Variablen geändert werden
können, siehe Seitenformatierung.
Neben Rändern gibt es einige weitere Optionen, Platz zu sparen:
-
LilyPond kann die Systeme so dicht wie möglich platzieren (damit
so viele Systeme wie möglich auf eine Seite passen), aber sie
dann so anordnen, dass kein weißer Rand unten auf der Seite entsteht.
\paper { between-system-padding = #0.1 between-system-space = #0.1 ragged-last-bottom = ##f ragged-bottom = ##f }
-
Die Anzahl der Systeme kann reduziert werden. Das kann auf
zwei Arten helfen: wenn einfach nur ein Wert gesetzt wird, auch
wenn es die gleiche Anzahl ist, die auch schon vorher von LilyPond
erstellt wurde, kann manchmal dazu führen, dass mehr Systeme
auf eine Seite gesetzt werden. Das liegt daran, dass ein
Schritt im Notensatz ausgelassen wird, der die Seitenverteilung
nur grob einschätzt, sodass eine bessere Seitenverteilung
entsteht. Auch wenn man eine Verringerung der Anzahl an Systemen
erzwingt, kann oft eine Seite eingespart werden. Wenn LilyPond
die Musik etwa auf 11 Systeme verteilt, kann man die Benutzung von
nur 10 Systemen erzwingen.
\paper { system-count = #10 }
-
Vermeidung von Objekten, die den vertikalen Abstand von Systemen
vergrößern, hilft oft. Die Verwendung von Klammern bei Wiederholungen
etwa braucht mehr Platz. Wenn die Noten innerhalb der Klammern auf
zwei Systeme verteilt sind, brauchen sie mehr Platz, als wenn sie
nur auf einer Zeile gedruckt werden.
Ein anderes Beispiel ist es, Dynamik-Zeichen, die besonders weit „hervorstehen“, zu verschieben.
\relative c' { e4 c g\f c \override DynamicText #'extra-offset = #'( -2.2 . 2.0) e4 c g\f c }
-
Die horizontalen Abstände können mit der
SpacingSpanner
-Eigenschaft verändert werden. Siehe Horizontale Abstände verändern für Einzelheiten. Dieses Beispiel zeigt die normalen Abstände:\score { \relative c'' { g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | } }
Das nächste Beispiel verändert
common-shortest-duration
(die häufigste kürzeste Note) von1/4
zu1/2
. Die Viertelnote ist dennoch die häufigste Note in diesem Abschnitt, sodass der Notentext zusammengedrängt, wird, wenn eine Halbe als Standard angegeben wird:\score { \relative c'' { g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 | g4 e e2 | } \layout { \context { \Score \override SpacingSpanner #'common-shortest-duration = #(ly:make-moment 1 2) } } }
Die
common-shortest-duration
-Eigenschaft kann nicht dynamisch verändert werden, darum muss sie immer in der\context
-Umgebung definiert werden und wirkt sich somit auf eine ganze\score
-Umgebung aus.
Siehe auch
Notationsreferenz: Seitenformatierung, Horizontale Abstände verändern.
Schnipsel: Spacing.
[ << Abstände ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Abstände verändern ] | [ Nach oben : Top ] | [ Interpretationskontexte > ] |
5. Standardeinstellungen verändern
Das Ziel von LilyPonds Design ist es, von sich aus gut gesetzte Noten zu produzieren. Es kann aber trotzdem vorkommen, dass Sie diesen Standardsatz ändern wollen. Das Layout kann mithilfe einer recht großen Anzahl von „Schaltern und Knöpfen“ kontrolliert werden. Sie werden als „Eigenschaften“ (engl. properties) bezeichnet. Eine kurze Einführung und Übung, wie man auf diese Eigenschaften zugreifen kann und sie verändern kann, findet sich im Handbuch zum Lernen, siehe Die Ausgabe verändern. Das Kapitel sollte zuerst gelesen werden. In diesem Kapitel werden die gleichen Themen behandelt, aber der Schwerpunkt liegt eher auf einer technischen Darstellung.
Die definitive Beschreibung der unterschiedlichen Einstellmöglichenkeiten findet sich in einem eigenen Dokument: der Referenz der Interna. Diese Referenz zeigt alle Variablen, Funktionen und Optionen, die in LilyPond möglich sind. Es existiert als ein HTML-Dokumente, das sich on-line, aber auch lokal in das LilyPond-Dokumentationspaket integriert lesen lässt.
Intern benutzt LilyPond Scheme (ein LISP-Dialekt), um eine Infrastruktur
zur Verfügung zu stellen. Wenn Layoutentscheidungen verändert werden
sollen, müssen auf die programminternen Prozesse zugegriffen werden,
wozu Scheme-Code benötigt wird. Scheme-Abschnitte werden in einer
LilyPond-Quelldatei mit einer Raute #
begonnen (siehe auch
Scheme-Übung).
5.1 Interpretationskontexte | ||
5.2 Die Referenz der Programminterna erklärt | ||
5.3 Eignschaften verändern | ||
5.4 Nützliche Konzepte und Eigenschaften | ||
5.5 Fortgeschrittene Optimierungen |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Standardeinstellungen verändern ] | [ Nach oben : Standardeinstellungen verändern ] | [ Was sind Kontexte? > ] |
5.1 Interpretationskontexte
Dieser Abschnitt erklärt, was Kontexte sind und wie man sie verändern kann.
Siehe auch
Handbuch zum Lernen: Kontexte und Engraver.
Installierte Dateien: ‘ly/engraver-init.ly’, ‘ly/performer-init.ly’.
Schnipsel: Contexts and engravers.
Referenz der Interna: Contexts, Engravers and Performers.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Interpretationskontexte ] | [ Nach oben : Interpretationskontexte ] | [ Score - der Vater aller Kontexte > ] |
5.1.1 Was sind Kontexte?
Kontexte sind hierarchisch geordnet:
Score - der Vater aller Kontexte | ||
Oberste Kontexte – Container für Systeme | ||
Mittlere Kontexte – Systeme | ||
Unterste Kontexte – Stimmen |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Was sind Kontexte? ] | [ Nach oben : Was sind Kontexte? ] | [ Oberste Kontexte -- Container für Systeme > ] |
Score - der Vater aller Kontexte
Score
(Partitur) ist der höchste Notationskontext. Kein anderer Kontext
kann einen Score
-Kontext enthalten. Im Normalfall kümmert
sich der Score
-Kontext um die Verwaltung der Taktarten und sorgt
dafür, dass Elemente wie Schlüssel und Taktart- oder Tonartbezeichnungen
über die Systeme hinweg aneinander ausgerichtet sind.
Ein Score
-Kontext wird eingerichtet, wenn eine
\score {…}
oder \layout {…}
-Umgebung
interpretiert wird, oder explizit mit dem \new Score
-Befehl.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Score - der Vater aller Kontexte ] | [ Nach oben : Was sind Kontexte? ] | [ Mittlere Kontexte -- Systeme > ] |
Oberste Kontexte – Container für Systeme
Diese Kontexte fassen Systeme zu Gruppen zusammen und werden darum hier als Systemgruppen bezeichnet (engl. staffgroup).
StaffGroup
Gruppiert Systeme und fügt eine eckige Klammer auf der linken Seite
hinzu. Die Taktstriche der enthaltenen Systeme werden vertikal
miteinander verbunden. StaffGroup
besteht nur aus einer Ansammlung
von Systemen mit einer eckigen Klammer zu Beginn der Zeile und
durchgezogenen Taktstriche.
ChoirStaff
Entspricht StaffGroup
, außer dass die Taktstriche der enthaltenen
Systeme nicht vertikal miteinander verbunden sind.
GrandStaff
Gruppiert Systeme mit einer geschweiften Klammer zur Linken. Die Taktlinien der enthaltenen Systeme werden vertikal verbunden.
PianoStaff
Entspricht GrandStaff
, hat aber zusätzlich Unterstützung für
Instrumentenbezeichnungen zu Beginn jeder Systemgruppe.
Mittlere Kontexte – Systeme
Diese Kontexte stellen verschiedene Arten einzelner Notationssysteme (engl. staff) dar.
Staff
Kümmert sich um Schlüssel, Taktstriche, Tonarten und Versetzungszeichen.
Er kann Voice
-Kontexte enthalten.
RhythmicStaff
Entspricht Staff
, aber dient zur Notation von Rhythmen: Tonhöhen
werden ignoriert und die Noten auf einer einzigen Linie ausgegeben.
TabStaff
Ein Kontext um Tabulaturen zu erstellen. Die Standardeinstellung ist eine Gitarrentabulatur mit sechs Notenlinien.
DrumStaff
Ein Kontext zur Notation von Perkussion. Er kann
DrumVoice
-Kontexte enthalten.
VaticanaStaff
Entspricht Staff
, aber eignet sich besondert zum Notensatz des
Gregorianischen Chorals.
MensuralStaff
Entspricht Staff
, aber eignet sich zum Notensatz von Noten in
der Mensuralnotation.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Mittlere Kontexte -- Systeme ] | [ Nach oben : Was sind Kontexte? ] | [ Kontexte erstellen > ] |
Unterste Kontexte – Stimmen
Stimmen-(Voice
-Kontexte initialisieren bestimmte Eigenschaften
und laden bestimmte Engraver. Weil es sich bei Stimmen um die
untersten Kontexte handelt, können sie keine weiteren Kontexte enthalten.
Voice
Entspricht einer Stimme auf einem Notensystem. Der Kontext kümmert sich um die Umsetzung von Noten, Dynamikzeichen, Hälsen, Balken, diversen Texten, Bögen und Pausen. Wenn mehr als eine Stimme pro System benötigt wird, muss dieser Kontext explizit initialisiert werden.
VaticanaVoice
Entspricht Voice
, aber eignet sich besonders zum Notensatz
des Gregorianischen Chorals.
MensuralVoice
Entspricht Voice
, aber mit Änderungen, um Mensuralnotation
setzen zu können.
Lyrics
Entspricht einer Stimme mit Gesangstext. Kümmert sich um den Satz des Gesangstextes auf einer Zeile.
DrumVoice
Der Stimmenkontext in einem Perkussionssystem.
FiguredBass
Der Kontext, in dem Generalbassziffern (BassFigure
-Objekte)
gesetzt werden, die in der \figuremode
-Umgebung
notiert werden.
TabVoice
Dieser Stimmenkontext wird in einer Tabulatur (TabStaff
-Kontext)
benutzt. Er wird normalerweise implizit erstellt.
CueVoice
Ein Stimmenkontext, der Noten in reduzierter Größe ausgibt und vor allem dazu da ist, Stichnoten zu setzen. Siehe auch Stichnoten formatieren. Wird normalerweise implizit erstellt, wenn Stichnoten gesetzt werden.
ChordNames
Ausgabe von Akkordsymbolen.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Unterste Kontexte -- Stimmen ] | [ Nach oben : Interpretationskontexte ] | [ Kontexte am Leben halten > ] |
5.1.2 Kontexte erstellen
In Partituren mit einer Stimme und einem System werden die Kontexte normalerweise automatisch erstellt. In komplizierteren Partituren muss man sie aber direkt erstellen. Es gibt drei Möglichkeiten, Kontexte zu erstellen:
-
Der einfachste Befehl ist
\new
. Er wird zusammen mit dem Kontextnamen vor einem musikalischen Ausdruck eingesetzt, etwa\new Kontext musik. Ausdruck
wobei Kontext eine Kontextbezeichnung (wie
Staff
oderVoice
) ist. Dieser Befehl erstellt einen neuen Kontext und beginnt mit der Auswertung von musik. Ausdruck innerhalb dieses Kontextes.Eine praktische Anwendung von
\new
ist eine Partitur mit vielen Systemen. Jede Stimme wird auf einem eigenen System notiert, das mit\new Staff
begonnen wird.<< \new Staff { c4 c } \new Staff { d4 d } >>
Der
\new
-Befehl kann den Kontext auch benennen:\new Kontext = ID musik. Ausdruck
Dieser vom Benutzer definierte Name wird aber auch nur wirklich benutzt, wenn nicht vorher schon der gleiche Name definiert worden ist.
-
Ähnlich dem
\new
-Befehl wird auch mit dem\context
-Befehl ein musikalischer Ausdruck in einen Kontext umgeleitet. Diesem Kontext wird ein expliziter Name zugewiesen. Die Syntax lautet:\context Kontext = ID musik. Ausdruck
Diese Art von Befehl sucht nach einem existierenden Kontext vom Typus Kontext mit der Bezeichnung ID. Wenn ein derartiger Kontext nicht existiert, wird ein neuer Kontext mit der entsprechenden Bezeichnung erstellt. Das ist nützlich, wenn auf den Kontext später zurückverwiesen werden soll. Um etwa Gesangstext zu einer Melodie hinzuzufügen, wird die Melodie in einem bezeichneten Kontext notiert:
\context Voice = "Tenor" musik. Ausdruck
sodass der Text an den Noten ausgerichtet werden kann:
\new Lyrics \lyricsto "Tenor" Gesangstext
Eine andere Möglichkeit für bezeichnete Kontexte ist es, zwei unterschiedliche musikalische Ausdrücke in einen Kontext zu verschmelzen. Im nächsten Beispiel werden Artikulationszeichen und Noten getrennt notiert:
Noten = { c4 c4 } Artik = { s4-. s4-> }
Dann werden sie kombiniert, indem sie dem selben
Voice
-Kontext zugewiesen werden:<< \new Staff \context Voice = "A" \Noten \context Voice = "A" \Artik >>
Durch diesen Mechanismus ist es möglich eine Urtextausgabe zu erstellen, mit der optionalen Möglichkeit, besimmte zusätzliche Artikulationszeichen zu den gleichen Noten hinzuzufügen und so eine editierte Ausgabe zu erhalten.
-
Der dritte Befehl, um Kontexe zu erstellen, ist:
\context Kontext musik. Ausdruck
Dies entspricht dem
\context
mit= ID
, aber hier wird ein belieber Kontext des Typs Kontext gesucht und der musikalische Ausdruck darin ausgewertet, unabhängig von der Bezeichnung, die dem Kontext gegeben wurde.Diese Variante wird bei musikalischen Ausdrücken benutzt, die auf verschiedenen Ebenen interpretiert werden können. Beispielsweise der
\applyOutput
-Befehl (siehe @ref{Eine Funktion auf alle Layout-Objekte anwenden}). Ohne einen expliziten\context
wird die Ausgabe normalerweise einemVoice
-Kontext zugewiesen:\applyOutput #'Kontext #Funktion % auf Voice anwenden
Damit aber die Funktion auf
Score
- oderStaff
-Ebene interpretiert wird, muss folgende Form benutzt werden:\applyOutput #'Score #Funktion \applyOutput #'Staff #Funktion
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Kontexte erstellen ] | [ Nach oben : Interpretationskontexte ] | [ Umgebungs-Plugins verändern > ] |
5.1.3 Kontexte am Leben halten
Kontexte werden normalerweise am ersten musikalischen Moment
beendet, an dem sie nichts mehr zu tun haben. Ein
Voice
-Kontext stirbt also sofort, wenn keine Ereignisse
mehr auftreten, Staff
-Kontexte sobald alle in ihnen
enthaltenen Voice
-Kontexte keine Ereignisse mehr aufweisen
usw. Das kann Schwierigkeiten ergeben, wenn auf frühere
Kontexte verwiesen werden soll, die in der Zwischenzeit schon
gestorben sind, beispielsweise wenn man Systemwechsel mit
\change
-Befehlen vornimmt, wenn Gesangstext einer
Stimme mit dem \lyricsto
-Befehl zu gewiesen wird oder
wenn weitere musikalische Ereignisse zu einem früheren Kontext
hinzugefügt werden sollen.
Es gibt eine Ausnahme dieser Regel: genau ein Voice
-Kontext
innerhalb eines Staff
-Kontextes oder in einer
<<...>>
-Konstruktion bleibt immer erhalten bis zum Ende
des Staff
-Kontextes oder der <<...>>
-Konstruktion, der ihn einschließt, auch wenn es Abschnitte gibt, in der er nichts zu
tun hat. Der Kontext, der erhalten bleibt ist immer der erste,
der in der ersten enthaltenden {...}
-Konstruktion
angetroffen wird, wobei <<...>>
-Konstruktionen ignoriert
werden.
Jeder Kontext kann am Leben gehalten werden, indem man sicherstellt
dass er zu jedem musikalischen Moment etwas zu tun hat.
Staff
-Kontexte werden am Leben gehalten, indem man sicherstellt,
dass eine der enthaltenen Stimmen am Leben bleibt. Eine Möglichkeit,
das zu erreichen, ist es, unsichtbare Pause zu jeder Stimme
hinzuzufügen, die am Leben gehalten werden soll. Wenn mehrere
Stimmen sporadisch benutzt werden sollen, ist es am sichersten,
sie alle am Leben zu halten und sich nicht auf die Ausnahmeregel
zu verlassen, die im vorigen Abschnitt dargestellt wurde.
Im folgenden Beispiel werden sowohl Stimme A als auch B auf diese Weise für die gesamte Dauer des Stückes am Leben gehalten.
musicA = \relative c'' { d4 d d d } musicB = \relative c'' { g4 g g g } keepVoicesAlive = { << \new Voice = "A" { s1*5 } % Keep Voice "A" alive for 5 bars \new Voice = "B" { s1*5 } % Keep Voice "B" alive for 5 bars >> } music = { \context Voice = "A" { \voiceOneStyle \musicA } \context Voice = "B" { \voiceTwoStyle \musicB } \context Voice = "A" { \musicA } \context Voice = "B" { \musicB } \context Voice = "A" { \musicA } } \score { \new Staff << \keepVoicesAlive \music >> }
Das nächste Beispiel zeigt eine Melodie, die zeitweise unterbrochen wird und wie man den entsprechenden Gesangstext mit ihr verknüpfen kann, indem man die Stimme am Leben hält. In wirklichen Situationen würden Begleitung und Melodie natürlich aus mehreren Abschnitten bestehen.
melody = \relative c'' { a4 a a a } accompaniment = \relative c' { d4 d d d } words = \lyricmode { These words fol -- low the mel -- o -- dy } \score { << \new Staff = "music" { << \new Voice = "melody" { \voiceOne s1*4 % Keep Voice "melody" alive for 4 bars } { \new Voice = "accompaniment" { \voiceTwo \accompaniment } << \context Voice = "melody" { \melody } \context Voice = "accompaniment" { \accompaniment } >> \context Voice = "accompaniment" { \accompaniment } << \context Voice = "melody" { \melody } \context Voice = "accompaniment" { \accompaniment } >> } >> } \new Lyrics \with { alignAboveContext = #"music" } \lyricsto "melody" { \words } >> }
Eine Alternative, die in manchen Umständen besser geeignet sein kann, ist es, einfach unsichtbare Pausen einzufügen, um die Melodie mit der Begleitung passend auszurichten:
melody = \relative c'' { s1 % skip a bar a4 a a a s1 % skip a bar a4 a a a } accompaniment = \relative c' { d4 d d d d4 d d d d4 d d d d4 d d d } words = \lyricmode { These words fol -- low the mel -- o -- dy } \score { << \new Staff = "music" { << \new Voice = "melody" { \voiceOne \melody } \new Voice = "accompaniment" { \voiceTwo \accompaniment } >> } \new Lyrics \with { alignAboveContext = #"music" } \lyricsto "melody" { \words } >> }
5.1.4 Umgebungs-Plugins verändern
Notationskontexte (wie Score
oder Staff
) speichern
nicht nur Eigenschaften, sie enthalten auch Plugins („engraver“
genannt), die die einzelnen Notationselemente erstellen. Ein
Voice
-Kontext enthält beispielsweise einen
Note_head_engraver
, der die Notenköpfe erstellt, und ein
Staff
-Kontext einen Key_signature_engraver
, der die
Vorzeichen erstellt.
Eine vollständige Erklärung jedes Plugins findet sich in Engravers and Performers. Alle Kontexte sind erklärt in Contexts
Es kann teilweise nötig sein, diese Engraver umzupositionieren. Das
geschieht, indem man einen neuen Kontext mit \new
oder
\context
beginnt und ihn dann verändert:
\new context \with { \consists … \consists … \remove … \remove … etc. } { ..Noten.. }
… steht hier für die Bezeichnung des Engravers. \consists
fügt einen Engraver hinzu und \remove
entfernt ihn.
Es folgt ein einfaches Beispiel, in dem der
Time_signature_engraver
(Engraver für den Takt) und der
Clef_engraver
(Engraver für den Schlüssel) aus dem
Staff
-Kontext entfernt werden:
<< \new Staff { f2 g } \new Staff \with { \remove "Time_signature_engraver" \remove "Clef_engraver" } { f2 g2 } >>
Das zweite Notensystem enthält keine Taktangabe und keinen Notenschlüssel. Das ist eine recht brutale Methode, Objekte zu verstecken, weil es sich auf das gesamte System auswirkt. Diese Methode beeinflusst auch die Platzaufteilung, was erwünscht sein kann. Vielfältigere Methoden, mit denen Objekte unsichtbar gemacht werden können, finden sich in Sichtbarkeit und Farbe von Objekten.
Das nächste Beispiel zeigt eine Anwendung in der Praxis. Taktstriche
und Taktart werden normalerweise in einer Paritur synchronisiert. Das
geschieht durch Timing_translator
und Default_bar_line_engraver
.
Diese Plugins sorgen sich um die Verwaltung der Taktzeiten und die
Stelle innerhalb des Taktes, zu dem eine Note erscheint usw. Indem
man diese Engraver aus dem Score
-Kontext in den Staff
-Kontext
verschiebt, kann eine Partitur erstellt werden, in welcher
jedes System eine unterschiedliche Taktart hat:
\new Score \with { \remove "Timing_translator" \remove "Default_bar_line_engraver" } << \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 3/4 c4 c c c c c } \new Staff \with { \consists "Timing_translator" \consists "Default_bar_line_engraver" } { \time 2/4 c4 c c c c c } >>
Bekannte Probleme und Warnungen
Normalerweise spielt es keine Rolle, in welcher Reihenfolge Engraver angegeben werden, aber in einigen Spezialfällen ist die Reihenfolge sehr wichtig. Das kann beispielsweise vorkommen, wenn ein Engraver eine Eigenschaft erstellt und ein anderer von ihr liest, oder ein Engraver erstellt ein Grob und ein anderer wertet es aus. Die Reihenfolge, in der Engraver angegeben werden, ist die Reihenfolge, in der sie aufgerufen werden, um ihre Tätigkeiten auszuführen.
Folgende Reihenfolgen müssen beachtet werden: der
Bar_engraver
muss normalerweise zuerst kommen, und
der New_fingering_engraver
muss vor dem
Script_column_engraver
kommen. Es gibt möglicherweise weitere
Abhängigkeiten von der Reihenfolge geben.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Umgebungs-Plugins verändern ] | [ Nach oben : Interpretationskontexte ] | [ Neue Kontexte definieren > ] |
5.1.5 Die Standardeinstellungen von Kontexten ändern
Die Kontexteinstellungen, die standardmäßig in
Score
, Staff
und Voice
-Kontexten
benutzt werden, können in einer \layout
-Umgebung
eingestellt werden, wie das folgende Beispiel zeigt. Die
\layout
-Umgebung sollte innerhalb der
\score
-Umgebung gesetzt werden, auf die sie sich
auswirken soll, aber außerhalb von Notation.
Auch muss der \set
-Befehl und der Kontext weggelassen
werden, wenn die Einstellungen für den Kontext auf diese Weise
vorgenommen werden:
\score { \relative c'' { a4^"Really small, thicker stems, no time signature" a a a a a a a } \layout { \context { \Staff fontSize = #-4 \override Stem #'thickness = #4.0 \remove "Time_signature_engraver" } } }
Hier zeigt der \Staff
-Befehl an, dass die folgenden Einstellungen
sich auf alle Systeme in dieser Partitur erstrecken sollen.
Veränderungen können auch für den Score
- oder alle
Voice
-Kontexte auf gleiche Weise vorgenommen werden.
Bekannte Probleme und Warnungen
Es ist nicht möglich, Kontextänderungen als Variable zu definieren und
sie dann in der \context
-Definition anzuwenden, indem man die
Variable aufruft.
Der Befehl \RemoveEmptyStaffContext
überschreibt die
aktuellen Einstellungen für Staff
. Wenn die Einstellungen
für Systeme verändert werden sollen, die \RemoveEmptyStaffContext
benutzen, muüssen die Veränderungen gemacht werden, nachdem
\RemoveEmptyStaffContext
aufgerufen wurde, etwa:
\layout { \context { \RemoveEmptyStaffContext \override Stem #'thickness = #4.0 } }
5.1.6 Neue Kontexte definieren
Bestimme Kontexte, wie Staff
oder Voice
, werden
erstellt, indem man sie mit einer Musikumgebung aufruft. Es ist
aber auch möglich, eigene neue Kontexte zu definieren, in denen
dann unterschiedliche Engraver benutzt werden.
Das folgende Beispiel zeigt, wie man etwa Voice
-Kontexte
von Grund auf neu bauen kann. Ein derartiger Kontext ähnelt
Voice
, es werden aber nur zentrierte Schrägstriche als
Notenköpfe ausgegeben. Das kann benutzt werden, um Improvisation
in Jazzmusik anzuzeigen.
Diese Einstellungen werden innerhalb der \context
-Umgebung
innerhalb der \layout
-Umgebung definiert:
\layout { \context { … } }
Der Beispielcode des folgenden Abschnittest muss anstelle der Punkte im vorigen Beispiel eingesetzt werden.
Zuerst ist es nötig eine Bezeichnung für den neuen Kontext zu definieren:
\name ImproVoice
Weil dieser neue Kontext ähnlich wie Voice
ist, sollen die Befehle,
die in Voice
-Kontexten funktionieren, auch
in dem neuen Kontext funktionieren. Das wird erreicht, indem der
Kontext als Alias Voice
erhält:
\alias Voice
Der Kontext gibt Noten und Text aus, darum müssen wir die Engraver hinzufügen, die für diese Aktionen zuständig sind:
\consists Note_heads_engraver \consists Text_engraver
aber die Noten sollen nur auf der mittleren Linie ausgegeben werden:
\consists Pitch_squash_engraver squashedPosition = #0
Der Pitch_squash_engraver
verändert Notenköpfe (die vom
Note_heads_engraver
erstellt werden) und setzt ihre vertikale
Position auf den Wert von squashedPosition
, in diesem Fall ist
das die Mittellinie.
Die Noten sehen wie ein Querstrich aus und haben keine Hälse:
\override NoteHead #'style = #'slash \override Stem #'transparent = ##t
Alle diese Engraver müssen zusammenarbeiten, und das wird erreicht mit
einem zusätzlichen Plugin, das mit dem Befehl \type
gekennzeichnet
werden muss. Dieser Typ solle immer Engraver_group
lauten:
\type "Engraver_group"
Alles zusammen haben wir folgende Einstellungen:
\context { \name ImproVoice \type "Engraver_group" \consists "Note_heads_engraver" \consists "Text_engraver" \consists Pitch_squash_engraver squashedPosition = #0 \override NoteHead #'style = #'slash \override Stem #'transparent = ##t \alias Voice }
Kontexte sind hierarchisch. Wie wollen, dass ImproVoice
sich als Unterkontext von Staff
erkennt, wie eine normale
Stimme. Darum wird die Definition von Staff
mit dem
\accepts
-Befehl verändert:
\context { \Staff \accepts ImproVoice }
Das Gegenteil von \accepts
ist \denies
(verbietet), was
manchmal gebraucht werden kann, wenn schon existierende Kontext-Definitionen
wieder benutzt werden sollen.
Beide Definitionen müssen in die \layout
-Umgebung geschrieben
werden:
\layout { \context { \name ImproVoice … } \context { \Staff \accepts "ImproVoice" } }
Jetzt kann die Notation zu Beginn des Abschnitts folgendermaßen notiert werden:
\relative c'' { a4 d8 bes8 \new ImproVoice { c4^"ad lib" c c4 c^"ausziehen" c c_"während des Spielens :)" } a1 }
5.1.7 Kontexte aneinander ausrichten
Neue Kontexte können über oder unter existierenden ausgerichtet werden. Das kann nützlich sein, wenn man eine Chorparitur oder Ossia schreiben will:
Kontexte wie PianoStaff
können andere Kontexte innerhalb
enthalten. Kontexte, die als innere Kontexte akzeptiert werden,
werden in einer „accepts“-Liste für den bestimmten Kontext
definiert. Kontexte, die sich nicht in dieser Liste finden,
werden unter den äußeren Kontext gesetzt. Der
PianoStaff
-Kontext etwa akzeptiert die Kontexte Staff
und FiguredBass
innerhalb, aber beispielsweise keinen
Lyrics
-(Gesangstext)-Kontext. In dem folgenden Beispiel
wird deshalb der Gesangstext unter das gesamte Klaviersystem
gesetzt, anstatt zwischen die beiden Notensysteme zu kommen:
\new PianoStaff << \new Staff { e4 d c2 } \addlyrics { Three blind mice } \new Staff { \clef "bass" { c,1 } } >>
Die „accepts“-Liste eines Kontextes kann verändert werden, so dass sie weitere innere Kontexte akzeptiert. Wenn also der Gesangstext als Teil eines Klaviersystems gesetzt werden soll, müsste man schreiben:
\new PianoStaff \with { \accepts Lyrics } << \new Staff { e4 d c2 } \addlyrics { Three blind mice } \new Staff { \clef "bass" { c,1 } } >>
Das Gegenteil von \accepts
ist \denies
; es bedeutet,
dass ein Kontext aus der \accepts
-Liste gestrichen wird.
5.2 Die Referenz der Programminterna erklärt
5.2.1 Zurechtfinden in der Programmreferenz | ||
5.2.2 Layout-Schnittstellen | ||
5.2.3 Die Grob-Eigenschaften | ||
5.2.4 Benennungskonventionen |
5.2.1 Zurechtfinden in der Programmreferenz
Arbeit mit der Referenz der Interna soll hier an einigen Beispiel illustriert werden. Die Referenz der Interna existiert nur auf Englisch, darum sind auch die Beispiele dieses Abschnittes nicht übersetzt.
Folgende Aufgabe wird bearbeitet: Der Fingersatz aus dem Beispiel unten soll verändert werden:
c-2 \stemUp f
In der Dokumentation über Fingersatz ( Fingersatzanweisungen) gibt es folgenden Abschnitt:
Siehe auch:
Referez der Interna: Fingering.
Gehen Sie über diesen Link zum Abschnitt Fingering. Oben auf der Seite findet sich:
Fingering objects are created by: Fingering_engraver and New_fingering_engraver.
Indem Sie die Links in der Referenz der Interna folgen, können Sie verfolgen, wie LilyPond intern arbeitet:
- Fingering: Fingering objects are created by: Fingering_engraver
- Fingering_engraver: Music types accepted: fingering-event
-
fingering-event:
Music event type
fingering-event
is in Music expressions named FingeringEvent
Fingersatz-Objekte werden also durch den Fingering_engraver
erstellt, welcher folgende Musikereignistypen akzeptiert:
fingering-event
. Ein Musikereignis vom Typ
fingering-event
ist ein musikalischer Ausdruck mit der
Bezeichnung
FingeringEvent.
Dieser Pfad geht genau die entgegengesetzte Richtung von LilyPonds Wirkungsweise: er beginnt bei der graphischen Ausgabe und arbeitet sich voran zur Eingabe. Man könnte auch mit einem Eingabe-Ereignis starten und dann die Links zurückverfolgen, bis man zum Ausgabe-Objekt gelangt.
Die Referenz der Interna kann auch wie ein normales Dokument durchsucht werden. Sie enthält Kapitel über Music definitions, über Translation und Backend. Jedes Kapitel listet alle die Definitionen und Eigenschaften auf, die benutzt und verändert werden können.
5.2.2 Layout-Schnittstellen
Die HTML-Seite, die im vorigen Abschnitt betrachtet wurde,
beschreibt ein Layoutobjekt mit der Bezeichnung
Fingering
. Ein derartiges Objekt ist ein Symbol
in der Paritur. Es hat Eigenschaften, die bestimmte
Zahlen speichern (wie etwa Dicke und Richtung), aber auch
Weiser auf verwandte Objekte. Ein Layoutobjekt wird auch
als „Grob“ bezeichnet, die Abkürzung für Graphisches
Objekt. Mehr Information zu Grobs findet sich in
grob-interface.
Die Seite zu Fingering
enthält Definitionen für das
Fingering
-Objekt. Auf der Seite steht etwa:
padding
(dimension, in staff space):
0.5
was bedeutet, dass der Abstand zu anderen Objekten mindestens 0.5 Notenlinienabstände beträgt.
Jedes Layoutobjekt kann mehrere Funktionen sowohl als typographisches als auch als Notationselement einnehmen. Das Fingersatzobjekt beispielsweise hat folgende Aspekte:
- Seine Größe is unabhängig von der horizontalen Platzaufteilung, anders als etwa bei Legatobögen.
- Es handelt sich um Text, normalerweise sehr kurz.
- Dieser Text wird durch ein Glyph einer Schriftart gesetzt, anders als bei Legatobögen.
- Der Mittelpunkt des Symbols sollte horizontal mit dem Mittelpunkt des Notenkopfes ausgerichtet werden.
- Vertikal wird das Objekt neben die Note und das Notensystem gesetzt.
- Die vertikale Position wird auch mit anderen Textelementen abgeglichen.
Jeder dieser Aspekte findet sich in sogenannten Schnittstellen (engl. interface), die auf der Fingering-Seite unten aufgelistet sind:
This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.
Ein Klick auf einen der Links öffnet die Seite der entsprechenden Schnittstelle. Jede Schnittstelle hat eine Anzahl von Eigenschaften. Einige sind nicht vom Benutzer zu beeinflussen („interne Eigenschaften“), andere aber können verändert werden.
Es wurde immer von einem Fingering
-Objekt gesprochen, aber
eigentlich handelt es sich nicht um sehr viel. Die Initialisierungsdatei
‘scm/define-grobs.scm’ zeigt den Inhalt dieses „Objekts“
(zu Information, wo diese Dateien sich finden siehe
Mehr Information):
(Fingering . ((padding . 0.5) (avoid-slur . around) (slur-padding . 0.2) (staff-padding . 0.5) (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) (stencil . ,ly:text-interface::print) (direction . ,ly:script-interface::calc-direction) (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. (meta . ((class . Item) (interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface))))))
Wie man sehen kann, ist das Fingersatzobjekt nichts anderes als eine Ansammlung von Variablen, und die Internetseite der Referenz der Interna ist direkt aus diesen Anweisungen generiert.
5.2.3 Die Grob-Eigenschaften
Die Position der 2 aus dem Beispiel unten soll also geändert werden:
c-2 \stemUp f
Weil die 2 vertikal an der zugehörigen Note ausgerichtet ist,
müssen wir uns mit der Schnittstelle auseinander setzen, die diese
Positionierung veranlasst. Das ist hier side-position-interface
.
Auf der Seite für diese Schnittstelle heißt es:
side-position-interface
Position a victim object (this one) next to other objects (the support). The property
direction
signifies where to put the victim object relative to the support (left or right, up or down?)
Darunter wird die Variable padding
(Verschiebung) beschrieben:
padding
(dimension, in staff space)
Add this much extra space between objects that are next to each other.
Indem man den Wert von padding
erhöht, kann die Fingersatzanweisung
weiter weg von der Note gesetzt werden. Dieser Befehl beispielsweise
fügt drei Notenlinienzwischenräume zwischen die Zahl und den Notenkopf:
\once \override Voice.Fingering #'padding = #3
Wenn dieser Befehl in den Quelltext eingefügt wird, bevor der Fingersatz notiert ist, erhält man folgendes:
\once \override Voice.Fingering #'padding = #3 c-2 \stemUp f
In diesem Fall muss die Veränderung speziell für den Voice
-Kontext
definiert werden. Das kann auch aus der Referenz der Interna entnommen
werden, da die Seite des
Fingering_engraver schreibt:
Fingering_engraver is part of contexts: … Voice
5.2.4 Benennungskonventionen
Die Bezeichnungen für Funktionen, Variablen, Engraver und Objekte folgen bestimmten Regeln:
- Scheme-Funktionen: kleinbuchstaben-mit-bindestrichen
- Scheme-Funktionen: ly:plus-scheme-stil
- Musikalische Ereignisse, Musikklassen und Musikeigenschaften: wie-scheme-funktionen
- Grob-Schnittstellen: scheme-stil
- backend-Eigenschaften: scheme-stil (aber X und Y)
- Kontexte: Großbuchstabe, oder GroßbuchstabeZwischenWörtern (CamelCase)
- Kontext-Eigenschaften: kleinbuchstabeMitFolgendenGroßbuchstaben
- Engraver: Großbuchstabe_gefolgt_von_kleinbuchstaben_mit_unterstrichen
5.3 Eignschaften verändern
5.3.1 Überblick über verändernde Eigenschaften | ||
5.3.2 Der \set -Befehl | ||
5.3.3 Der \override-Befehl | ||
5.3.4 Der \tweak -Befehl | ||
5.3.5 \set versus \override |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Eignschaften verändern ] | [ Nach oben : Eignschaften verändern ] | [ Der set-Befehl > ] |
5.3.1 Überblick über verändernde Eigenschaften
Jeder Kontext ist verantwortlich für die Erstellung bestimmter graphischer Objekte. Die Einstellungen für diese Objekte werden auch in dem Kontext gespeichert. Wenn man diese Einstellungen verändert, kann die Erscheinung der Objekte geändert werden.
Die Syntax hierzu lautet:
\override Kontext.Bezeichnung #'Eigenschaft = #Wert
Bezeichnung ist die Bezeichnung eines graphischen Objekts,
wie Stem
(Hals) oder NoteHead
(Notenkopf), und
Eigenschaft ist eine interne Variable des Formatierungssystems
(eine „Grob-Eigenschaft“ oder „Layout-Eigenschaft“). Diese
Eigenschaft ist ein Symbol, muss also mit einem Anführungsstrich
versehen werden. Wie die Felder Bezeichnung, Eigenschaft
und Wert richtig gefüllt werden, zeigt der Abscnitt
Eignschaften verändern. Hier wird nur die Funktionalität des
Befehls betrachtet.
Der Befehl
\override Staff.Stem #'thickness = #4.0
bewirkt, dass der Notenhals dicker gesetzt wird (Standard ist
1.3, die Dicke der Notenlinie entspricht dem Wert 1). Da der
Befehl den Kontext Staff
angibt, wirkt er sich nur auf
das gerade aktuelle Notensystem aus. Andere Systeme behalten
ihr normales Aussehen. Hier ein Beispiel mit diesem Befehl:
c4 \override Staff.Stem #'thickness = #4.0 c4 c4 c4
Der \override
-Befehl verändert die Definitionen von
Stem
(Hals) innerhalb des aktuellen Staff
(Notensystems). Nachdem der Befehl gelesen wurde, werden
alle Hälse dicker gesetzt.
Wie auch bei dem \set
-Befehl kann auch hier der
Kontext ausgelassen werden, wobei dann immer implizit der
Voice
-Kontext angenommen wird. Mit einem zusätzlichen
\once
wirkt sich die Änderung nur einmal aus:
c4 \once \override Stem #'thickness = #4.0 c4 c4
Der \override
-Befehl muss geschrieben sein, bevor das Objekt
begonnen wird. Wenn also ein Strecker-Objekt wie etwa
ein Bogen verändert werden soll, muss der \override
-Befehl
schon geschrieben werden, bevor das Objekt begonnen wird. In dem
folgenden Beispiel
\override Slur #'thickness = #3.0 c8[( c \override Beam #'thickness = #0.6 c8 c])
ist der Bogen dicker, der Balken aber nicht. Das liegt daran, dass der Befehl
zum Ändern des Beam
-Objekts erst gesetzt wurde, nachdem der Balken
schon begonnen hat.
Der \revert
-Befehl macht alle Änderungen rückgängig, die mit einem
\override
-Befehl vorgenommen worden sind, dabei werden allerdings
nur Einstellungen betroffen, die sich im gleichen Kontext befinden. Der
\revert
-Befehl des folgenden Beispiels bewirkt also gar nichts,
weil er für den falschen Kontext gefordert wird.
\override Voice.Stem #'thickness = #4.0 \revert Staff.Stem #'thickness
Einige veränderbare Optionen werden als Untereigenschaften (engl. subproperties) bezeichnet und befinden sich innerhalb von den normalen Eigenschaften. Wenn man sie verändern will, nimmt der Befehl folgende Form an:
\override Kontext.Bezeichnung #'Eigenschaft #'Untereigenschaft = #Wert
wie beispielsweise
\override Stem #'(details beamed-lengths) = #'(4 4 3)
Siehe auch
Referenz der Interna: OverrideProperty, RevertProperty, PropertySet, Backend, All layout objects.
Bekannte Probleme und Warnungen
Das Back-end ist nicht sehr streng bei der Überprüfung der Typen von Objekteigenschaften. Auf sich selbst verweisende Bezüge in Scheme-Werten der Eigenschaften können Verzögerung oder einen Absturz des Programms hervorrufen.
5.3.2 Der \set
-Befehl
Jeder Kontext kann unterschiedliche Eigenschafte besitzen,
Variablen, die in diesem Kontext definiert sind. Sie können
während der Interpretation des Kontextes verändert werden. Hierzu
wird der \set
-Befehl eingesetzt:
\set Kontext.Eigenschaft = #Wert
Das kann beispielsweise so aussehen:
R1*2 \set Score.skipBars = ##t R1*2
Mit diesem Befehl werden Takte übersprungen, die keine Noten
haben. Als Resultat werden Ganztaktpausentakte komprimiert.
Der Wert, der der Eigenschaft zugewiesen wird, ist ein
Scheme-Objekt. In diesem Fall ist es #t
, der
Boolsche Wert für „wahr“.
Wenn das Kontext-Argument ausgelassen wird, bezieht sich
der Befehl auf den gerade aktiven unterstmöglichen Kontext,
üblicherweise ChordNames
, Voice
oder
Lyrics
. In diesem Beispiel:
c8 c c c \set autoBeaming = ##f c8 c c c
wurde das Kontext-Argument für den \set
-Befehl
ausgelassen, sodass automatische Bebalkung für die aktuelle
Stimme (Voice
-Kontext) abgeschaltet wird. Dabei
gilt zu beachten, dass der unterste Kontext nicht immer die
Eigenschaft enthält, die verändert werden soll. Wenn man
beispielsweise skipBars
aus dem oberen Beispiel
ohne Angabe des Kontextes zu verändern sucht, hat der Befehl
keine Auswirkung, weil er sich auf den Voice
-Kontext
bezieht, die Eigenschaft sich aber im Score
-Kontext
befindet:
R1*2 \set skipBars = ##t R1*2
Kontexte sind hierarchisch angeordnet. Wenn ein übergeordneter
Kontext angegeben wird, etwa Staff
, dann beziehen sich
die Änderungen auf alle Stimmen (Voice
), die in diesem
Kontext enthalten sind. Da der Befehl zu dem Zeitpunkt gültig
wird, an dem er im Quelltext auftritt, wird im Bebalkungsbeispiel
oben die Einstellung erst für die zweite Achtelgruppe wirksam.
Es gibt auch einen \unset
-Befehl:
\unset Kontext.Eigenschaft
der bewirkt, dass die vorgenommenen Definitionen für Eigenschaft
entfernt werden. Dieser Befehl macht nur Einstellungen im richtigen
Kontext rückgängig. Wenn also im Staff
-Kontext die
Bebalkung ausgeschaltet wird:
\set Staff.autoBeaming = ##f
bezieht sich das auch auf die in dem Staff
enthaltenen Stimmen.
Der Befehl
\unset Voice.autoBeaming
ist jedoch ungültig und bewirkt nichts. Damit die Einstellung richtig
rückgängig gemacht werden kann, muss der Befehl auf der gleichen
Kontextebene ausgeführt werden wie der ursprüngliche \set
-Befehl.
Hier braucht man also den Befehl:
\unset Staff.autoBeaming
Genauso wie für \set
, muss auch für \unset
der unterste
Kontext nicht angegeben werden, die zwei Befehle
\set Voice.autoBeaming = ##t \set autoBeaming = ##t
bedeuten also das Gleiche.
Einstellungen, die nur einmal vorgenommen werden sollen, können
mit \once
notiert werden, etwa:
c4 \once \set fontSize = #4.7 c4 c4
Damit wirkt sich die Änderung der Schriftgröße nur auf die zweite Note aus und wird automatisch wieder rückgängig gemacht.
Eine vollständige Beschreibung aller vorhandenen Kontexteigenschaften findet sich in der Referenz der Interna, siehe
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der set-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ Der tweak-Befehl > ] |
5.3.3 Der \override-Befehl
Befehle, die die Ausgabe grundlegend verändern, haben folgende Form:
\override Voice.Stem #'thickness = #3.0
Um derartige Einstellungen vorzunehmen, müssen folgende Informationen bekannt sein:
- der Kontext: in diesem Fall
Voice
. - das Layout-Objekt: in diesem Fall
Stem
. - die Layout-Eigenschaft: in diesem Fall
thickness
. - ein vernünftiger Wert: in diesem Fall
3.0
.
Einige veränderbare Optionen werden als Untereigenschaften (engl. subproperties) bezeichnet und befinden sich innerhalb der Eigenschaften. Um sie zu verändern, werden Befehl in der Form
\override Stem #'(details beamed-lengths) = #'(4 4 3)
eingesetzt.
Viele Eigenschaften können unabhängig von der Art der Daten, die
sie enthalten, ausgeschaltet werden, indem man sie als „falsch“
(##f
) definiert. Dadurch wird diese Eigenschaft von LilyPond
ignoriert. Das ist insbesondere nützlich, wenn man Grob-Eigenschaften
ausschalten will, die Probleme verursachen.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der override-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ set versus override > ] |
5.3.4 Der \tweak
-Befehl
In einigen Fällen ist es möglich, mit einem abgekürzten Befehl
graphische Objekte zu verändern. Wenn Objekte direkt von einem
Element des Quelltextes erstellt werden, kann der \tweak
-Befehl
eingesetzt werden:
< c \tweak #'color #red d g \tweak #'duration-log #1 a > 4 -\tweak #'padding #8 -^
Die hauptsächliche Benutzung von \tweak
ist dann, wenn
man nur ein Element von einer Ansammlung an Elementen verändern
will, die alle zum gleichen musikalischen Moment beginnen. Das
kann eine Noten in einem Akkord sein, oder eine von mehreren
Triolenklammern, die zur gleichen Zeit beginnen.
Eine Einleitung der Syntax für den \tweak
Befehl findet
sich in
Optimierungsmethoden.
Der \tweak
-Befehl verändert die Eigenschaft des folgenden
Objekts direkt, ohne dass die Bezeichnung des Objekts (Grobs) oder
des Kontextes angegeben werden muss. Damit das funktioniert, muss
das Objekt direkt auf den \tweak
-Befehl folgen, auf das
er sich auswirken soll. Das ist in manchen Fällen nicht gegeben,
da viele Objekte durch LilyPond automatisch eingesetzt werden.
Wenn etwa eine Note interpretiert wird, die nicht Teil eines
Akkords ist, fügt LilyPond implizit einen ChordEvent
vor die Note ein, sodass der \tweak
-Befehl von der
Note getrennt wird. Wenn aber Akkord-Klammern um die Note
und den \tweak
-Befehl gesetzt werden, folgt der
ChordEvent
auf den \tweak
-Befehl und befindet
sich deshalb direkt vor der Note, auf die er einwirken soll,
sodass die Veränderung funktioniert.
An einem Beispiel demonstriert: Das funktioniert:
<\tweak #'color #red c>4
und das nicht:
\tweak #'color #red c4
Wenn mehrere gleichartige Elemente zum gleichen musikalischen
Moment auftreten, kann der \override
-Befehl nicht
benutzt werden, um nur einen von ihnen zu verändern: hier braucht
man den \tweak
-Befehl. Elemente, die mehrfach zum
gleichen musikalischen Moment auftreten können sind unter Anderem:
- Notenköpfe von Noten innerhalb eines Akkordes
- Artikulationszeichen an einer einzelnen Note
- Bindebögen zwischen Noten eines Akkordes
- Llammern für rhythmische Verhältnisse (wie Triolen), die zur gleichen Zeit beginnen
\tweak
kann eingesetzt werden, um ein einzelnes Element aus der Gruppe
zu verändern.
Der \tweak
-Befehl kann nicht eingesetzt werden, um
Hälse, Balken oder Versetzungszeichen zu verändern, weil diese
später durch den Notenkopf erstellt werden und nicht direkt durch
den Quelltext. \tweak
kann auch nicht verwendet werden,
um Schlüssel oder Taktarten zu verändern, denn sie werden von
dem \tweak
-Befehl während der Interpretation durch
automatisches Einfügen von zusätzlichen Kontextelementen getrennt.
Der \tweak
-Befehl kann aber als Alternative des
\override
-Befehls eingesetzt werden, wenn die zu verändernden
Elemente keine zusätzlichen impliziten Elemente während der
Interpretation hinzufügen. Legatobögen können also auch auf
die folgende Weise verändert werden:
c-\tweak #'thickness #5 ( d e f)
Mehrere \tweak
-Befehle können vor ein Notatioselement
gesetzt werden und alle werden interpretiert:
c -\tweak #'style #'dashed-line -\tweak #'dash-fraction #0.2 -\tweak #'thickness #3 -\tweak #'color #red \glissando f'
Der Strom der musikalischen Ereignisse (engl. music stream), der aus
dem Quelltext erstellt wird, und zu dem auch die automatisch eingefügten
Elemente gehören, kann betrachtet werden, siehe
@ref{Musikalische Funktionen darstellen}. Das kann nützlich sein,
wenn man herausfinden will, was mit dem \tweak
-Befehl
verändert werden kann.
Siehe auch
Handbuch zum Lernen: Optimierungsmethoden.
Notationsreferenz: @ref{Musikalische Funktionen darstellen}.
Bekannte Probleme und Warnungen
Der \tweak
-Befehl kann nicht innerhalb von einer Variable eingesetzt werden.
Der \tweak
-Befehl kann nicht innerhalb von \lyricmode
eingesetzt werden.
Der \tweak
-Befehl kann nicht benutzt werden, um die Kontrollpunkte
eines von mehreren Bindebögen eines Akkorden zu verändern. Anstelle dessen
wird der erste Bogen verändert, der in der Eingabedatei auftritt.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Der tweak-Befehl ] | [ Nach oben : Eignschaften verändern ] | [ Nützliche Konzepte und Eigenschaften > ] |
5.3.5 \set
versus \override
Es wurden zwei unterschiedliche Methoden vorgestellt, mit denen
Eigenschaften verändert werden können: \set
und
\override
. Im Grunde genommen gibt es auch zwei
unterschiedliche Arten von Eigenschaften.
Kontexte können Eigenschaften haben, deren Bezeichnungen
üblicherweise dem Schema kleinGroß
folgen. Derartige
Eigenschaften sind vor allen Dingen für die Übersetzung der
Musik in Notation zuständig, beispielsweise localKeySignature
(um zu bestimmen, ob Versetzungszeichen ausgegeben werden
müssen), measurePosition
(um zu bestimmen, ob eine
Taktlinie gesetzt werden muss). Kontexteigenschaften können
ihren Wert verändern, während ein Musikstück ausgewertet wird;
measurePosition
(Taktposition) ist ein gutes Beispiel
hierfür. Kontexteigenschaften werden mit dem Befehl \set
verändert.
Dann gibt es einen Spezialtyp der Kontexeigenschaften: die
Elementbeschreibung. Diese Eigenschaften werden mit
GroßGroß
benannt (beginnen also auch mit einem
Großbuchstaben). Sie beinhalten die Standardeinstellungen
für die besagten graphischen Objekte in Form einer
Assosiationsliste. Siehe auch die Datei ‘scm/define-grobs.scm’
für ein Beispiel zu diesen Einstellungen. Elementbeschreibungen
können mit dem Befehl \override
verändert werden.
\override
ist eigentlich eine Abkürzung:
\override Kontext.Bezeichnung #'Eigenschaft = #Wert
entspricht mehr oder weniger:
\set Kontext.Bezeichnung #'Eigenschaft = #(cons (cons 'Eigenschaft Wert) <voriger Wert von Kontext)
Der Wert von context
(die „alist“) wird benutzt, um
die Eigenschaften von einzelnen Grobs zu initiieren. Grobs haben
auch Eigenschaften, die im Scheme-Stil benannt werden, also
wort-mit-bindestrich
. Die Werte der Grob-Eigenschaften
ändern sich während des Formatierungsprozesses: Formatierung
läuft im Prinzip darauf hinaus, Eigenschaften zu errechnen, indem
Callback-Funktionen eingesetzt werden.
fontSize
ist eine besondere Eigenschaft: sie entspricht
\override ... #'font-size
für alle möglichen Objekte.
Weil es sich hier um eine globale Änderung handelt, wurde
die spezielle Form (die mit \set
verändert wird) erstellt.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < set versus override ] | [ Nach oben : Standardeinstellungen verändern ] | [ Eingabe-Modi > ] |
5.4 Nützliche Konzepte und Eigenschaften
5.4.1 Eingabe-Modi
Die Art, wie die Notation einer Eingabedatei interpretiert wird, hängt vom aktuellen Eingabemodus ab.
Chord (Akkordmodus)
Man erreicht ihn durch den Befehl \chordmode
. Hierdurch
wird die Eingabe entsprechend der Syntax der Akkordnotation
interpretiert, siehe Notation von Akkorden. Akkorde werden als
Noten auf einem System dargestellt.
Der Akkordmodus wird auch mit dem Befehl \chords
initiiert.
Dadurch wird gleichzeitig ein neuer ChordNames
-Kontext
erstellt, die Eingabe entsprechend der Syntax der Akkordnotation
interpretiert und als Akkordbezeichnungen in einem
ChordNames
-Kontext dargestellt. Siehe Akkordbezeichnungen drucken.
Drum (Schlagzeugmodus)
Man erreicht ihn mit dem Befehl \drummode
. Die Eingabe
wird entsprechend der Syntax der Schlagzeugnotation interpretiert,
siehe Grundlagen der Schlagzeugnotation.
Der Schlagzeugmodus wird auch mit dem Befehl \drums
aktiviert.
Dadurch wird gleichzeitig ein neuer DrumStaff
-Kontext
erstellt, die Eingabe entsprechend der Syntax der Schlagzeugnotation
interpretiert und als Schlagzeugsymbole auf einem Schlagzeugsystem
dargestellt. Siehe Grundlagen der Schlagzeugnotation.
Figure (Ziffernmodus)
Man erreicht ihn mit dem Befehl \figuremode
. Die Eingabe
wird entsprechend der Syntax für Generalbass interpretiert, siehe
Eingabe des Generalbass’.
Der Ziffernmodus wird auch mit dem Befehl \figures
aktiviert.
Dadurch wird gleichzeitig ein neuer FiguredBass
-Kontext
erstellt, die Eingabe entsprechend der Syntax für Generalbass
interpretiert und als Generalbassziffern im FiguredBass
-Kontext
dargestellt. Siehe Grundlagen des Bezifferten Basses.
Fret/tab (Griffsymbol-/Tabulaturmodus)
Es gibt keinen besonderen Eingabemodus für Griffsymbole und Tabulaturen.
Um Tabulaturen zu erstellen, werden Noten oder Akkorde im
Notenmodus notiert und dann in einem TabStaff
-Kontext
interpretiert, siehe
Standardtabulaturen.
Um Griffsymbole oberhalb eines Notensystems zu erstellen, gibt
es zwei Möglichkeiten. Man kann den FretBoards
-Kontext
einsetzen (siehe Automatische Bund-Diagramme) oder sie können
als Beschriftung über den Noten eingefügt werden, indem man
den \fret-diagram
-Befehl einsetzt (siehe
Bund-Diagramm-Beschriftung).
Lyrics (Gesangstextmodus)
Man erreicht ihn mit dem Befehl \lyricmode
. Die Eingabe
wird entsprechend der Syntax für Silben eines Gesangstextes
interpretiert, wobei optional Dauern und verknüpfte
Gesangstextveränderer möglich sind, siehe Notation von Gesang.
Der Gesangstextmodus wird auch durch den Befehl \addlyrics
aktiviert. Dadurch wird auch ein neuer Lyrics
-Kontext
erstellt und ein impliziter \lyricsto
-Befehl, der den
nachfolgenden Gesangstext mit der vorhergehenden Musik verknüpft.
Markup (Textbeschriftungsmodus)
Man erreicht ihn mit dem Befehl \markup
. Die Eingabe wird
entsprechend der Syntax für Textbeschriftung interpretiert, siehe
Text markup commands.
Note (Notenmodus)
Das ist der Standardmodus. Er kann auch mit dem Befehl
\notemode
gefordert werden. Die Eingabe wird als Tonhöhen,
Dauern, Beschriftung usw. interpretiert und als musikalische
Notation auf einem Notensystem gesetzt.
Es ist normalerweise nicht nötig, den Notenmodus extra anzugeben, aber es kann in bestimmten Situationen durchaus nützlich sein, etwa wenn man in einem Gesangstext-, Akkord- oder einem anderen Modus arbeitet aber ein Zeichen braucht, das nur im Notenmodus benutzt werden kann.
Um etwa Dynamikzeichen vor die Nummern von unterschiedlichen Strophen zu setzen, muss man den Notenmodus betreten:
{ c4 c4 c4 c4 } \addlyrics { \notemode{ \set stanza = \markup{ \dynamic f 1. } } To be sung loudly } \addlyrics { \notemode{ \set stanza = \markup{ \dynamic p 2. } } To be sung quietly }
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Eingabe-Modi ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ Reihenfolge des Kontextlayouts > ] |
5.4.2 Richtung und Platzierung
Die Platzierung und Richtung von Objekten ist im Notensatz oft durch eine enge Auswahl begrenzt: Notenhälse beispielsweise können entweder nach oben oder nach unten zeigen, Gesangstext, Dynamikzeichen und andere Ausdrucksbezeichnungen können über oder unter dem System gesetzt werden, Text kann rechts, links oder mittig ausgerichtet werden usw. Die meisten dieser Eintscheidungen können LilyPond direkt überlassen werden; in einigen Fällen kann es allerdings nötig sein, eine bestimmte Richtung oder eine Position zu erzwingen.
Richtungseinstellung von Artikulationszeichen
Standardmäßig sind bestimmte Objekte immer nach oben oder unten ausgerichtet, wie Dynamikzeichen oder Fermaten, während andere Objekte zwischen oben und unten wechseln, was vor allem von der Richtung der Notenhälse abhängt und etwa Bögen und Akzente betrifft.
Die Standardeinstellungen können verändert werden, indem dem
Artikulationszeichen ein Ausrichtungsmarkierer vorangeht. Drei
derartige Ausrichtungsmarkierer sind vorhanden: ^
(bedeutet „nach oben“), _
(bedeutet „nach unten“) bzw. -
(bedeutet „Standardrichtung“
benutzen) normalerweise weggelassen werden. In diesem Fall wird
-
angenommen. Eine Richtungsanweisung ist jedoch
immer erforderlich vor
-
\tweak
-Befehlen -
\markup
-(Textbeschriftungs-)Befehlen -
\tag
-Befehlen - Textbeschriftungen in reiner Textform, wie etwa
-"string"
- Fingersagzanweisungen:
-1
- Abkürzungen von Artikulationen, wie
-.
,->
,--
Ausrichtungsmarkierer haben nur eine Auswirkung auf die nächste Note:
c2( c) c2_( c) c2( c) c2^( c)
Die direction
-(Richtungs-)Eigenschaft
Die Position oder Richtung vieler Layoutobjekte wird von der
direction
-Eigenschaft kontrolliert.
Der Wert der direction
-Eigenschaft kann auf den Wert
1
gesetzt werden, was gleichbedeutend mit „nach oben“
bzw. „oberhalb“ ist, oder auf den Wert -1
, was
„nach unten“ bzw. „unterhalb“ bedeutet. Die Symbole
UP
und DOWN
können anstelle von 1
und -1
benutzt werden. Die Standardausrichtung kann
angegeben werden, indem direction
auf den Wert
0
oder CENTER
gesetzt wird. In vielen Fällen
bestehen auch vordefinierte Befehle, mit denen die Ausrichtung
bestimmt werden kann. Sie haben die Form
\xxxUp
, xxxDown
, xxxNeutral
wobei xxxNeutral
bedeutet: „Benutze die
Standardausrichtung“. Siehe auch
within-staff (Objekte innerhalb des Notensystems).
In wenigen Fällen, von denen Arpeggio das einzige häufiger
vorkommende Beispiel darstellt, entscheidet der Wert von
direction
, ob das Objekt auf der rechten oder linken
Seite das Ursprungsobjektes ausgegeben wird. In diesem Fall
bedeutet -1
oder LEFT
„auf der linken Seite“
und 1
oder RIGHT
„auf der rechten Seite“. 0
oder CENTER
bedeutet „benutze Standardausrichtung“.
Diese Ausrichtungsanzeigen wirken sich auf alle Noten aus, bis sie rückgängig gemacht werden:
c2( c) \slurDown c2( c) c2( c) \slurNeutral c2( c)
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Richtung und Platzierung ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ Abstände und Maße > ] |
5.4.3 Reihenfolge des Kontextlayouts
Kontexte werden normalerweise in einer Notensystemgruppe dargestellt, von oben nach unten in der Reihenfolge, in der sie in der Eingabedatei auftreten. Wenn Kontexte verschachtelt sind, enthält der äußere Kontext die inneren geschachtelten Kontexte, wie in der Eingabedatei angegeben, vorausgesetzt die inneren Kontexte befinden sich in der „accepts“-Liste des äußeren Kontextes. Verschachtelte kontexte, die nicht in dieser Liste auftauchen, werden neu unter den äußeren Kontext angeordnet, anstatt dass sie innerhalb dieses Kontextes gesetzt werden.
Es ist wichtig zu erinnern, dass ein Kontext implizit erstellt werden kann, wenn ein Befehl vorkommt und kein passender Kontext zur Verfügung steht, um den Befehl auszuführen. Dadurch können unerwartet neue Systeme oder Partituren erstellt werden.
Die Standardreihenfolge, in der die Kontexte gesetzt werden und die „accepts“-Liste können geändert werden, siehe auch Kontexte aneinander ausrichten.
Siehe auch
Handbuch zum Lernen An extra staff appears.
5.4.4 Abstände und Maße
In LilyPond gibt es zwei Arten von Abständen: absolute und skalierte.
Absolute Abstände werden benutzt, um Ränder, Einzüge und andere
Einzelheiten des Seitenlayouts zu bestimmen. Sie sind in den
Standardeinstellungen in Millimetern definiert. Abstände können
auch in anderen Einheiten definiert werden, indem folgende
Befehle auf die Zahl folgen: \mm
, \cm
,
\in
(Zoll=2,54 cm) und \pt
(Punkte, 1/72.27
eines Zolls). Abstände des Seitenlayouts können auch in
skalierbaren Einheiten (siehe folgenden Absatz) definiert
werden, indem man den Befehl \staff-space
an die
Zahl hängt. Das Seitenlayout ist genauer beschrieben in
Seitenformatierung.
Skalierbare Abstände werden immer in Einheiten von
Notenlinienabständen angegeben, oder seltener in halben
Notenlinienabständen. Ein Notenlinienabstand ist der
Abstand zwischen zwei benachbarten Linien eines Notensystems.
Der Standardwert dieser Einheit kann global geändert werden,
indem man die globale Notensystemgröße ändert, oder sie
kann lokal geändert werden, indem man die Eigenschaft
staff-space
des StaffSymbol
-Objekts mit
\override
verändert. Skalierte Abstände verändern
sich automatisch entsprechend, wenn der Notenlinienabstand
entweder global oder lokal verändert wird, aber Schriftarten
verändern ihre Größe nur, wenn der Notenlinienabstand
global verändert wird. Mit dem globalen Notenlinienabstand
kann man also auf einfach Art und Weise die gesamte Größe
einer Partitur verändern. Zu Methoden, wie der globale
Notenlinienabstand verändert werden kann, siehe
Die Notensystemgröße einstellen.
Wenn nur eine ein Abschnitt einer Partitur in einer anderen
Größe erscheinen soll, etwa ein Ossia-Abschnitt in einer
Fußnote, kann die globale Notensystemgröße nicht einfach
geändert werden, weil sich diese Änderung auf die gesamte Partitur
auswirken würde. In derartigen Fällen muss die Größenänderung
vorgenommen werden, indem man sowohl die
staff-space
-Eigenschaft von StaffSymbol
als auch
die Größe der Schriftarten verändert. Eine Scheme-Funktion,
magstep
, kann von einer Schriftartveränderung zu der
entsprechenden Veränderung in staff-space
(Notenlinienabständen)
konvertieren. Zu einer Erklärung und Beispielen zu ihrer
Verwendung siehe
Länge und Dicke von Objekten.
Siehe auch
Handbuch zum Lernen: Länge und Dicke von Objekten.
Notationsreferenz: Seitenformatierung, Die Notensystemgröße einstellen.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Abstände und Maße ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ Strecker > ] |
5.4.5 Eigenschaften des Staff-Symbols
Die vertikale Position der Notenlinien und die Anzahl der Notenlinien kann gleichzeit definiert werden. Wie das folgende Beispiel zeigt, werden Notenpositionen nicht durch die Position der Notenlinien verändert:
Achtung: Die 'line-positions
-Eigenschaft
verändert die 'line-count
-Eigenschaft. Die
Anzahl der Notenlinien wird implizit definiert durch
die Anzahl der Elemente in der Liste der Werte von
'line-positions
.
\new Staff \with { \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7) } { a4 e' f b | d1 }
Die Breite eines Notensystes kann verändert werden. Die Einheit ist in Notenlinienabständen. Die Abstände von Objekten in diesem Notensystem wird durch diese Einstellung nicht beeinflusst.
\new Staff \with { \override StaffSymbol #'width = #23 } { a4 e' f b | d1 }
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Eigenschaften des Staff-Symbols ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ > ] |
5.4.6 Strecker
Viele Objekte der Musiknotation erstrecken sich über mehrere Objekte oder gar mehrere Takte. Beispiele hierfür sind etwa Bögen, Balken, Triolenklammern, Volta-Klamern in Wiederholungen, Crescendo, Triller und Glissando. Derartige Objekte werden als „Strecker“ bezeichnet. Sie haben spezielle Eigenschaften, mit welchen ihre Eigenschaften und ihr Verhalten beeinflusst werden kann. Einige dieser Eigenschaften gelten für alle Strecker, andere beschränken sich auf eine Untergruppe der Strecker.
Alle Strecker unterstützen das spanner-interface
(Strecker-Schnittstelle).
Ein paar, insbesondere die, die zwischen zwei Objekten eine
gerade Linie ziehen, unterstützen auch das
line-spanner-interface
(Strecker-Linienschnittstelle).
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Strecker ] | [ Nach oben : Strecker ] | [ > ] |
Das spanner-interface
benutzen
Diese Schnittstelle stellt zwei Eigenschaften zur Verfügung, die sich auf mehrere Strecker auswirken:
Die minimum-length
-Eigenschaft
Die Mindestlänge eines Streckers wird durch die
minimum-length
-Eigenschaft definiert. Wenn diese
Eigenschaft vergrößert wird, muss in den meisten Fällen
auch der Abstand der Noten zwischen den zwei Endpunkten
eines Streckers verändert werden. Eine Veränderung dieser
Eigenschaft hat jedoch auf die meisten Strecker keine Auswirkung,
weil ihre Länge aus anderen Berechnungen hervorgeht.
Einige Beispiele, wo die Eigenschaft benutzt wird, sind
unten dargestellt.
a~a a % increase the length of the tie -\tweak #'minimum-length #5 ~a
a1 \compressFullBarRests R1*23 % increase the length of the rest bar \once \override MultiMeasureRest #'minimum-length = #20 R1*23 a1
a \< a a a \! % increase the length of the hairpin \override Hairpin #'minimum-length = #20 a \< a a a \!
Diese Veränderung kann auch eingesetzt werden, um die Länge von Legato- und Phrasierungsbögen zu verändern:
a( a) a -\tweak #'minimum-length #5 ( a) a\( a\) a -\tweak #'minimum-length #5 \( a\)
Im Falle einiger Layoutobjekte wirkt sich die
minimum-length
-Eigenschaft erst dann aus, wenn die
set-spacing-rods
-Prozedur explizit aufgerufen wird.
Um das zu tun, sollte die springs-and-rods
-Eigenschaft
auf ly:spanner::set-spacing-rods
gesetzt werden. Die
Mindestlänge eines Glissandos etwa wird erst aktiv, wenn
die springs-and-rods
-Eigenschaft gesetzt ist:
% default e \glissando c' % not effective alone \once \override Glissando #'minimum-length = #20 e, \glissando c' % effective only when both overrides are present \once \override Glissando #'minimum-length = #20 \once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods e, \glissando c'
Das gilt auch für das Beam
-(Balken-)Objekt:
% not effective alone \once \override Beam #'minimum-length = #20 e8 e e e % effective only when both overrides are present \once \override Beam #'minimum-length = #20 \once \override Beam #'springs-and-rods = #ly:spanner::set-spacing-rods e8 e e e
Die to-barline
-Eigenschaft
Die zweite nützliche Eigenschaft des spanner-interface
ist
to-barline
(bis zum Taktstrich). In den Standardeinstellungen
ist diese Eigenschaft auf „wahr“ gesetzt, was bedeutet, dass
ein Strecker, etwa eine Crescendo-Klammer, der an der ersten Noten
eines Taktes beendet wird, sich nur bis zum vorhergehenden
Taktstrich erstreckt. Wenn die Eigenschaft auf „falsch“ gesetzt
wird, erstrecken sich die Strecker entsprechend über die Taktlinie
hinüber und enden erst an der entsprechenden Note:
a \< a a a a \! a a a \break \override Hairpin #'to-barline = ##f a \< a a a a \! a a a
Diese Eigenschaft wirkt sich nicht auf alle Strecker aus. Im Falle von Legato- oder Phrasierungsbögen etwa hat diese Eigenschaft keinen Effekt. Das gilt auch für alle anderen Streckern, bei denen es nicht sinnvoll währe, sie an einer Taktlinie abzuschließen.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < ] | [ Nach oben : Strecker ] | [ Sichtbarkeit von Objekten > ] |
Das line-spanner-interface
benutzen
Objekte, die das line-spanner-interface
unterstützen,
sind unter Anderem:
-
DynamicTextSpanner
-
Glissando
-
TextSpanner
-
TrillSpanner
-
VoiceFollower
Die Routine, die das Setzen der Matrizen dieser Strecker
hervorruft, ist ly:line-interface::print
. Diese
Routine bestimmt die exakte Position der zwei Endpunkte
und zeichnet eine Linie zwischen ihnen, in dem erforderlichen
Stil. Die Position der zwei Endpunkte des Streckers wird
in Echtzeit errechnet, aber es ist möglich, ihre
Y-Koordinaten zu verändern. Die Eigenschaften, die angegeben
werden müssen, sind zwei Ebenen in der Objekthierarchie
tiefer angeordnet, aber die Syntax des \override
-Befehls
ist ziemlich einfach:
e2 \glissando b \once \override Glissando #'(bound-details left Y) = #3 \once \override Glissando #'(bound-details right Y) = #-2 e2 \glissando b
Die Einheiten für die Y
-Eigenschaft werden in
Notenlinienabständen angegeben, wobei die Mittellinie des
Notensystems die Null darstellt. Für das Glissando ist
der Wert von Y
am entsprechenden X-Koordinatenpunkt
entsprechend dem Mittelpunkt des Notenkopfes, wenn die
Linie bis in die Noten hinein weitergeführt werden würde.
Wenn Y
nicht gesetzt wird, wird der Wert aus der
vertikalen Position des entsprechenden Anknüpfpunkts des
Streckers errechnet.
Im Fall eines Zeilenumbruchs werden die Werte der Endpunkte
in den Unterlisten left-broken
bzw. right-broken
von bound-details
abgelegt. Zum Beispiel:
\override Glissando #'breakable = ##t \override Glissando #'(bound-details right-broken Y) = #-3 c1 \glissando \break f1
Eine Anzahl weitere Eigenschaft der left
- und
right
-Unterlisten der bound-details
-Eigenschaft
kann auf gleiche Weise wie Y
verändert werden:
-
Y
Hiermit wird der Y-Koordinationspunkt des Endpunktes in Notenlinienabständen vom Mittelpunkt des Notensystems ausgehend angegeben. Der Endpunkt ist normalerweise der Mittelpunkt des Elternobjektes, sodass Glissandos vertikal auf den Mittelpunkt eines Notenkopfes weist.
Für horizontale Strecker, wie Textstrecker und Trillerstrecker ist sein Wert mit 0 definiert.
-
attach-dir
Das entscheidet, wo die Linie auf der X-Achse beginnt und endet, relativ zum Elternobjekt. Ein Wert
-1
(oderLEFT
) lässt die Linie an der linken Seite der Noten beginnen/enden, mit der sie verknüpft ist.-
X
Das ist der absolute X-Koordinatenpunkt des Endpunktes. Der Wert wird normalerweise in Echtzeit errechnet, und ihn zu verändern ist normalerweise nicht nützlich.
-
stencil
Linienstrecker können Symbole am Ende oder zu Anfang des Streckers haben, die in dieser Untereigenschaft definiert werden. Die Eigenschaft ist für interne Benutzung, es wird empfohlen, die Eigenschaft
text
zu benutzen.-
text
Das ist eine Textbeschriftung, die ausgewertet wird und die
stencil
-Eigenschaft überschreibt. Sie wird eingesetzt, um cresc., tr oder andere Texte an horizontale Strecker zu setzen.\override TextSpanner #'(bound-details left text) = \markup { \small \bold Slower } c2\startTextSpan b c a\stopTextSpan
-
stencil-align-dir-y
-
stencil-offset
Wenn keine dieser beiden Eigenschaften gesetzt wird, wird die Matrize (engl. stencil) einfach am Endpunkt des Streckers, auf seiner Mittellinie (wie durch
X
undY
definiert) zentriert, ausgegeben. Wenn entwederstencil-align-dir-y
oderstencil-offset
gesetzt werden, wird das Symbol am Rand vertiakl entsprechend des Endpunktes der Linie verschoben:\override TextSpanner #'(bound-details left stencil-align-dir-y) = #-2 \override TextSpanner #'(bound-details right stencil-align-dir-y) = #UP \override TextSpanner #'(bound-details left text) = #"ggg" \override TextSpanner #'(bound-details right text) = #"hhh" c4^\startTextSpan c c c \stopTextSpan
Dabei sollte beachtet werden, dass negative Werte das Objekt nach oben verschieben, anders als man erwarten könnte, weil der Wert
-1
oderDOWN
bedeutet, dass die Unterkante des Textes mit der Streckerlinie ausgerichtet wird. Ein Wert1
oderUP
richtet die Oberkante des Textes mit der Streckerlinie aus.-
arrow
Wenn diese Untereigenschaft auf
#t
gesetzt wird, wird ein Pfeilkopf am Ende der Linie erstellt.-
padding
Diese Eigenschaft kontrolliert den Abstand zwischen dem angegebenen Endpunkt der Linie und dem wirklichen Ende. Ohne Füllung (engl. padding) würde ein Glissando in der Mitte eines Notenkopfes beginnen und enden.
Die musikalische Funktion \endSpanners
beschließt
den Strecker, der an der direkt folgenden Note beginnt,
bevor er eigentlich zu ende wäre. Er wird exakt nach
einer Note beendet, oder am nächsten Taktstrich, wenn
to-barline
auf wahr gesetzt ist und eine Taktlinie
vor der nächsten Note erscheint.
\endSpanners c2 \startTextSpan c2 c2 \endSpanners c2 \< c2 c2
Wenn man \endSpanners
benutzt, ist es nicht
nötig, den Befehl \startTextSpan mit \stopTextSpan
zu beenden, und es ist auch nicht nötig, Crescendo-Klammern
mit \!
zu beenden.
Siehe auch
Referenz der Interna: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ Einen stencil entfernen > ] |
5.4.7 Sichtbarkeit von Objekten
Die Sichtbarkeit von Layout-Objekten kann auf vier Arten
kontrolliert werden: Ihre Matrizen (engl stencil) können
entfernt werden, sie können unsichtbar gemacht werden,
sie können weiß eingefärbt werden und ihre
break-visibility
-Eigenschaft kann verändert werden.
Die ersten drei Möglichkeiten beziehen sich auf alle
Layout-Objekte, die letzte nur auf einige wenige, nämlich
die zerteilbaren Objekte. Das Handbuch zum Lernen
führt in alle vier Möglichkeiten ein, siehe
Sichtbarkeit und Farbe von Objekten.
Es gibt auch einige weitere Techniken, die sich nur auf bestimmte Layout-Objekte beziehen. Sie werden im letzten Abschnitt behandelt.
Einen stencil entfernen | ||
Objekten unsichtbar machen | ||
Objekte weiß malen | ||
break-visibility (unsichtbar machen) benutzen | ||
Besonderheiten |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Sichtbarkeit von Objekten ] | [ Nach oben : Sichtbarkeit von Objekten ] | [ Objekten unsichtbar machen > ] |
Einen stencil entfernen
Jedes Layout-Objekt hat eine Matrizen-(stencil)-Eigenschaft.
Sie ist normalerweise definiert als die Funktion, die das
entsprechende Objekt zeichnet. Wenn die Eigenschaft mit
\override
auf #f
gesetzt wird, wird keine
Funktion aufgerufen und also auch kein Objekt gezeichnet.
Das Standardverhalten kann mit dem Befehl \revert
wieder hergestellt werden.
a1 a \override Score.BarLine #'stencil = ##f a a \revert Score.BarLine #'stencil a a a
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Einen stencil entfernen ] | [ Nach oben : Sichtbarkeit von Objekten ] | [ Objekte weiß malen > ] |
Objekten unsichtbar machen
Jedes Layout-Objekt hat eine Durchsichtigkeits-Eigenschaft
('transparent
),
die normalerweise auf den Wert #f
gesetzt ist. Wenn
sie auf #t
gesetzt wird, nimmt das Objekt immer noch
den entsprechenden Platz ein, ist aber unsichtbar.
a4 a \once \override NoteHead #'transparent = ##t a a
Objekte weiß malen
Alle Layout-Objekte haben eine Farb-(color)-Eigenschaft, die
normalerweise schwarz (black
) definiert ist. Wenn
sie nach weiß (white
) verändert wird, kann man das
Objekt nicht mehr vom weißen Hintergrund unterscheiden.
Wenn das Objekt jedoch andere Objekte überschneidet, wird
die Farbe der Überschneidungen von der Reihenfolge entschieden,
in welcher die Objekte gesetzt werden. Es kann also vorkommen,
dass man die Umrisse des weißen Objektes erahnen kann, wie
in diesem Beispiel:
\override Staff.Clef #'color = #white a1
Das kann man vermeiden, indem man die Satzreihenfolge der Objekte
verändert. Alle Layout-Objekte haben eine layer
-Eigenschaft,
die auf eine ganze Zahl gesetzt sein muss. Objekte mit der
niedrigsten Zahl in der layer
-Eigenschaft werden zuerst
gesetzt, dann die nächstne Objekte in ansteigender Ordnung. Objekte
mit höheren Werten überschneiden also Objekte mit niedrigeren
Werten. Die meisten Objekte bekommen den Wert 1
zugewiesen,
einige wenige Objekte, unter die auch StaffSymbol
(die
Notenlinien) gehört, jedoch den Wert 0
. Die Reihenfolge,
in der Objekte mit demselben Wert gesetzt werden, ist nicht
definiert.
Im oberen Beispiel wird der weiße Schlüssel, der einen Wert von
1
für layer
hat, nach den Notenlinien gesetzt
(die einen Wert von 0
für layer
haben) und
überschneidet sie also. Um das zu ändern, muss dem Clef
-Objekt
(Notenschlüssel) ein niedrigerer Wert, etwa -1
, gegeben
werden, sodass es früher gesetzt wird:
\override Staff.Clef #'color = #white \override Staff.Clef #'layer = #-1 a1
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Objekte weiß malen ] | [ Nach oben : Sichtbarkeit von Objekten ] | [ Besonderheiten > ] |
break-visibility (unsichtbar machen) benutzen
Die meisten Layout-Objekte werden nur einmal gesetzt, aber
einige, wie Taktstriche, Schlüssel, Taktartbezeichnung und
Tonartvorzeichen, müssen mehrmals gesetzt werden, wenn
die Zeile gewechselt wird: einmal am Ende des oberen Systems
und ein zweites Mal zu Beginn des nächsten Systems.
Derartige Objekte werden als trennbar bezeichnet
und haben eine Eigenschaft, die break-visibility
-Eigenschaft,
mit der ihre Sichtbarkeit an allen drei Positionen, an denen
sie auftreten können, kontrolliert werden kann: zu Beginn
einer Zeile, innerhalb einer Zeile, wenn sie verändert werden,
und am Ende einer Zeile, wenn die Änderung hier stattfindet.
Die Taktart wird beispielsweise standardmäßig nur zu Beginn des ersten Systems gesetzt, aber an anderen Stellen nur, wenn sie sich ändert. Wenn diese Änderung am Ende eines Systems auftritt, wird die neue Taktart am Ende des aktuellen Systems als auch zu Beginn des nächsten Systems gesetzt.
Dieses Verhalten wird von der break-visibility
-Eigenschaft
kontrolliert, die erklärt wird in
Sichtbarkeit und Farbe von Objekten. Die Eigenschaft
bruacht einen Vektor von drei Boolschen Werten, die in ihrer
Reihenfolge bestimmte, ob das Objekt a) zu Ende der Zeile,
b) innerhalb einer Zeile oder c) zu Beginn einer Zeile gesetzt
wird. Oder, genauer gesagt, vor einem Zeilenumbruch, an Stellen,
wo kein Zeilenumbruch auftritt oder nach einem Zeilenumbruch.
Die acht möglichen Kombinationen können auch durch vordefinierte Funktionen besetimmt werden, welche in der Datei ‘scm/output-lib.scm’ definiert sind. Die letzten drei Spalten der folgenden Tabelle zeigen an, ob das Layout-Objekt an einer besetimmten Position sichtbar sein wird oder nicht:
Funktion | Vektor | Vor | kein | Nach |
---|---|---|---|---|
Form | Form | Umbruch | Umbruch | Umbruch |
| | ja | ja | ja |
| | nein | nein | ja |
| | nein | ja | nein |
| | ja | nein | nein |
| | ja | ja | nein |
| | ja | nein | ja |
| | nein | ja | ja |
| | nein | nein | nein |
Die Standardeinstellungen von break-visibility
hängen vom
Layout-Objekt ab. Die folgende Tabelle zeigt alle wichtigen Layout-Objekte,
die mit break-visibility
verändert werden können und die
jeweiligen Standardeinstellungen der Eigenschaft:
Layout-Objekt | Normaler Kontext | Standardeinstellung |
---|---|---|
| | calculated |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
Das Beispiel unten zeigt die Verwendung der Vektor-Form um die Sichtbarkeit von Taktlinien zu bestimmten:
f4 g a b f4 g a b % Remove bar line at the end of the current line \once \override Score.BarLine #'break-visibility = #'#(#f #t #t) \break f4 g a b f4 g a b
Obwohl alle drei Bestandteile des Vektors, mit denen
break-visibility
definiert wird, vorhanden sein
müssen, haben nicht alle eine Auswirkung auf jedes
Layout-Objekt, und einige Kombinationen können sogar
Fehler hervorrufen. Es gelten die folgenden Einschränkungen:
- Taktstriche können nicht zu Beginn einer Zeile gesetzt werden.
- Eine Taktzahl kann nicht zu Beginn der ersten Zeile gesetzt werden, außer wenn er nicht 1 ist.
- Schlüssel – siehe unten.
- Doppel-Prozent-Wiederholungen werden entweder alle ausgegeben
oder alle unterdrückt. Mit
begin-of-line-invisible
werden sie ausgegeben, mitall-invisible
unterdrückt. - Tonart – siehe unten.
- Oktavieruns-Acht – siehe unten.
Besonderheiten
Sichtbarkeit nach expliziten Änderungen
Die break-visibility
-Eigenschaft kontrolliert die Sichtbarkeit
von Tonarten und Schlüsseländerungen nur zu Beginn einer Zeile,
d.h. nach einem Zeilenumbruch. Sie hat keinen Einfluss auf die
Sichtbarkeit von Tonarten bzw. Schlüsseln, die nach einer
expliziten Tonart- oder Schlüsseländerung in oder am Ende einer
Zeile angezeigt werden. Im nächsten Beispiel ist die Tonartangabe
nach dem expliziten Wechsel zu B-Dur immer noch sichtbar, obwohl
all-invisible
eingesetzt wurde:
\key g \major f4 g a b % Try to remove all key signatures \override Staff.KeySignature #'break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b
Die Sichtbarkeit derartiger expliziter Tonart- und Schlüsseländerungen
wird von den explicitKeySignatureVisibility
- und
explicitClefVisibility
-Eigenschaften kontrolliert. Sie
entsprechen der break-visibility
-Eigenschaft und beide
brauchen drei Boolsche Werte bzw. die oben aufgelisteten vordefinierten
Funktionen als Argument, genau wie break-visibility
.
Beide sind Eigenschaft des Staff
-Kontextes, nicht der
Layout-Objekte selber, weshalb sie mit dem Befehl \set
eingesetzt werden. Beide sind standardmäßig auf die Funktion
all-visible
gesetzt. Diese Eigenschaften kontrollieren nur
die Sichtbarkeit von Tonarten bzw. Schlüssel, die von expliziten
Änderungen herrühren, und haben keinen Einfluss auf Tonarten und
Schlüssel zu Beginn einer Zeile – um diese zu beeinflussen, muss
break-visibility
benutzt werden.
\key g \major f4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \override Staff.KeySignature #'break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b
Sichtbarkeit von erinnernden Versetzungszeichen
Um erinnernde Versetzungszeichen zu entfernen, die nach einer
expliziten Tonartänderung auftreten, muss die Staff
-Eigenschaft
printKeyCancellation
auf #f
gesetzt werden:
\key g \major f4 g a b \set Staff.explicitKeySignatureVisibility = #all-invisible \set Staff.printKeyCancellation = ##f \override Staff.KeySignature #'break-visibility = #all-invisible \key bes \major f4 g a b \break f4 g a b f4 g a b
Mit diesen Veränderungen bleiben nur noch die Versetzungszeichen vor den Noten übrig um den Wechsel der Tonart anzuzeigen.
Automatische Takte
Ein Sonderfall sind die automatischen Taktstriche, die mit der
Eigenschaft automaticBars
im Score
-Kontext
ausgeschaltet werden können. Wenn sie auf #f
gesetzt
ist, werden Taktstrich nicht automatisch ausgegeben sondern
müssen explizit mit dem \bar
-Befehl eingegeben werden.
Anders als bei dem \cadenzaOn
-Befehl werden die Takte
allerdings immer noch gezählt. Takterstellung wird später
wieder mit diesem Zahl aufgenommen, wenn die Eigenschaft
wieder auf #t
gesetzt wird. Wenn sie den Wert #f
hat, können Zeilenumbrüche nur an expliziten \bar
-Befehlen
auftreten.
Oktavierte Schlüssel
Das kleine Oktavierungssymbol von oktavierten Notenschlüsseln
wird durch das OctavateEight
-Layout-Objekt erstellt.
Seine Sichtbarkeit wird unabhängig vom Clef
-Objekt
bestimmt, sodass notwendige Veränderungen von break-visibility
sowohl für Clef
als auch für OctavateEight
vorgenommen
werden müssen, damit derartige Schlüssel entfernt werden.
Bei expliziten Schlüsseländerungn kontrolliert die
explicitClefVisibility
-Eigenschaft wohl das
Schlüsselsymbol als auch das damit verknüpfte Oktavierungssymbol.
Siehe auch
Handbuch zum Lernen: Sichtbarkeit und Farbe von Objekten
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Besonderheiten ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ Drehen von Objekten > ] |
5.4.8 Zeilenstile
Einige Aufführungsanweisungen (z. B. rallentando und accelerando oder Triller werden als Text gesetzt und möglicherweise über mehrere Takte mit Linien fortgeführt, die teilweise gestrichelt oder gewellt sind.
Alle benutzen die gleichen Routinen wie das Glissando,
um Text und Linien zu produzieren, weshalb auch eine
Veränderungen der Erscheinung auf gleiche Weise vonstatten
geht. Die Ausgabe erfolgt durch einen Strecker (engl. spanner), und
die Routine, die ihn setzt, heißt ly:line-interface::print
.
Diese Routine bestimmt die exakte Position von zwei
Strecker-Punkten und zeichnet eine Linie zwischen sie
im gewünschten Linienstil.
Hier einige Beispiele, welche Linienstile möglich sind und wie sie verändert werden können:
d2 \glissando d'2 \once \override Glissando #'style = #'dashed-line d,2 \glissando d'2 \override Glissando #'style = #'dotted-line d,2 \glissando d'2 \override Glissando #'style = #'zigzag d,2 \glissando d'2 \override Glissando #'style = #'trill d,2 \glissando d'2
Die Position der Endpunkte des Streckers werden in Realzeit für jedes graphische Objekt errechnet, aber es ist möglich, sie manuell vorzugeben:
e2 \glissando f \once \override Glissando #'(bound-details right Y) = #-2 e2 \glissando f
Der Wert von Y
wird für den rechten Endpunkt auf
-2
gesetzt. Die linke Seite kann ähnlich angepasst
werden, indem man left
antelle von right
angibt.
Wenn Y
nicht gesetzt ist, wird der Wert ausgehend von
der vertikalen Position der linken und rechten Anbindepunkte
des Streckers errechnet.
Andere Anpassungen der Strecker sind auch möglich, für Einzelheiten siehe Strecker.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Zeilenstile ] | [ Nach oben : Nützliche Konzepte und Eigenschaften ] | [ > ] |
5.4.9 Drehen von Objekten
Layout-Objekte und Textbeschriftungselemente können zu einem beliebigen Winkel um einen beliebigen Punkt herum gedreht werden, aber die Methode, mit der die Änderung vorgenommen werden muss, unterscheidet sich je nach Objekt.
5.4.9 Drehen von Objekten | ||
Textbeschriftung drehen |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Drehen von Objekten ] | [ Nach oben : Drehen von Objekten ] | [ Textbeschriftung drehen > ] |
Drehen von Objekten
Alle Layout-Objekte, die das grob-interface
unterstützen,
können gedreht werden, indem man ihre rotation
-Eigenschaft
einstellt. Sie erhält eine Liste mit drei Einträgen: den
Winkel der Drehung gegen den Uhrzeiger sowie die X- und
Y-Koordinaten des Punktes relativ zum Referenzpunkt des Objekts,
um welchen herum die Drehung stattfinden soll. Der Winkel
der Drehung wird in Grad angegeben, die Koordinaten in
Notenlinienzwischenräumen.
Der Winkel der Drehung und die Koordinaten des Drehpunktes müssen durch Ausprobieren herausgefunden werden.
Es gibt nur wenige Situationen, in welchen die Drehung eines Layout-Objektes sinnvoll ist. Das folgende Beispiel zeigt eine sinnvolle Anwendung:
g4\< e' d' f\! \override Hairpin #'rotation = #'(20 -1 0) g,,4\< e' d' f\!
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < ] | [ Nach oben : Drehen von Objekten ] | [ Fortgeschrittene Optimierungen > ] |
Textbeschriftung drehen
Jede Textbeschriftung kann gedreht werden, indem vor die Anweisung
der Befehl \rotate
gesetzt wird. Der Befehl hat zwei
Argumente: Den Winkel der Drehung in Grad gegen den Uhrzeiger und
der Text, der gedreht dargestllt werden soll. Die Ausdehnung des
Textes wird nicht gedreht, sie erhält ihren Wert von den Extrempunkten
der x- und y-Koordinaten des gedrehten Textes. Im folgenden
Beispiel wird die outside-staff-priority
-Eigenschaft auf
#f
gesetzt, damit automatische Zusammenstöße nicht verhindert
werden, wodurch andernfalls einige der Texte zu hoch geschoben werden
würden.
\override TextScript #'outside-staff-priority = ##f g4^\markup { \rotate #30 "a G" } b^\markup { \rotate #30 "a B" } des^\markup { \rotate #30 "a D-Flat" } fis^\markup { \rotate #30 "an F-Sharp" }
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Textbeschriftung drehen ] | [ Nach oben : Standardeinstellungen verändern ] | [ Objekte ausrichten > ] |
5.5 Fortgeschrittene Optimierungen
Dieser Abschnitt behandelt verschiedene Möglichkeiten, das Aussehen des Notenbildes zu polieren.
5.5.1 Objekte ausrichten | ||
5.5.2 Vertikale Gruppierung der grafischen Objekte („grob“s) | ||
5.5.3 stencils verändern | ||
5.5.4 Formen verändern |
Siehe auch
Handbuch zum Lernen: Die Ausgabe verändern, Mehr Information.
Notationsreferenz: Die Referenz der Programminterna erklärt, Eignschaften verändern, @ref{Schnittstellen für Programmierer}.
Installierte Dateien: ‘scm/define-grobs.scm’.
Schnipsel: Tweaks and overrides.
Referenz der Interna: All layout objects.
5.5.1 Objekte ausrichten
Graphische Objekte, die das self-alignment-interface
und/obder
das side-position-interface
unterstützen, können an einem
vorher gesetzten Objekt auf verschiedene Weise ausgerichtet werden.
Eine Liste derartiger Objekte findet sich in
self-alignment-interface und
side-position-interface.
Alle graphischen Objekte haben einen Referenzpunkt, eine horizontale Ausdehnung und eine vertikale Ausdehnung. Die horizontale Ausdehnung ist ein Zahlenpaar, mit dem die Verschiebung der rechten und linken Ecken ausgehend vom Referenzpunkt angegeben werden, wobei Verschiebungen nach links mit negativen Zahlen notiert werden. Die vertikale Ausdehnung ist ein Zahlenparr, das die Verschiebung der unteren und oberen Ränder vom Referenzpunkt ausgehend angibt, wobei Verschiebungen nach unten mit negativen Zahlen notiert werden.
Die Position eines Objektes auf dem Notensystem wird mit Werten
von X-offset
und Y-offset
angegeben. Der Wert von
X-offset
gibt die Verschiebung von der x-Koordinate des
Referenzpunkts des Elternobjektes an, der Wert von Y-offset
die Verschiebung ausgehend von der Mittellinie des Notensystemes.
Die Werte von X-offset
und Y-offset
können direkt
bestimmt werden oder durch Prozeduren errechnet werden, sodass
eine Ausrichtung mit dem Elternobjekt auf verschiedene Weise
erreicht werden kann.
Achtung: Viele Objekte brauchen besondere Überlegungen zu ihrer
Position, weshalb in manchen Fällen manuell gesetzte Werte von
X-offset
oder Y-offset
ignoriert oder verändert
werden können, obwohl das Objekt das
self-alignment-interface
unterstützt.
Ein Versetzungszeichen beispielsweise kann vertikal durch Veränderung
von Y-offset
verschoben werden, aber Änderungen von
X-offset
haben keine Auswirkung.
Übungszeichen können an trennbaren Objekten (wie Taktstrichen,
Schlüsseln, Taktarten und Tonartvorzeichen) ausgerichtet werden.
In break-aligned-interface
finden sich besondere Eigenschaften,
mit denen Übungszeichen an derartigen objekten ausgerichtet werden können.
X-offset und Y-offset direkt setzen | ||
Das side-position-interface benutzen | ||
Das self-alignment-interface benutzen | ||
Benutzung des break-aligned-interface |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Objekte ausrichten ] | [ Nach oben : Objekte ausrichten ] | [ Das side-position-interface benutzen > ] |
X-offset
und Y-offset
direkt setzen
Numereische Werte können den X-offset
- und Y-offset
-Eigesnchaften
vieler Objekte zugewiesen werden. Das folgende Beispiel zeigt
drei Noten mit der Standardposition von Fingersatzanweisungen
und die Positionen, wenn X-offset
und Y-offset
verändert werden.
a-3 a -\tweak #'X-offset #0 -\tweak #'Y-offset #0 -3 a -\tweak #'X-offset #-1 -\tweak #'Y-offset #1 -3
Das side-position-interface
benutzen
Ein Objekt, das die side-position-interface
-Schnittstellt
unterstützt, kann neben sein Elternobjekt gesetzt werden,
sodass zwei definierte Enden der Objekte sich berühren.
Das Objekt kann über, unter, rechts oder links vom
Ursprungsobjekt positioniert werden. Das Ursprungsobjekt
kann nicht definiert werden: es ergibt sich aus der Reihenfolge
der Objekte in der Eingabe. Die meisten Objekte haben
einen Notenkopf als Ursprung assoziiert.
Die Werte von side-axis
und direction
bestimmen,
wo das Objekt platziert werden soll, wie in der Tabelle
zu sehen:
| | |
---|---|---|
Eigenschaft | Eigenschaft | Platzierung |
| | links |
| | rechts |
| | unten |
| | oben |
Wenn side-axis
gleich 0
ist, sollte X-offset
auf die Prozedur ly:side-position-interface::x-aligned-side
gesetzt werden. Diese Prozedur errechnet den richtigen Wert für
X-offset
, sodass das Objekt auf der rechten oder linken
Seite des Ursprungs angeordnet wird, entsprechend dem Wert
der direction
-Eigenschaft.
Wenn side-axis
gleich 1
ist, sollte Y-offset
auf die Prozedur ly:side-position-interface::y-aligned-side
gesetzt werden. Diese Prozedur errechnet den richtigen Wert für
Y-offset
, sodass das Objekt über oder unter dem Ursprungsobjekt
angeordnet wird, entsprechend dem Wert der direction
-Eigenschaft.
Das self-alignment-interface
benutzen
Selbstausrichtende Objekte horizontal
Die horizontale Ausrichtung eines Objektes, das die
self-alignment-interface
-(Selbstausrichtungs)-Schnittstelle
unterstützt, wird durch den Wert von self-alignment-X
kontrolliert, vorausgesetzt die Eigenschaft X-offset
des
Objektes ist auf ly:self-alignment-interface::x-aligned-on-self
gesetzt. self-alignment-X
kann eine beliebige reale
Zahl zugewiesen werden, in Einheiten der Hälfte der
X-Gesamtausdehnung des Objekts. Negative Werte verschieben
das Objekt nach rechts, positive nach links. Ein Wert von
0
zentriert das Objekt auf dem Referenzpunkt des
Ursprungs, ein Wert von -1
richtet die linke Ecke des
Objekts am Referenzpunkt des Ursprungsobjektes aus, ein
Wert von 1
richtet die rechte Ecke des Objektes am
Referenzpunkt des Ursprungsobjektes aus. Die Symbole
LEFT
, CENTER
und RIGHT
können anstelle
von -1, 0, 1
eingesetzt werden.
Normalerweise würde der \override
-Befehl benutzt werden, um
die Werte von self-alignment-X
zu verändern, aber der
\tweak
-Befehl kann benutzen, um verschiedene Anmerkungen
an einer einzigen Note auszurichten:
a' -\tweak #'self-alignment-X #-1 ^"left-aligned" -\tweak #'self-alignment-X #0 ^"center-aligned" -\tweak #'self-alignment-X #RIGHT ^"right-aligned" -\tweak #'self-alignment-X #-2.5 ^"aligned further to the right"
Objekte vertikal automatisch ausrichten
Objekte können auf ähnliche Weise auch vertikal aneinander
ausgerichtet werden, wenn ihre Y-offset
-Eigenschaft
auf ly:self-alignment-interface::y-aligned-on-self
gesetzt ist. Oft greifen jedoch auch andere Mechanismen
bei der vertikalen Ausrichtung ein: Der Wert von
Y-offset
ist nur eine der Variablen, die für die
Berechnung benutzt werden. Darum ist es kompliziert, den
Wert für einige Objekte richtig anzupassen. Die Einheiten
sind Halbe der vertikalen Ausdehnung des Objektes, welche
normalerweise recht klein ist, sodass ziemlich große Werte
erforderlich sein können. Der Wert -1
richtet die
untere Kante des Objekts am Referenzpunkt des Ursprungsobjektes
aus, der Wert 0
richtet die Mitte des Objekts am
Referenzpunkt des Ursprungsobjektes aus und der Wert 1
richtet die Oberkante des Objektes am Referenzpunkt des
Ursprungsobjektes aus. Die Symbole DOWN
, CENTER
und UP
können anstelle von -1, 0, 1
benutzt
werden.
Automatische Ausrichtung in beide Richtungen
Indem sowohl X-offset
als auch Y-offset
eingestllt
werden, kann ein Objekt gleichzeitig in beiden Richtungen ausgerichtet
werden.
Das folgende Beispiel zeigt, wie man eine Fingersatzanweisung so ausrichtet, dass sie nah am Notenkopf bleibt.
a -\tweak #'self-alignment-X #0.5 % move horizontally left -\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self -\tweak #'self-alignment-Y #-1 % move vertically up -3 % third finger
Benutzung des break-aligned-interface
Übungszeichen und Taktzahlen können an Notationsobjekten (ausschließlich
Taktstriche) ausgerichtet werden. Zu diesen Objekten gehören
ambitus
, breathing-sign
, clef
, custos
,
staff-bar
, left-edge
, key-cancellation
,
key-signature
und time-signature
.
Standardmäßig werden Übungszeichen und Taktzahlen horizontal über dem Objekt zentriert:
e1 % the RehearsalMark will be centered above the Clef \override Score.RehearsalMark #'break-align-symbols = #'(clef) \key a \major \clef treble \mark "↓" e % the RehearsalMark will be centered above the TimeSignature \override Score.RehearsalMark #'break-align-symbols = #'(time-signature) \key a \major \clef treble \time 3/4 \mark "↓" e2.
Eine Liste von möglichen Objekten zur Ausrichtung kann definiert
werden. Wenn eins dieser Objekte an der aktuellen Stelle unsichtbar
ist (etwa durch Einstellung von break-visibility
oder die
expliziten Sichtbarkeitseinstellungen von Taktart und Vorzeichen),
werden Übungszeichen und Taktzahlen an dem ersten Objekt in der
Liste ausgerichtet, dass sichtbar ist. Wenn keine Objekte in der
Liste sichtbar sind, wird das Objekt am Taktstrich ausgerichtet.
Wenn der Taktstrich unsichtbar ist, wird das Objekt an der Stelle
ausgerichtet, an der sich der Taktstrich befinden würde.
e1 % the RehearsalMark will be centered above the Key Signature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef) \key a \major \clef treble \mark "↓" e % the RehearsalMark will be centered above the Clef \set Staff.explicitKeySignatureVisibility = #all-invisible \override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef) \key a \minor \clef bass \mark "↓" e,
Die Ausrichtung des Übungszeichen relativ zum Notationsobjekt kann verändert werden, wie das nächste Beispiel zeigt. In einer Partitur mit vielen Systemen würde man diese Einstellung für alle Systeme vornehmen.
% The RehearsalMark will be centered above the KeySignature \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) \key a \major \clef treble \time 4/4 \mark "↓" e1 % The RehearsalMark will be aligned with the left edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT \mark "↓" \key a \major e % The RehearsalMark will be aligned with the right edge of the KeySignature \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT \key a \major \mark "↓" e
Das Übungszeichen kann auch nach rechts oder links um einen beliebigen Wert verschoben werden. Die Einheiten sind in Notenlinienzwischenräumen:
% The RehearsalMark will be aligned with the left edge of the KeySignature % and then shifted right by 3.5 staff-spaces \override Score.RehearsalMark #'break-align-symbols = #'(key-signature) \once \override Score.KeySignature #'break-align-anchor = #3.5 \key a \major \mark "↓" e % The RehearsalMark will be aligned with the left edge of the KeySignature % and then shifted left by 2 staff-spaces \once \override Score.KeySignature #'break-align-anchor = #-2 \key a \major \mark "↓" e
5.5.2 Vertikale Gruppierung der grafischen Objekte („grob“s)
Die graphischen Objekte VerticalAlignment
und
VerticalAxisGroup
funktionieren zusammen.
VerticalAxisGroup
gruppiert unterschiedliche Objekte
wie Notensysteme, Gesangstext usw. zusammen.
VerticalAlignment
richtet die unterschiedlichen
Objektgruppen dann aneinander aus. Es gibt normalerweise
nur ein VerticalAlignment
in einer Partitur, aber
jedes Notensystem, Gesangstext usw. hat eine eigene
VerticalAxisGroup
.
5.5.3 stencils verändern
Alle Layout-Objekte haben eine stencil
-(Stempel-)Eigenschaft,
die ein Teil von grob-interface
ist. Diese Eigenschaft
ist normalerweise als eine Funktion definiert, die auf das jweilige
Objekt angepasst ist und das Symbol erstellt, dass dann im Druckbild
erscheint. Beispielsweise die Standardeinstellung für die
stencil
-Eigenschaft von MultiMeasureRest
(Ganztaktpausenobjekt) ist ly:multi-measure-rest::print
.
Das Standardsymbol für jedes Objekt kann ersetzt werden, indem man
die stencil
-Eigenschaft verändert, sodass sie auf eine
andere, speziell geschriebene Prozedur verweist. Das erfordert
einen hohen Grad an Kenntnis der LilyPond-Interna, aber es gibt
einen einfacheren Weg, mit dem man oft vergleichbarere Ergebnisse
erzielen kann.
Dieser Weg besteht darin, die stencil
-Eigenschaft auf die
Prozedur zu verweisen, die Text ausgibt: ly:text-interface::print
und eine text
-Eigenschaft zu dem Objekt hinzuzufügen,
in welcher dann die Textbeschriftung definiert wird, mit der
das entsprechende Symbol dargestellt wird. Aufgrund der
Flexibilität der Textbeschriftung ist hier sehr viel möglich.
Siehe zu Details insbesondere
Graphische Notation innerhalb einer Textbeschriftung.
Das folgende Beispiel zeigt diese Methode, indem das Symbol der Notenköpfe in ein Kreuz innerhalb eines Kreises umgewandelt wird.
XinO = { \once \override NoteHead #'stencil = #ly:text-interface::print \once \override NoteHead #'text = \markup { \combine \halign #-0.7 \draw-circle #0.85 #0.2 ##f \musicglyph #"noteheads.s2cross" } } \relative c'' { a a \XinO a a }
Alle Schriftzeichen in der feta-Schriftart können
mit dem \musicglyph
-Befehl erreicht werden.
Siehe auch Die Feta-Schriftart.
Siehe auch
Notationsreferenz: Graphische Notation innerhalb einer Textbeschriftung, Text formatieren, Text markup commands, Die Feta-Schriftart.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < stencils verändern ] | [ Nach oben : Fortgeschrittene Optimierungen ] | [ Bögen verändern > ] |
5.5.4 Formen verändern
Bögen verändern |
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Notationsübersicht >> ] | ||
[ < Formen verändern ] | [ Nach oben : Formen verändern ] | [ Notationsübersicht > ] |
Bögen verändern
Binde-, Legato- und Phrasierungsbögen werden als Bézierkurven dritter Ordnung gezeichnet. Wenn die Form eines automatischen Bogens nicht optimal ist, kann sie manuell verändert werdne, indem man die vier erforderlichen Kontrollpunkte angibt.
Bézierkurven dritter Ordnung (auch als quadratische Bézierkurven bezeichnet) werden durch vier Kontrollpunkte definiert. Der erste und vierte Kontrollpunkt geben Beginn und Ende der Kurve an. Die zwei Punkte dazwischen werden benutzt, um die Form der Kurve zu bestimmen. Im Internet gibt es Animationen, die illustrieren, wie eine derartige Kurve gezeichnet wird, aber die folgende Beschreibung kann hilfreich sein. Die Kurve beginnt am ersten Kontrollpunkt in Richtung des zweiten, wobei sie sich schrittweise krümmt um zum dritten Kontrollpunkt zu gelangen, von wo aus sie sich weiter zum vierten Punkt hin krümmt. Die Form der Kurve wird vollständig von den vier Punkten definiert.
Hier ein Beispiel eines Falles, in dem der Bogen nicht optimal
erscheint, und wo auch \tieDown
das Problem nicht
lösen würde.
<< { e1 ~ e } \\ { r4 <g c,> <g c,> <g c,> } >>
Eine Möglichkeit, diesen Bogen zu verbessern, ist es, seine Kontrollpunkte manuell zu verändern:
Die Koordinaten von Bézierkontrollpunkten werden in Notenlinienzwischenräumen angegeben. Die X-Achse ist relativ zum Referenzpunkt der Note, an die der Bogen angefügt wird, und die Y-Achse relativ zur Mittellinie des Notensystems. Die Koordinaten werden als eine Liste von vier Paaren an realen Dezimalzahlen eingegeben. Eine Möglichkeit ist es, die Koordinaten der zwei Endpunkte zu schätzen und dann die zwei Zwischenpunkte zu erraten. Die optimalen Werte können nur durch Ausprobieren gefunden werden.
Es lohnt sich daran zu denken, dass eine symmtrische Kurve symmetrische Kontrollpunkte benötigt, und dass Bézierkurven die nützliche Eigenschaft haben, dass eine Transformation der Kurve wie eine Übersetzung, Drehung oder Skalierung der Kurve erreicht werden kann, indem man die gleiche Skalierung auf die Kontrollpunkte anwendet.
In dem obigen Beispiel geben folgende Werte einen zufriedenstellenden Bogen – Achtung: der Befehl muss direkt vor dem Beginn der Note gesetzt werden, an die der (Binde-)Bogen angehängt wird.
<< { \once \override Tie #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1)) e1 ~ e1 } \\ { r4 <g c,> <g c,> <g c,>4 } >>
Bekannte Probleme und Warnungen
Es ist nicht möglich, die Form von Bögen anhand ihrer
control-points
-Eigenschaft zu verändern, wenn
mehr als ein Bogen zum gleichen musikalischen Moment
auftritt, nicht einmal mit dem \tweak
-Befehl.
[ << Standardeinstellungen verändern ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Bögen verändern ] | [ Nach oben : Top ] | [ Liste der Akkordbezeichnungen > ] |
A. Notationsübersicht
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Notationsübersicht ] | [ Nach oben : Notationsübersicht ] | [ Übliche Akkord-Variablen > ] |
A.1 Liste der Akkordbezeichnungen
Die Tabelle zeigt die zwei üblichen Möglichkeiten, wie Akkordbezeichnungen ausgegeben werden. Es wird auch die entsprechende Note ausgegeben.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Liste der Akkordbezeichnungen ] | [ Nach oben : Notationsübersicht ] | [ > ] |
A.2 Übliche Akkord-Variablen
Die Tabelle zeigt Modifikatoren für Akkorde, die im \chordmode
-Modus
benutzt werden können, um übliche Akkordkonstrukte zu notieren.
Akkordtyp | Intervalle | Modifikator(en) | Beispiel |
Dur | große Terz, Quinte |
| |
Moll | kleine Terz, Quinte |
| |
Übermäßig | Große Terz, übermäßige Quinte |
| |
Vermindert | Kleine Terz, verminderte Quinte |
| |
Dominantsieben | Durdreiklang, kleine Septime |
| |
Große Septime | Durdreiklang, große Septime |
| |
Kleine Septime | Molldreiklang, kleine Septime |
| |
Verminderte Septime | Verminderter Dreiklang, verminderte Septime |
| |
Übermäßige Septime | Übermäßiger Dreiklang, kleine Septime |
| |
halbverminderte Septime | Verminderter Dreklang, kleine Sept |
| |
Kleine MollSept | Molldreiklang, große Septime |
| |
Große Sexte | Durdreiklang, Sexte |
| |
Kleine Sexte | Molldreiklang, Sexte |
| |
Dominantnone | Dominantsept, große None |
| |
Dur None | Große None, große Septime |
| |
Moll None | Große None, kleine Septime |
| |
Dominantundezime | Dominantnone, perfekte Undezime |
| |
Durundezime | Große None, perfekte Undezime |
| |
Mollundezime | Kleine None, perfekte Undezime |
| |
Dominant-13 | Dominantnone, große 13 |
| |
Dominant-13 | Dominant-Undezime, große 13 |
| |
Dur-13 | Große Undezime, große 13 |
| |
Moll-13 | Kleine Undezime, große 13 |
| |
Sekundakkord | große Sekunde, perfekte Quinte |
| |
Quartakkord | perfekte Quarte, perfekte Quinte |
|
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Übliche Akkord-Variablen ] | [ Nach oben : Notationsübersicht ] | [ MIDI-Instrumente > ] |
A.3 Vordefinierte Bund-Diagramme
Die Tabelle zeigt alle vordefinierten Bunddiagramme.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < ] | [ Nach oben : Notationsübersicht ] | [ Liste der Farben > ] |
A.4 MIDI-Instrumente
Hier eine Liste von Musikinstrumentenbezeichnungen, die als Name für
midiInstrument
benutzt werden können.
acoustic grand contrabass lead 7 (fifths) bright acoustic tremolo strings lead 8 (bass+lead) electric grand pizzicato strings pad 1 (new age) honky-tonk orchestral harp pad 2 (warm) electric piano 1 timpani pad 3 (polysynth) electric piano 2 string ensemble 1 pad 4 (choir) harpsichord string ensemble 2 pad 5 (bowed) clav synthstrings 1 pad 6 (metallic) celesta synthstrings 2 pad 7 (halo) glockenspiel choir aahs pad 8 (sweep) music box voice oohs fx 1 (rain) vibraphone synth voice fx 2 (soundtrack) marimba orchestra hit fx 3 (crystal) xylophone trumpet fx 4 (atmosphere) tubular bells trombone fx 5 (brightness) dulcimer tuba fx 6 (goblins) drawbar organ muted trumpet fx 7 (echoes) percussive organ french horn fx 8 (sci-fi) rock organ brass section sitar church organ synthbrass 1 banjo reed organ synthbrass 2 shamisen accordion soprano sax koto harmonica alto sax kalimba concertina tenor sax bagpipe acoustic guitar (nylon) baritone sax fiddle acoustic guitar (steel) oboe shanai electric guitar (jazz) english horn tinkle bell electric guitar (clean) bassoon agogo electric guitar (muted) clarinet steel drums overdriven guitar piccolo woodblock distorted guitar flute taiko drum guitar harmonics recorder melodic tom acoustic bass pan flute synth drum electric bass (finger) blown bottle reverse cymbal electric bass (pick) shakuhachi guitar fret noise fretless bass whistle breath noise slap bass 1 ocarina seashore slap bass 2 lead 1 (square) bird tweet synth bass 1 lead 2 (sawtooth) telephone ring synth bass 2 lead 3 (calliope) helicopter violin lead 4 (chiff) applause viola lead 5 (charang) gunshot cello lead 6 (voice)
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < MIDI-Instrumente ] | [ Nach oben : Notationsübersicht ] | [ Die Feta-Schriftart > ] |
A.5 Liste der Farben
Normale Farben
Die Syntax zur Benutzung findet sich im Abschnitt Farbige Objekte.
black white red green blue cyan magenta yellow grey darkred darkgreen darkblue darkcyan darkmagenta darkyellow
X-Farbbezeichnungen
X-Farbbezeichnungen haben verschiedene Varianten:
Alle Bezeichnungen, die als einziges Wort mit Großbuchstaben geschrieben werden (bspw. ‚LightSlateBlue‘), können auch von Leerzeichen getrennt geschrieben werden (also ‚light slate blue‘).
Das Wort ‚grey‘ kann in jedem Fall auch ‚gray‘ geschrieben werden (bspw. ‚DarkSlateGray‘).
Manche Bezeichnungen können auch ein numerales Suffix tragen (etwa ‚LightSalmon4‘).
Farben ohne eine numerale Endung
snow GhostWhite WhiteSmoke gainsboro FloralWhite OldLace linen AntiqueWhite PapayaWhip BlanchedAlmond bisque PeachPuff NavajoWhite moccasin cornsilk ivory LemonChiffon seashell honeydew MintCream azure AliceBlue lavender LavenderBlush MistyRose white black DarkSlateGrey DimGrey SlateGrey LightSlateGrey grey LightGrey MidnightBlue navy NavyBlue CornflowerBlue DarkSlateBlue SlateBlue MediumSlateBlue LightSlateBlue MediumBlue RoyalBlue blue DodgerBlue DeepSkyBlue SkyBlue LightSkyBlue SteelBlue LightSteelBlue LightBlue PowderBlue PaleTurquoise DarkTurquoise MediumTurquoise turquoise cyan LightCyan CadetBlue MediumAquamarine aquamarine DarkGreen DarkOliveGreen DarkSeaGreen SeaGreen MediumSeaGreen LightSeaGreen PaleGreen SpringGreen LawnGreen green chartreuse MediumSpringGreen GreenYellow LimeGreen YellowGreen ForestGreen OliveDrab DarkKhaki khaki PaleGoldenrod LightGoldenrodYellow LightYellow yellow gold LightGoldenrod goldenrod DarkGoldenrod RosyBrown IndianRed SaddleBrown sienna peru burlywood beige wheat SandyBrown tan chocolate firebrick brown DarkSalmon salmon LightSalmon orange DarkOrange coral LightCoral tomato OrangeRed red HotPink DeepPink pink LightPink PaleVioletRed maroon MediumVioletRed VioletRed magenta violet plum orchid MediumOrchid DarkOrchid DarkViolet BlueViolet purple MediumPurple thistle DarkGrey DarkBlue DarkCyan DarkMagenta DarkRed LightGreen
Farben mit einer numeralen Endung
Für die folgenden Bezeichnungen kann das Suffix N durch eine Zahl von 1–4 ersetzt werden.
snowN seashellN AntiqueWhiteN bisqueN PeachPuffN NavajoWhiteN LemonChiffonN cornsilkN ivoryN honeydewN LavenderBlushN MistyRoseN azureN SlateBlueN RoyalBlueN blueN DodgerBlueN SteelBlueN DeepSkyBlueN SkyBlueN LightSkyBlueN LightSteelBlueN LightBlueN LightCyanN PaleTurquoiseN CadetBlueN turquoiseN cyanN aquamarineN DarkSeaGreenN SeaGreenN PaleGreenN SpringGreenN greenN chartreuseN OliveDrabN DarkOliveGreenN khakiN LightGoldenrodN LightYellowN yellowN goldN goldenrodN DarkGoldenrodN RosyBrownN IndianRedN siennaN burlywoodN wheatN tanN chocolateN firebrickN brownN salmonN LightSalmonN orangeN DarkOrangeN coralN tomatoN OrangeRedN redN DeepPinkN HotPinkN pinkN LightPinkN PaleVioletRedN maroonN VioletRedN magentaN orchidN plumN MediumOrchidN DarkOrchidN purpleN MediumPurpleN thistleN
Grauskala
Eine Grauskala kann mit der Bezeichnung
greyN
erstellt werden, wobei N eine Zahl von 0–100 darstellt.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Liste der Farben ] | [ Nach oben : Notationsübersicht ] | [ Notenschlüssel-Glyphen > ] |
A.6 Die Feta-Schriftart
Die folgenden Symbole sind als Emmentaler-Schriftart verfügbar; auf sie
kann direkt zugegriffen werden, indem man die übliche Textbeschriftung
benutzt. \musicglyph
greift direkt auf die Notationsschriftart
zu (bspw. g^\markup {
\musicglyph #"scripts.segno" }
). Siehe auch Text formatieren.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Die Feta-Schriftart ] | [ Nach oben : Die Feta-Schriftart ] | [ Taktart-Glyphen > ] |
Notenschlüssel-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Notenschlüssel-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Zahlen-Glyphen > ] |
Taktart-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Taktart-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Versetzungszeichen-Glyphen > ] |
Zahlen-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Zahlen-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Standard-Notenkopf-Glyphen > ] |
Versetzungszeichen-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Versetzungszeichen-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Spezielle Notenkopf-Glyphen > ] |
Standard-Notenkopf-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Standard-Notenkopf-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Geformte Notenkopf-Glyphen > ] |
Spezielle Notenkopf-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Spezielle Notenkopf-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Pausen-Glyphen > ] |
Geformte Notenkopf-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Geformte Notenkopf-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Fähnchen-Glyphen > ] |
Pausen-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Pausen-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Punkt-Glyphen > ] |
Fähnchen-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Fähnchen-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Dynamik-Glyphen > ] |
Punkt-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Punkt-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Schrift-Glyphen > ] |
Dynamik-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Dynamik-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Pfeilkopf-Glyphen > ] |
Schrift-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Schrift-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Klammerspitzen-Glyphen > ] |
Pfeilkopf-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Pfeilkopf-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Pedal-Glyphen > ] |
Klammerspitzen-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Klammerspitzen-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Akkordion-Glyphen > ] |
Pedal-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Pedal-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Vaticana-Glyphen > ] |
Akkordion-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Akkordion-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Medicaea-Glyphen > ] |
Vaticana-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Vaticana-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Hufnagel-Glyphen > ] |
Medicaea-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Medicaea-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Mensural-Glyphen > ] |
Hufnagel-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Hufnagel-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Neomensural-Glyphen > ] |
Mensural-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Mensural-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Petrucci-Glyphen > ] |
Neomensural-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Neomensural-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Solesmes-Glyphen > ] |
Petrucci-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Petrucci-Glyphen ] | [ Nach oben : Die Feta-Schriftart ] | [ Notenkopfstile > ] |
Solesmes-Glyphen
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Solesmes-Glyphen ] | [ Nach oben : Notationsübersicht ] | [ Text markup commands > ] |
A.7 Notenkopfstile
Folgende Stile können zur Darstellung der Notenköpfe verwendet werden:
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Notenkopfstile ] | [ Nach oben : Notationsübersicht ] | [ Font > ] |
A.8 Text markup commands
The following commands can all be used inside \markup { }
.
A.8.1 Font | ||
A.8.2 Align | ||
A.8.3 Graphic | ||
A.8.4 Music | ||
A.8.5 Instrument Specific Markup | ||
A.8.6 Other |
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Text markup commands ] | [ Nach oben : Text markup commands ] | [ Align > ] |
A.8.1 Font
-
\abs-fontsize
size (number) arg (markup) -
Use size as the absolute font size to display arg. Adjusts
baseline-skip
andword-space
accordingly.\markup { default text font size \hspace #2 \abs-fontsize #16 { text font size 16 } \hspace #2 \abs-fontsize #12 { text font size 12 } }
-
\bold
arg (markup) -
Switch to bold font-series.
\markup { default \hspace #2 \bold bold }
-
\box
arg (markup) -
Draw a box round arg. Looks at
thickness
,box-padding
andfont-size
properties to determine line thickness and padding around the markup.\markup { \override #'(box-padding . 0.5) \box \line { V. S. } }
Used properties:
-
box-padding
(0.2) -
font-size
(0) -
thickness
(1)
-
-
\caps
arg (markup) -
Copy of the
\smallCaps
command.\markup { default \hspace #2 \caps { Text in small caps } }
-
\dynamic
arg (markup) -
Use the dynamic font. This font only contains s, f, m, z, p, and r. When producing phrases, like ‚più f‘, the normal words (like ‚più‘) should be done in a different font. The recommended font for this is bold and italic.
\markup { \dynamic { sfzp } }
-
\finger
arg (markup) -
Set arg as small numbers.
\markup { \finger { 1 2 3 4 5 } }
-
\fontCaps
arg (markup) -
Set
font-shape
tocaps
Note:
\fontCaps
requires the installation and selection of fonts which support thecaps
font shape. -
\fontsize
increment (number) arg (markup) -
Add increment to the font-size. Adjusts
baseline-skip
accordingly.\markup { default \hspace #2 \fontsize #-1.5 smaller }
Used properties:
-
baseline-skip
(2) -
word-space
(1) -
font-size
(0)
-
-
\huge
arg (markup) -
Set font size to +2.
\markup { default \hspace #2 \huge huge }
-
\italic
arg (markup) -
Use italic
font-shape
for arg.\markup { default \hspace #2 \italic italic }
-
\large
arg (markup) -
Set font size to +1.
\markup { default \hspace #2 \large large }
-
\larger
arg (markup) -
Increase the font size relative to the current setting.
\markup { default \hspace #2 \larger larger }
-
\magnify
sz (number) arg (markup) -
Set the font magnification for its argument. In the following example, the middle A is 10% larger:
A \magnify #1.1 { A } A
Note: Magnification only works if a font name is explicitly selected. Use
\fontsize
otherwise.\markup { default \hspace #2 \magnify #1.5 { 50% larger } }
-
\medium
arg (markup) -
Switch to medium font-series (in contrast to bold).
\markup { \bold { some bold text \hspace #2 \medium { medium font series } \hspace #2 bold again } }
-
\normal-size-sub
arg (markup) -
Set arg in subscript with a normal font size.
\markup { default \normal-size-sub { subscript in standard size } }
Used properties:
-
baseline-skip
-
-
\normal-size-super
arg (markup) -
Set arg in superscript with a normal font size.
\markup { default \normal-size-super { superscript in standard size } }
Used properties:
-
baseline-skip
-
-
\normal-text
arg (markup) -
Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.
\markup { \huge \bold \sans \caps { Some text with font overrides \hspace #2 \normal-text { Default text, same font-size } \hspace #2 More text as before } }
-
\normalsize
arg (markup) -
Set font size to default.
\markup { \teeny { this is very small \hspace #2 \normalsize { normal size } \hspace #2 teeny again } }
-
\number
arg (markup) -
Set font family to
number
, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.\markup { \number { 0 1 2 3 4 5 6 7 8 9 . , } }
-
\roman
arg (markup) -
Set font family to
roman
.\markup { \sans \bold { sans serif, bold \hspace #2 \roman { text in roman font family } \hspace #2 return to sans } }
-
\sans
arg (markup) -
Switch to the sans serif font family.
\markup { default \hspace #2 \sans { sans serif } }
-
\simple
str (string) -
A simple text string;
\markup { foo }
is equivalent with\markup { \simple #"foo" }
.Note: for creating standard text markup or defining new markup commands, the use of
\simple
is unnecessary.\markup { \simple #"simple" \simple #"text" \simple #"strings" }
-
\small
arg (markup) -
Set font size to -1.
\markup { default \hspace #2 \small small }
-
\smallCaps
arg (markup) -
Emit arg as small caps.
Note:
\smallCaps
does not support accented characters.\markup { default \hspace #2 \smallCaps { Text in small caps } }
-
\smaller
arg (markup) -
Decrease the font size relative to the current setting.
\markup { \fontsize #3.5 { some large text \hspace #2 \smaller { a bit smaller } \hspace #2 more large text } }
-
\sub
arg (markup) -
Set arg in subscript.
\markup { \concat { H \sub { 2 } O } }
Used properties:
-
baseline-skip
-
font-size
(0)
-
-
\super
arg (markup) -
Set arg in superscript.
\markup { E = \concat { mc \super 2 } }
Used properties:
-
baseline-skip
-
font-size
(0)
-
-
\teeny
arg (markup) -
Set font size to -3.
\markup { default \hspace #2 \teeny teeny }
-
\text
arg (markup) -
Use a text font instead of music symbol or music alphabet font.
\markup { \number { 1, 2, \text { three, four, } 5 } }
-
\tiny
arg (markup) -
Set font size to -2.
\markup { default \hspace #2 \tiny tiny }
-
\typewriter
arg (markup) -
Use
font-family
typewriter for arg.\markup { default \hspace #2 \typewriter typewriter }
-
\underline
arg (markup) -
Underline arg. Looks at
thickness
to determine line thickness and y-offset.\markup { default \hspace #2 \override #'(thickness . 2) \underline { underline } }
Used properties:
-
thickness
(1)
-
-
\upright
arg (markup) -
Set
font-shape
toupright
. This is the opposite ofitalic
.\markup { \italic { italic text \hspace #2 \upright { upright text } \hspace #2 italic again } }
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Font ] | [ Nach oben : Text markup commands ] | [ Graphic > ] |
A.8.2 Align
-
\center-align
arg (markup) -
Align
arg
to its X center.\markup { \column { one \center-align two three } }
-
\center-column
args (markup list) -
Put
args
in a centered column.\markup { \center-column { one two three } }
Used properties:
-
baseline-skip
-
-
\column
args (markup list) -
Stack the markups in args vertically. The property
baseline-skip
determines the space between markups in args.\markup { \column { one two three } }
Used properties:
-
baseline-skip
-
-
\combine
arg1 (markup) arg2 (markup) -
Print two markups on top of each other.
Note:
\combine
cannot take a list of markups enclosed in curly braces as an argument; the follow example will not compile:\combine { a list }
\markup { \fontsize #5 \override #'(thickness . 2) \combine \draw-line #'(0 . 4) \arrow-head #Y #DOWN ##f }
-
\concat
args (markup list) -
Concatenate args in a horizontal line, without spaces in between. Strings and simple markups are concatenated on the input level, allowing ligatures. For example,
\concat { "f" \simple #"i" }
is equivalent to"fi"
.\markup { \concat { one two three } }
-
\dir-column
args (markup list) -
Make a column of args, going up or down, depending on the setting of the
direction
layout property.\markup { \override #`(direction . ,UP) { \dir-column { going up } } \hspace #1 \dir-column { going down } \hspace #1 \override #'(direction . 1) { \dir-column { going up } } }
Used properties:
-
baseline-skip
-
direction
-
-
\fill-line
args (markup list) -
Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.
\markup { \column { \fill-line { Words evenly spaced across the page } \null \fill-line { \line { Text markups } \line { \italic { evenly spaced } } \line { across the page } } } }
Used properties:
-
line-width
(#f) -
word-space
(1) -
text-direction
(1)
-
-
\general-align
axis (integer) dir (number) arg (markup) -
Align arg in axis direction to the dir side.
\markup { \column { one \general-align #X #LEFT two three \null one \general-align #X #CENTER two three \null \line { one \general-align #Y #UP two three } \null \line { one \general-align #Y #3.2 two three } } }
-
\halign
dir (number) arg (markup) -
Set horizontal alignment. If dir is
-1
, then it is left-aligned, while+1
is right. Values in between interpolate alignment accordingly.\markup { \column { one \halign #LEFT two three \null one \halign #CENTER two three \null one \halign #RIGHT two three \null one \halign #-5 two three } }
-
\hcenter-in
length (number) arg (markup) -
Center arg horizontally within a box of extending length/2 to the left and right.
\new StaffGroup << \new Staff { \set Staff.instrumentName = \markup { \hcenter-in #12 Oboe } c''1 } \new Staff { \set Staff.instrumentName = \markup { \hcenter-in #12 Bassoon } \clef tenor c'1 } >>
-
\hspace
amount (number) -
Create an invisible object taking up horizontal space amount.
\markup { one \hspace #2 two \hspace #8 three }
-
\justify-field
symbol (symbol) -
Justify the data which has been assigned to symbol.
\header { title = "My title" myText = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." } \paper { bookTitleMarkup = \markup { \column { \fill-line { \fromproperty #'header:title } \null \justify-field #'header:myText } } } \markup { \null }
-
\justify
args (markup list) -
Like
\wordwrap
, but with lines stretched to justify the margins. Use\override #'(line-width . X)
to set the line width; X is the number of staff spaces.\markup { \justify { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. } }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\justify-string
arg (string) -
Justify a string. Paragraphs may be separated with double newlines
\markup { \override #'(line-width . 40) \justify-string #"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
-
baseline-skip
-
-
\left-align
arg (markup) -
Align arg on its left edge.
\markup { \column { one \left-align two three } }
-
\left-column
args (markup list) -
Put
args
in a left-aligned column.\markup { \left-column { one two three } }
Used properties:
-
baseline-skip
-
-
\line
args (markup list) -
Put args in a horizontal line. The property
word-space
determines the space between markups in args.\markup { \line { one two three } }
Used properties:
-
text-direction
(1) -
word-space
-
-
\lower
amount (number) arg (markup) -
Lower arg by the distance amount. A negative amount indicates raising; see also
\raise
.\markup { one \lower #3 two three }
-
\pad-around
amount (number) arg (markup) -
Add padding amount all around arg.
\markup { \box { default } \hspace #2 \box { \pad-around #0.5 { padded } } }
-
\pad-markup
amount (number) arg (markup) -
Add space around a markup object.
\markup { \box { default } \hspace #2 \box { \pad-markup #1 { padded } } }
-
\pad-to-box
x-ext (pair of numbers) y-ext (pair of numbers) arg (markup) -
Make arg take at least x-ext, y-ext space.
\markup { \box { default } \hspace #4 \box { \pad-to-box #'(0 . 10) #'(0 . 3) { padded } } }
-
\pad-x
amount (number) arg (markup) -
Add padding amount around arg in the X direction.
\markup { \box { default } \hspace #4 \box { \pad-x #2 { padded } } }
-
\put-adjacent
axis (integer) dir (direction) arg1 (markup) arg2 (markup) -
Put arg2 next to arg1, without moving arg1.
-
\raise
amount (number) arg (markup) -
Raise arg by the distance amount. A negative amount indicates lowering, see also
\lower
.The argument to
\raise
is the vertical displacement amount, measured in (global) staff spaces.\raise
and\super
raise objects in relation to their surrounding markups.If the text object itself is positioned above or below the staff, then
\raise
cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with\raise
. For vertical positioning, use thepadding
and/orextra-offset
properties.\markup { C \small \bold \raise #1.0 9/7+ }
-
\right-align
arg (markup) -
Align arg on its right edge.
\markup { \column { one \right-align two three } }
-
\right-column
args (markup list) -
Put
args
in a right-aligned column.\markup { \right-column { one two three } }
Used properties:
-
baseline-skip
-
-
\rotate
ang (number) arg (markup) -
Rotate object with ang degrees around its center.
\markup { default \hspace #2 \rotate #45 \line { rotated 45° } }
-
\translate
offset (pair of numbers) arg (markup) -
Translate arg relative to its surroundings. offset is a pair of numbers representing the displacement in the X and Y axis.
\markup { * \translate #'(2 . 3) \line { translated two spaces right, three up } }
-
\translate-scaled
offset (pair of numbers) arg (markup) -
Translate arg by offset, scaling the offset by the
font-size
.\markup { \fontsize #5 { * \translate #'(2 . 3) translate \hspace #2 * \translate-scaled #'(2 . 3) translate-scaled } }
Used properties:
-
font-size
(0)
-
-
\vcenter
arg (markup) -
Align
arg
to its Y center.\markup { one \vcenter two three }
-
\vspace
amount (number) -
Create an invisible object taking up vertical space of amount multiplied by 3.
\markup { \center-column { one \vspace #2 two \vspace #5 three } }
-
\wordwrap-field
symbol (symbol) -
Wordwrap the data which has been assigned to symbol.
\header { title = "My title" myText = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat." } \paper { bookTitleMarkup = \markup { \column { \fill-line { \fromproperty #'header:title } \null \wordwrap-field #'header:myText } } } \markup { \null }
-
\wordwrap
args (markup list) -
Simple wordwrap. Use
\override #'(line-width . X)
to set the line width, where X is the number of staff spaces.\markup { \wordwrap { Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. } }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\wordwrap-string
arg (string) -
Wordwrap a string. Paragraphs may be separated with double newlines.
\markup { \override #'(line-width . 40) \wordwrap-string #"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum" }
Used properties:
-
text-direction
(1) -
word-space
-
line-width
-
baseline-skip
-
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Align ] | [ Nach oben : Text markup commands ] | [ Music > ] |
A.8.3 Graphic
-
\arrow-head
axis (integer) dir (direction) filled (boolean) -
Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.
\markup { \fontsize #5 { \general-align #Y #DOWN { \arrow-head #Y #UP ##t \arrow-head #Y #DOWN ##f \hspace #2 \arrow-head #X #RIGHT ##f \arrow-head #X #LEFT ##f } } }
-
\beam
width (number) slope (number) thickness (number) -
Create a beam with the specified parameters.
\markup { \beam #5 #1 #2 }
-
\bracket
arg (markup) -
Draw vertical brackets around arg.
\markup { \bracket { \note #"2." #UP } }
-
\circle
arg (markup) -
Draw a circle around arg. Use
thickness
,circle-padding
andfont-size
properties to determine line thickness and padding around the markup.\markup { \circle { Hi } }
Used properties:
-
circle-padding
(0.2) -
font-size
(0) -
thickness
(1)
-
-
\draw-circle
radius (number) thickness (number) filled (boolean) -
A circle of radius radius and thickness thickness, optionally filled.
\markup { \draw-circle #2 #0.5 ##f \hspace #2 \draw-circle #2 #0 ##t }
-
\draw-line
dest (pair of numbers) -
A simple line.
\markup { \draw-line #'(4 . 4) \override #'(thickness . 5) \draw-line #'(-3 . 0) }
Used properties:
-
thickness
(1)
-
-
\epsfile
axis (number) size (number) file-name (string) -
Inline an EPS image. The image is scaled along axis to size.
\markup { \general-align #Y #DOWN { \epsfile #X #20 #"context-example.eps" \epsfile #Y #20 #"context-example.eps" } }
-
\filled-box
xext (pair of numbers) yext (pair of numbers) blot (number) -
Draw a box with rounded corners of dimensions xext and yext. For example,
\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0
creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).
\markup { \filled-box #'(0 . 4) #'(0 . 4) #0 \filled-box #'(0 . 2) #'(-4 . 2) #0.4 \filled-box #'(1 . 8) #'(0 . 7) #0.2 \with-color #white \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7 }
-
\hbracket
arg (markup) -
Draw horizontal brackets around arg.
\markup { \hbracket { \line { one two three } } }
-
\parenthesize
arg (markup) -
Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.
\markup { \line { \parenthesize { \column { foo bar } } \override #'(angularity . 2) { \parenthesize { \column { bah baz } } } } }
Used properties:
-
width
(0.25) -
thickness
(1) -
size
(1) -
padding
-
angularity
(0)
-
-
\postscript
str (string) -
This inserts str directly into the output as a PostScript command string.
ringsps = #" 0.15 setlinewidth 0.9 0.6 moveto 0.4 0.6 0.5 0 361 arc stroke 1.0 0.6 0.5 0 361 arc stroke " rings = \markup { \with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2) \postscript #ringsps } \relative c'' { c2^\rings a2_\rings }
-
\rounded-box
arg (markup) -
Draw a box with rounded corners around arg. Looks at
thickness
,box-padding
andfont-size
properties to determine line thickness and padding around the markup; thecorner-radius
property makes it possible to define another shape for the corners (default is 1).c4^\markup { \rounded-box { Overtura } } c,8. c16 c4 r
Used properties:
-
box-padding
(0.5) -
font-size
(0) -
corner-radius
(1) -
thickness
(1)
-
-
\triangle
filled (boolean) -
A triangle, either filled or empty.
\markup { \triangle ##t \hspace #2 \triangle ##f }
Used properties:
-
baseline-skip
(2) -
font-size
(0) -
thickness
(0.1)
-
-
\with-url
url (string) arg (markup) -
Add a link to URL url around arg. This only works in the PDF backend.
\markup { \with-url #"http://lilypond.org/web/" { LilyPond ... \italic { music notation for everyone } } }
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Graphic ] | [ Nach oben : Text markup commands ] | [ Instrument Specific Markup > ] |
A.8.4 Music
-
\customTabClef
num-strings (integer) staff-space (number) -
Draw a tab clef sans-serif style.
-
\doubleflat
-
Draw a double flat symbol.
\markup { \doubleflat }
-
\doublesharp
-
Draw a double sharp symbol.
\markup { \doublesharp }
-
\flat
-
Draw a flat symbol.
\markup { \flat }
-
\musicglyph
glyph-name (string) -
glyph-name is converted to a musical symbol; for example,
\musicglyph #"accidentals.natural"
selects the natural sign from the music font. See The Feta font for a complete listing of the possible glyphs.\markup { \musicglyph #"f" \musicglyph #"rests.2" \musicglyph #"clefs.G_change" }
-
\natural
-
Draw a natural symbol.
\markup { \natural }
-
\note-by-number
log (number) dot-count (number) dir (number) -
Construct a note symbol, with stem. By using fractional values for dir, longer or shorter stems can be obtained.
\markup { \note-by-number #3 #0 #DOWN \hspace #2 \note-by-number #1 #2 #0.8 }
Used properties:
-
style
(’()) -
font-size
(0)
-
-
\note
duration (string) dir (number) -
This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example,
\note #"4." #-0.75
creates a dotted quarter note, with a shortened down stem.\markup { \override #'(style . cross) { \note #"4.." #UP } \hspace #2 \note #"breve" #0 }
Used properties:
-
style
(’()) -
font-size
(0)
-
-
\score
score (score) -
Inline an image of music.
\markup { \score { \new PianoStaff << \new Staff \relative c' { \key f \major \time 3/4 \mark \markup { Allegro } f2\p( a4) c2( a4) bes2( g'4) f8( e) e4 r } \new Staff \relative c { \clef bass \key f \major \time 3/4 f8( a c a c a f c' es c es c) f,( bes d bes d bes) f( g bes g bes g) } >> \layout { indent = 0.0\cm \context { \Score \override RehearsalMark #'break-align-symbols = #'(time-signature key-signature) \override RehearsalMark #'self-alignment-X = #LEFT } \context { \Staff \override TimeSignature #'break-align-anchor-alignment = #LEFT } } } }
Used properties:
-
baseline-skip
-
-
\semiflat
-
Draw a semiflat symbol.
\markup { \semiflat }
-
\semisharp
-
Draw a semisharp symbol.
\markup { \semisharp }
-
\sesquiflat
-
Draw a 3/2 flat symbol.
\markup { \sesquiflat }
-
\sesquisharp
-
Draw a 3/2 sharp symbol.
\markup { \sesquisharp }
-
\sharp
-
Draw a sharp symbol.
\markup { \sharp }
-
\tied-lyric
str (string) -
Like simple-markup, but use tie characters for ‚~‘ tilde symbols.
\markup { \tied-lyric #"Lasciate~i monti" }
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Music ] | [ Nach oben : Text markup commands ] | [ Other > ] |
A.8.5 Instrument Specific Markup
-
\fret-diagram
definition-string (string) -
Make a (guitar) fret diagram. For example, say
\markup \fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"
for fret spacing 3/4 of staff space, D chord diagram
Syntax rules for definition-string:
- - Diagram items are separated by semicolons.
- -
Possible items:
-
s:
number – Set the fret spacing of the diagram (in staff spaces). Default: 1. -
t:
number – Set the line thickness (in staff spaces). Default: 0.05. -
h:
number – Set the height of the diagram in frets. Default: 4. -
w:
number – Set the width of the diagram in strings. Default: 6. -
f:
number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0. -
d:
number – Set radius of dot, in terms of fret spacing. Default: 0.25. -
p:
number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6. -
c:
string1-
string2-
fret – Include a barre mark from string1 to string2 on fret. -
string
-
fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted. -
string
-
fret-
fingering – Place a dot on string at fret, and label with fingering as defined by thef:
code.
-
- - Note: There is no limit to the number of fret indications per string.
Used properties:
-
thickness
(0.5) -
fret-diagram-details
-
size
(1.0) -
align-dir
(-0.4)
-
\fret-diagram-terse
definition-string (string) -
Make a fret diagram markup using terse string-based syntax.
Here is an example
\markup \fret-diagram-terse #"x;x;o;2;3;2;"
for a D chord diagram.
Syntax rules for definition-string:
- Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.
- Mute strings are indicated by ‘x’.
- Open strings are indicated by ‘o’.
- A number indicates a fret indication at that fret.
- If there are multiple fret indicators desired on a string, they should be separated by spaces.
-
Fingerings are given by following the fret number with a
-
, followed by the finger indicator, e.g. ‘3-2’ for playing the third fret with the second finger. -
Where a barre indicator is desired, follow the fret (or fingering) symbol
with
-(
to start a barre and-)
to end the barre.
Used properties:
-
thickness
(0.5) -
fret-diagram-details
-
size
(1.0) -
align-dir
(-0.4)
-
\fret-diagram-verbose
marking-list (pair) -
Make a fret diagram containing the symbols indicated in marking-list.
For example,
\markup \fret-diagram-verbose #'((mute 6) (mute 5) (open 4) (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))
produces a standard D chord diagram without fingering indications.
Possible elements in marking-list:
-
(mute string-number)
Place a small ‚x‘ at the top of string string-number.
-
(open string-number)
Place a small ‚o‘ at the top of string string-number.
-
(barre start-string end-string fret-number)
Place a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.
-
(capo fret-number)
Place a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.
-
(place-fret string-number fret-number finger-value)
Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value. By default, the fret playing indicator is a solid dot. This can be changed by setting the value of the variable dot-color. If the finger part of the
place-fret
element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.
Used properties:
-
thickness
(0.5) -
fret-diagram-details
-
size
(1.0) -
align-dir
(-0.4)
-
-
\harp-pedal
definition-string (string) -
Make a harp pedal diagram.
Possible elements in definition-string:
-
^
pedal is up
-
-
pedal is neutral
-
v
pedal is down
-
|
vertical divider line
-
o
the following pedal should be circled (indicating a change)
The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.
The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (
\override Voice.TextScript #'size = #0.3
) for the overall, the thickness property (\override Voice.TextScript #'thickness = #3
) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\override Voice.TextScript #'harp-pedal-details #'box-width = #1
). It contains the following settings:box-offset
(vertical shift of the box center for up/down pedals),box-width
,box-height
,space-before-divider
(the spacing between two boxes before the divider) andspace-after-divider
(box spacing after the divider).\markup \harp-pedal #"^-v|--ov^"
Used properties:
-
thickness
(0.5) -
harp-pedal-details
(’()) -
size
(1.2)
-
-
\woodwind-diagram
instrument (symbol) input-list (list) -
Make a woodwind-instrument diagram. For example, say
\markup \woodwind-diagram #'oboe #'(1.4 0.1 #t ((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis))))
for an oboe with the left-hand d key, left-hand ees key, and right-hand gis key depressed while the five-hole of the central column effectuates a trill between 1/4 and 3/4 closed.
The following instruments are supported:
- - piccolo
- - flute
- - oboe
- - clarinet
- - bass-clarinet
- - saxophone
- - bassoon
- - contrabassoon
To see all of the callable keys for a given instrument, include the function
(print-keys 'instrument)
in your .ly file, where instrument is the instrument whose keys you want to print.Certain keys allow for special configurations. The entire gamut of configurations possible is as follows:
- - 1q (1/4 covered)
- - 1h (1/2 covered)
- - 3q (3/4 covered)
- - R (ring depressed)
- - F (fully covered; the default if no state put)
Additionally, these configurations can be used in trills. So, for example,
three3qTR
effectuates a trill between 3/4 full and ring depressed on the three hole. As another example,threeRT
effectuates a trill between R and open, whereasthreeTR
effectuates a trill between open and shut. To see all of the possibilities for all of the keys of a given instrument, invoke(print-keys-verbose 'instrument)
.Lastly, substituting an empty list for the pressed-key alist will result in a diagram with all of the keys drawn but none filled. ie...
\markup \woodwind-diagram #'oboe #'(1.4 0.1 #t ())
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Instrument Specific Markup ] | [ Nach oben : Text markup commands ] | [ Text markup list commands > ] |
A.8.6 Other
-
\backslashed-digit
num (integer) -
A feta number, with backslash. This is for use in the context of figured bass notation.
\markup { \backslashed-digit #5 \hspace #2 \override #'(thickness . 3) \backslashed-digit #7 }
Used properties:
-
thickness
(1.6) -
font-size
(0)
-
-
\char
num (integer) -
Produce a single character. Characters encoded in hexadecimal format require the prefix
#x
.\markup { \char #65 \char ##x00a9 }
-
\eyeglasses
-
Prints out eyeglasses, indicating strongly to look at the conductor.
\markup { \eyeglasses }
-
\fraction
arg1 (markup) arg2 (markup) -
Make a fraction of two markups.
\markup { π ≈ \fraction 355 113 }
Used properties:
-
font-size
(0)
-
-
\fromproperty
symbol (symbol) -
Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.
\header { myTitle = "myTitle" title = \markup { from \italic \fromproperty #'header:myTitle } } \markup { \null }
-
\left-brace
size (number) -
A feta brace in point size size.
\markup { \left-brace #35 \hspace #2 \left-brace #45 }
-
\lookup
glyph-name (string) -
Lookup a glyph by name.
\markup { \override #'(font-encoding . fetaBraces) { \lookup #"brace200" \hspace #2 \rotate #180 \lookup #"brace180" } }
-
\markalphabet
num (integer) -
Make a markup letter for num. The letters start with A to Z and continue with double letters.
\markup { \markalphabet #8 \hspace #2 \markalphabet #26 }
-
\markletter
num (integer) -
Make a markup letter for num. The letters start with A to Z (skipping letter I), and continue with double letters.
\markup { \markletter #8 \hspace #2 \markletter #26 }
-
\null
-
An empty markup with extents of a single point.
\markup { \null }
-
\on-the-fly
procedure (symbol) arg (markup) -
Apply the procedure markup command to arg. procedure should take a single argument.
-
\override
new-prop (pair) arg (markup) -
Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.
\markup { \line { \column { default baseline-skip } \hspace #2 \override #'(baseline-skip . 4) { \column { increased baseline-skip } } } }
-
\page-ref
label (symbol) gauge (markup) default (markup) -
Reference to a page number. label is the label set on the referenced page (using the
\label
command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found. -
\right-brace
size (number) -
A feta brace in point size size, rotated 180 degrees.
\markup { \right-brace #45 \hspace #2 \right-brace #35 }
-
\slashed-digit
num (integer) -
A feta number, with slash. This is for use in the context of figured bass notation.
\markup { \slashed-digit #5 \hspace #2 \override #'(thickness . 3) \slashed-digit #7 }
Used properties:
-
thickness
(1.6) -
font-size
(0)
-
-
\stencil
stil (stencil) -
Use a stencil as markup.
\markup { \stencil #(make-circle-stencil 2 0 #t) }
-
\strut
-
Create a box of the same height as the space in the current font.
-
\transparent
arg (markup) -
Make arg transparent.
\markup { \transparent { invisible text } }
-
\verbatim-file
name (string) -
Read the contents of file name, and include it verbatim.
\markup { \verbatim-file #"simple.ly" }
-
\whiteout
arg (markup) -
Provide a white background for arg.
\markup { \combine \filled-box #'(-1 . 10) #'(-3 . 4) #1 \whiteout whiteout }
-
\with-color
color (color) arg (markup) -
Draw arg in color specified by color.
\markup { \with-color #red red \hspace #2 \with-color #green green \hspace #2 \with-color #blue blue }
-
\with-dimensions
x (pair of numbers) y (pair of numbers) arg (markup) -
Set the dimensions of arg to x and y.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Other ] | [ Nach oben : Notationsübersicht ] | [ Liste der Arktikulationszeichen > ] |
A.9 Text markup list commands
The following commands can all be used with \markuplines
.
-
\column-lines
args (markup list) -
Like
\column
, but return a list of lines instead of a single markup.baseline-skip
determines the space between each markup in args.Used properties:
-
baseline-skip
-
-
\justified-lines
args (markup list) -
Like
\justify
, but return a list of lines instead of a single markup. Use\override-lines #'(line-width . X)
to set the line width; X is the number of staff spaces.Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\override-lines
new-prop (pair) args (markup list) -
Like
\override
, for markup lists. -
\table-of-contents
-
\wordwrap-internal
justify (boolean) args (markup list) -
Internal markup list command used to define
\justify
and\wordwrap
.Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f)
-
-
\wordwrap-lines
args (markup list) -
Like
\wordwrap
, but return a list of lines instead of a single markup. Use\override-lines #'(line-width . X)
to set the line width, where X is the number of staff spaces.Used properties:
-
text-direction
(1) -
word-space
-
line-width
(#f) -
baseline-skip
-
-
\wordwrap-string-internal
justify (boolean) arg (string) -
Internal markup list command used to define
\justify-string
and\wordwrap-string
.Used properties:
-
text-direction
(1) -
word-space
-
line-width
-
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Text markup list commands ] | [ Nach oben : Notationsübersicht ] | [ Schlagzeugnoten > ] |
A.10 Liste der Arktikulationszeichen
This chart shows all articulations, or scripts, that the feta font contains.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Liste der Arktikulationszeichen ] | [ Nach oben : Notationsübersicht ] | [ Technisches Glossar > ] |
A.11 Schlagzeugnoten
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Schlagzeugnoten ] | [ Nach oben : Notationsübersicht ] | [ callback > ] |
A.12 Technisches Glossar
Ein Glossar der technischen Ausdrücke und Konzepte, die von LilyPond intern benutzt werden.
callback | ||
glyph (Glyphe) | ||
grob (Grob) | ||
interface (Schnittstelle) | ||
lexer | ||
output-def | ||
parser (Syntaxanalysierer) | ||
parser variable | ||
prob | ||
simple-closure | ||
smob | ||
stencil |
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Technisches Glossar ] | [ Nach oben : Technisches Glossar ] | [ glyph (Glyphe) > ] |
callback
Ein callback ist eine Routine, Funktion oder Methode, deren Referenz in einem Aufruf als Argument an eine andere Routine weitergereicht wird, sodass die aufgerufene Routine ermöglicht wird, das Argument zu aktivieren. Die Technik ermöglicht es einer niedrigeren Ebene des Programmes, eine Funktion aufzurufen, die auf höherer Ebene definiert wurde. Callbacks werden sehr ausgiebig in LilyPond eingesetzt, um es Scheme-Code auf der Benutzerebene zu erlauben, wie viele Funktionen der niedrigeren Ebene ausgeführt werden sollen.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < callback ] | [ Nach oben : Technisches Glossar ] | [ grob (Grob) > ] |
glyph (Glyphe)
Ein glyph ist eine bestimmte graphische Repräsentation eines typographischen Charakters oder einer Kombination von zwei oder mehr Charakteren, die dann eine Ligatur bilden. Eine Gruppe an Glyphen des gleichen Stils bilden ein Font, und eine Gruppe an Fonts, die mehrere Stile darstellen, bilden eine Schriftfamilie (engl. typeface).
Siehe auch
Notationsreferenz: Schriftarten, Zeichenkodierung.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < glyph (Glyphe) ] | [ Nach oben : Technisches Glossar ] | [ interface (Schnittstelle) > ] |
grob (Grob)
LilyPond-Objekte, die Elemente der Notation in der graphischen Ausgabe des Programmen darstellen, wie etwa Notenköpfe, Hälse, Bögen, Bindebögen, Fingersatz, Schlüssel usw., werden „Layout-Objekte“ genannt, auch oft als „GRaphische OBjekte“ bezeichnet, was dann zu grob abgekürzt wird.
Siehe auch
Handbuch zum Lernen: Objects and interfaces, Naming conventions of objects and properties, Properties of layout objects.
Referenz der Interna: All layout objects.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < grob (Grob) ] | [ Nach oben : Technisches Glossar ] | [ lexer > ] |
interface (Schnittstelle)
Aktionen und Eigenschaften, die eine Gruppe von Grobs gemeinsam
haben, werden in ein Objekt gesammelt, das als grob-interface
oder auch „Schnittstelle“ (engl. interface) bezeichnet wird.
Siehe auch
Handbuch zum Lernen: Objects and interfaces, Naming conventions of objects and properties, Properties found in interfaces.
Notationsreferenz: Layout-Schnittstellen.
Referenz der Interna: Graphical Object Interfaces.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < interface (Schnittstelle) ] | [ Nach oben : Technisches Glossar ] | [ output-def > ] |
lexer
Ein lexer ist ein Programm, das eine Charaktersequenz
in eines Sequenz von Tokens übersetzt. Dieser Prozess wird als
lexikalische Analyse bezeichnet. Der LilyPond-Lexer konvertiert
eine Eingabedatei (.ly
in eine Datei mit Tokens, die sich
besser für den nächsten Schritt der Verarbeitung, nämlich das
Parsen, eignet. Siehe parser (Syntaxanalysierer).
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < lexer ] | [ Nach oben : Technisches Glossar ] | [ parser (Syntaxanalysierer) > ] |
output-def
Eine Instanz der Output-def
-Klasse enthält die Methoden und
Datenstruktur, die mit einem Ausgabeabschnitt assoziiert wird.
Instanzen werden für midi
, layout
und paper
-Umgebungen
erstellt.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < output-def ] | [ Nach oben : Technisches Glossar ] | [ parser variable > ] |
parser (Syntaxanalysierer)
Ein parser analysiert die Tokensequenzen, die von einem Lexer erstellt wurden, um deren grammatikalische Struktur zu entschlüsseln, wie sie von den Regeln des Eingabeformates vorgegeben werden.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < parser (Syntaxanalysierer) ] | [ Nach oben : Technisches Glossar ] | [ prob > ] |
parser variable
Diese Variablen werden direkt in Scheme definiert. Von ihrer direkten Benutzung durch den Benutzer wird streng abgeraten, weil ihre Semantikzuordnung sehr verwirrend sein kann.
Wenn der Wert einer derartigen Variable in einer .ly
-Datei
verändert wird, ist diese Änderung global, und wenn sie nicht
explizit rückgängig gemacht wird, wird der neue Wert bis zum Ende
der Datei gelten und dabei sowohl aufeinander folgende
\score
-Umgebungen als auch externe Dateien, die mit
\include
geladen werden, beeinflussen. Das kann zu nicht
gewollten Konsequenzen führen, und in komplizierteren Projekten
kann es sehr schwer sein, die immer wieder auftretenden Fehler
zu beheben.
LilyPond benutzt folgende Parser-Variablen:
- afterGraceFraction
- musicQuotes
- mode
- output-count
- output-suffix
- parseStringResult
- partCombineListener
- pitchnames
- toplevel-bookparts
- toplevel-scores
- showLastLength
- showFirstLength
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < parser variable ] | [ Nach oben : Technisches Glossar ] | [ simple-closure > ] |
prob
TODO
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < prob ] | [ Nach oben : Technisches Glossar ] | [ smob > ] |
simple-closure
TODO
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < simple-closure ] | [ Nach oben : Technisches Glossar ] | [ stencil > ] |
smob
TODO
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < smob ] | [ Nach oben : Technisches Glossar ] | [ Alle Kontexteigenschaften > ] |
stencil
TODO
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < stencil ] | [ Nach oben : Notationsübersicht ] | [ Eigenschaften des Layouts > ] |
A.13 Alle Kontexteigenschaften
-
aDueText
(markup) Text to print at a unisono passage.
-
alignAboveContext
(string) Where to insert newly created context in vertical alignment.
-
alignBassFigureAccidentals
(boolean) If true, then the accidentals are aligned in bass figure context.
-
alignBelowContext
(string) Where to insert newly created context in vertical alignment.
-
associatedVoice
(string) Name of the
Voice
that has the melody for thisLyrics
line.-
autoAccidentals
(list) List of different ways to typeset an accidental.
For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.
Each entry in the list is either a symbol or a procedure.
- symbol
The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.
- procedure
The procedure represents an accidental rule to be applied to the previously specified context.
The procedure takes the following arguments:
-
context
The current context to which the rule should be applied.
-
pitch
The pitch of the note to be evaluated.
-
barnum
The current bar number.
-
measurepos
The current measure position.
The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed.
(#t . #f)
does not make sense.-
-
autoBeamCheck
(procedure) A procedure taking three arguments, context, dir [start/stop (-1 or 1)], and test [shortest note in the beam]. A non-
#f
return value starts or stops the auto beam.-
autoBeaming
(boolean) If set to true then beams are generated automatically.
-
autoCautionaries
(list) List similar to
autoAccidentals
, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.-
automaticBars
(boolean) If set to false then bar lines will not be printed automatically; they must be explicitly created with a
\bar
command. Unlike the\cadenzaOn
keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.-
barAlways
(boolean) If set to true a bar line is drawn after each note.
-
barCheckSynchronize
(boolean) If true then reset
measurePosition
when finding a bar check.-
barNumberVisibility
(procedure) A Procedure that takes an integer and returns whether the corresponding bar number should be printed.
-
bassFigureFormatFunction
(procedure) A procedure that is called to produce the formatting for a
BassFigure
grob. It takes a list ofBassFigureEvent
s, a context, and the grob to format.-
bassStaffProperties
(list) An alist of property settings to apply for the down staff of
PianoStaff
. Used by\autochange
.-
beamSettings
(list) Specifies when automatically generated beams should begin and end, as well as beam subdivision behavior. See behavior Setting automatic beam behavior for more information.
-
beatLength
(moment) The length of one beat in this time signature.
-
chordChanges
(boolean) Only show changes in chords scheme?
-
chordNameExceptions
(list) An alist of chord exceptions. Contains
(chord . markup)
entries.-
chordNameExceptionsFull
(list) An alist of full chord exceptions. Contains
(chord . markup)
entries.-
chordNameExceptionsPartial
(list) An alist of partial chord exceptions. Contains
(chord . (prefix-markup suffix-markup))
entries.-
chordNameFunction
(procedure) The function that converts lists of pitches to chord names.
-
chordNameLowercaseMinor
(boolean) Downcase roots of minor chords?
-
chordNameSeparator
(markup) The markup object used to separate parts of a chord name.
-
chordNoteNamer
(procedure) A function that converts from a pitch object to a text markup. Used for single pitches.
-
chordPrefixSpacer
(number) The space added between the root symbol and the prefix of a chord name.
-
chordRootNamer
(procedure) A function that converts from a pitch object to a text markup. Used for chords.
-
clefGlyph
(string) Name of the symbol within the music font.
-
clefOctavation
(integer) Add this much extra octavation. Values of 7 and -7 are common.
-
clefPosition
(number) Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.
-
completionBusy
(boolean) Whether a completion-note head is playing.
-
connectArpeggios
(boolean) If set, connect arpeggios across piano staff.
-
countPercentRepeats
(boolean) If set, produce counters for percent repeats.
-
createKeyOnClefChange
(boolean) Print a key signature whenever the clef is changed.
-
createSpacing
(boolean) Create
StaffSpacing
objects? Should be set for staves.-
crescendoSpanner
(symbol) The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.
-
crescendoText
(markup) The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.
-
currentBarNumber
(integer) Contains the current barnumber. This property is incremented at every bar line.
-
decrescendoSpanner
(symbol) The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.
-
decrescendoText
(markup) The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.
-
defaultBarType
(string) Set the default type of bar line. See
whichBar
for information on available bar types.This variable is read by Timing_translator at Score level.
-
doubleRepeatType
(string) Set the default bar line for double repeats.
-
doubleSlurs
(boolean) If set, two slurs are created for every slurred note, one above and one below the chord.
-
drumPitchTable
(hash table) A table mapping percussion instruments (symbols) to pitches.
-
drumStyleTable
(hash table) A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.
The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list
(notehead-style script vertical-position)
as values.-
explicitClefVisibility
(vector) ‘break-visibility’ function for clef changes.
-
explicitKeySignatureVisibility
(vector) ‘break-visibility’ function for explicit key changes. ‘\override’ of the
break-visibility
property will set the visibility for normal (i.e., at the start of the line) key signatures.-
extendersOverRests
(boolean) Whether to continue extenders as they cross a rest.
-
extraNatural
(boolean) Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.
-
figuredBassAlterationDirection
(direction) Where to put alterations relative to the main figure.
-
figuredBassCenterContinuations
(boolean) Whether to vertically center pairs of extender lines. This does not work with three or more lines.
-
figuredBassFormatter
(procedure) A routine generating a markup for a bass figure.
-
figuredBassPlusDirection
(direction) Where to put plus signs relative to the main figure.
-
fingeringOrientations
(list) A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.
-
firstClef
(boolean) If true, create a new clef when starting a staff.
-
followVoice
(boolean) If set, note heads are tracked across staff switches by a thin line.
-
fontSize
(number) The relative size of all grobs in a context.
-
forbidBreak
(boolean) If set to
##t
, prevent a line break at this point.-
forceClef
(boolean) Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.
-
fretLabels
(list) A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.
-
gridInterval
(moment) Interval for which to generate
GridPoint
s.-
harmonicAccidentals
(boolean) If set, harmonic notes in chords get accidentals.
-
harmonicDots
(boolean) If set, harmonic notes in dotted chords get dots.
-
highStringOne
(boolean) Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.
-
ignoreBarChecks
(boolean) Ignore bar checks.
-
ignoreFiguredBassRest
(boolean) Don’t swallow rest events.
-
ignoreMelismata
(boolean) Ignore melismata for this Lyrics line.
-
implicitBassFigures
(list) A list of bass figures that are not printed as numbers, but only as extender lines.
-
implicitTimeSignatureVisibility
(vector) break visibility for the default time signature.
-
includeGraceNotes
(boolean) Do not ignore grace notes for Lyrics.
-
instrumentCueName
(markup) The name to print if another instrument is to be taken.
-
instrumentEqualizer
(procedure) A function taking a string (instrument name), and returning a
(min . max)
pair of numbers for the loudness range of the instrument.-
instrumentName
(markup) The name to print left of a staff. The
instrumentName
property labels the staff in the first system, and theshortInstrumentName
property labels following lines.-
instrumentTransposition
(pitch) Define the transposition of the instrument. Its value is the pitch that sounds like middle C. This is used to transpose the MIDI output, and
\quote
s.-
internalBarNumber
(integer) Contains the current barnumber. This property is used for internal timekeeping, among others by the
Accidental_engraver
.-
keepAliveInterfaces
(list) A list of symbols, signifying grob interfaces that are worth keeping a staff with
remove-empty
set around for.-
keyAlterationOrder
(list) An alist that defines in what order alterations should be printed. The format is
(step . alter)
, where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).-
keySignature
(list) The current key signature. This is an alist containing
(step . alter)
or((octave . step) . alter)
, where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g.keySignature = #`((6 . ,FLAT))
.-
lyricMelismaAlignment
(direction) Alignment to use for a melisma syllable.
-
majorSevenSymbol
(markup) How should the major 7th be formatted in a chord name?
-
markFormatter
(procedure) A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.
-
maximumFretStretch
(number) Don’t allocate frets further than this from specified frets.
-
measureLength
(moment) Length of one measure in the current time signature.
-
measurePosition
(moment) How much of the current measure have we had. This can be set manually to create incomplete measures.
-
melismaBusyProperties
(list) A list of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to
#'(melismaBusy beamMelismaBusy)
, only manual melismata and manual beams are considered. Possible values includemelismaBusy
,slurMelismaBusy
,tieMelismaBusy
, andbeamMelismaBusy
.-
metronomeMarkFormatter
(procedure) How to produce a metronome markup. Called with four arguments: text, duration, count and context.
-
middleCClefPosition
(number) The position of the middle C, as determined only by the clef. This can be calculated by looking at
clefPosition
andclefGlyph
.-
middleCOffset
(number) The offset of middle C from the position given by
middleCClefPosition
This is used for ottava brackets.-
middleCPosition
(number) The place of the middle C, measured in half staff-spaces. Usually determined by looking at
middleCClefPosition
andmiddleCOffset
.-
midiInstrument
(string) Name of the MIDI instrument to use.
-
midiMaximumVolume
(number) Analogous to
midiMinimumVolume
.-
midiMinimumVolume
(number) Set the minimum loudness for MIDI. Ranges from 0 to 1.
-
minimumFret
(number) The tablature auto string-selecting mechanism selects the highest string with a fret at least
minimumFret
.-
minimumPageTurnLength
(moment) Minimum length of a rest for a page turn to be allowed.
-
minimumRepeatLengthForPageTurn
(moment) Minimum length of a repeated section for a page turn to be allowed within that section.
-
noChordSymbol
(markup) Markup to be displayed for rests in a ChordNames context.
-
noteToFretFunction
(procedure) Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.
-
ottavation
(markup) If set, the text for an ottava spanner. Changing this creates a new text spanner.
-
output
(music output) The output produced by a score-level translator during music interpretation.
-
pedalSostenutoStrings
(list) See
pedalSustainStrings
.-
pedalSostenutoStyle
(symbol) See
pedalSustainStyle
.-
pedalSustainStrings
(list) A list of strings to print for sustain-pedal. Format is
(up updown down)
, where each of the three is the string to print when this is done with the pedal.-
pedalSustainStyle
(symbol) A symbol that indicates how to print sustain pedals:
text
,bracket
ormixed
(both).-
pedalUnaCordaStrings
(list) See
pedalSustainStrings
.-
pedalUnaCordaStyle
(symbol) See
pedalSustainStyle
.-
predefinedDiagramTable
(hash table) The hash table of predefined fret diagrams to use in FretBoards.
-
printKeyCancellation
(boolean) Print restoration alterations before a key signature change.
-
printOctaveNames
(boolean) Print octave marks for the
NoteNames
context.-
printPartCombineTexts
(boolean) Set ‚Solo‘ and ‚A due‘ texts in the part combiner?
-
proportionalNotationDuration
(moment) Global override for shortest-playing duration. This is used for switching on proportional notation.
-
rehearsalMark
(integer) The last rehearsal mark printed.
-
repeatCommands
(list) This property is a list of commands of the form
(list 'volta x)
, where x is a string or#f
.'end-repeat
is also accepted as a command.-
repeatCountVisibility
(procedure) A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when
countPercentRepeats
is set.-
restNumberThreshold
(number) If a multimeasure rest has more measures than this, a number is printed.
-
shapeNoteStyles
(vector) Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.
-
shortInstrumentName
(markup) See
instrumentName
.-
shortVocalName
(markup) Name of a vocal line, short version.
-
skipBars
(boolean) If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default), multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
{ r1 r1*3 R1*3 \set Score.skipBars= ##t r1*3 R1*3 }
-
skipTypesetting
(boolean) If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.
-
soloIIText
(markup) The text for the start of a solo for voice ‚two‘ when part-combining.
-
soloText
(markup) The text for the start of a solo when part-combining.
-
squashedPosition
(integer) Vertical position of squashing for Pitch_squash_engraver.
-
staffLineLayoutFunction
(procedure) Layout of staff lines,
traditional
, orsemitone
.-
stanza
(markup) Stanza ‚number‘ to print before the start of a verse. Use in
Lyrics
context.-
stemLeftBeamCount
(integer) Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.
-
stemRightBeamCount
(integer) See
stemLeftBeamCount
.-
stringNumberOrientations
(list) See
fingeringOrientations
.-
stringOneTopmost
(boolean) Whether the first string is printed on the top line of the tablature.
-
stringTunings
(list) The tablature strings tuning. It is a list of the pitch (in semitones) of each string (starting with the lower one).
-
strokeFingerOrientations
(list) See
fingeringOrientations
.-
subdivideBeams
(boolean) If set, multiple beams will be subdivided at beat positions by only drawing one beam over the beat.
-
suggestAccidentals
(boolean) If set, accidentals are typeset as cautionary suggestions over the note.
-
systemStartDelimiter
(symbol) Which grob to make for the start of the system/staff? Set to
SystemStartBrace
,SystemStartBracket
orSystemStartBar
.-
systemStartDelimiterHierarchy
(pair) A nested list, indicating the nesting of a start delimiters.
-
tablatureFormat
(procedure) A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.
-
tabStaffLineLayoutFunction
(procedure) A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.
-
tempoHideNote
(boolean) Hide the note=count in tempo marks.
-
tempoText
(markup) Text for tempo marks.
-
tempoUnitCount
(number) Count for specifying tempo.
-
tempoUnitDuration
(duration) Unit for specifying tempo.
-
tempoWholesPerMinute
(moment) The tempo in whole notes per minute.
-
tieWaitForNote
(boolean) If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.
-
timeSignatureFraction
(pair of numbers) A pair of numbers, signifying the time signature. For example,
#'(4 . 4)
is a 4/4 time signature.-
timing
(boolean) Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.
-
tonic
(pitch) The tonic of the current scale.
-
topLevelAlignment
(boolean) If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper
-
trebleStaffProperties
(list) An alist of property settings to apply for the up staff of
PianoStaff
. Used by\autochange
.-
tremoloFlags
(integer) The number of tremolo flags to add if no number is specified.
-
tupletFullLength
(boolean) If set, the tuplet is printed up to the start of the next note.
-
tupletFullLengthNote
(boolean) If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.
-
tupletSpannerDuration
(moment) Normally, a tuplet bracket is as wide as the
\times
expression that gave rise to it. By setting this property, you can make brackets last shorter.{ \set tupletSpannerDuration = #(ly:make-moment 1 4) \times 2/3 { c8 c c c c c } }
-
useBassFigureExtenders
(boolean) Whether to use extender lines for repeated bass figures.
-
verticallySpacedContexts
(list) List of symbols, containing context names whose vertical axis groups should be taken into account for vertical spacing of systems.
-
vocalName
(markup) Name of a vocal line.
-
voltaSpannerDuration
(moment) This specifies the maximum duration to use for the brackets printed for
\alternative
. This can be used to shrink the length of brackets in the situation where one alternative is very large.-
whichBar
(string) This property is read to determine what type of bar line to create.
Example:
\set Staff.whichBar = "|:"
This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Alle Kontexteigenschaften ] | [ Nach oben : Notationsübersicht ] | [ Bezeichner > ] |
A.14 Eigenschaften des Layouts
-
add-stem-support
(boolean) If set, the
Stem
object is included in this script’s support.-
after-last-staff-spacing
(list) An alist of spacing variables that controls the spacing after the last staff in this staff group. See next-staff-spacing for a description of the elements of this alist.
-
after-line-breaking
(boolean) Dummy property, used to trigger callback for
after-line-breaking
.-
align-dir
(direction) Which side to align?
-1
: left side,0
: around center of width,1
: right side.-
allow-loose-spacing
(boolean) If set, column can be detached from main spacing.
-
allow-span-bar
(boolean) If false, no inter-staff bar line will be created below this bar line.
-
alteration
(number) Alteration numbers for accidental.
-
alteration-alist
(list) List of
(pitch . accidental)
pairs for key signature.-
annotation
(string) Annotate a grob for debug purposes.
-
arpeggio-direction
(direction) If set, put an arrow on the arpeggio squiggly line.
-
arrow-length
(number) Arrow length.
-
arrow-width
(number) Arrow width.
-
auto-knee-gap
(dimension, in staff space) If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.
-
average-spacing-wishes
(boolean) If set, the spacing wishes are averaged over staves.
-
avoid-note-head
(boolean) If set, the stem of a chord does not pass through all note heads, but starts at the last note head.
-
avoid-slur
(symbol) Method of handling slur collisions. Choices are
inside
,outside
,around
, andignore
.inside
adjusts the slur if needed to keep the grob inside the slur.outside
moves the grob vertically to the outside of the slur.around
moves the grob vertically to the outside of the slur only if there is a collision.ignore
does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.),outside
andaround
behave likeignore
.-
axes
(list) List of axis numbers. In the case of alignment grobs, this should contain only one number.
-
bar-size
(dimension, in staff space) The size of a bar line.
-
base-shortest-duration
(moment) Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.
-
baseline-skip
(dimension, in staff space) Distance between base lines of multiple lines of text.
-
beam-thickness
(dimension, in staff space) Beam thickness, measured in
staff-space
units.-
beam-width
(dimension, in staff space) Width of the tremolo sign.
-
beamed-stem-shorten
(list) How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.
-
beaming
(pair) Pair of number lists. Each number list specifies which beams to make.
0
is the central beam,1
is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.-
beamlet-default-length
(pair) A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by
beamlet-max-length-proportion
, whichever is smaller.-
beamlet-max-length-proportion
(pair) The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.
-
before-line-breaking
(boolean) Dummy property, used to trigger a callback function.
-
between-cols
(pair) Where to attach a loose column to.
-
between-staff-spacing
(list) An alist of spacing variables that controls the spacing between staves within this staff group. See next-staff-spacing for a description of the elements of this alist.
-
bound-details
(list) An alist of properties for determining attachments of spanners to edges.
-
bound-padding
(number) The amount of padding to insert around spanner bounds.
-
bracket-flare
(pair of numbers) A pair of numbers specifying how much edges of brackets should slant outward. Value
0.0
means straight edges.-
bracket-visibility
(boolean or symbol) This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to
if-no-beam
makes it print only if there is no beam associated with this tuplet bracket.-
break-align-anchor
(number) Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.
-
break-align-anchor-alignment
(number) Read by
ly:break-aligned-interface::calc-extent-aligned-anchor
for aligning an anchor to a grob’s extent.-
break-align-orders
(vector) Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.
For example, clefs are put after key signatures by setting
\override Score.BreakAlignment #'break-align-orders = #(make-vector 3 '(span-bar breathing-sign staff-bar key clef time-signature))
-
break-align-symbol
(symbol) This key is used for aligning and spacing breakable items.
-
break-align-symbols
(list) A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on). Choices are
left-edge
,ambitus
,breathing-sign
,clef
,staff-bar
,key-cancellation
,key-signature
,time-signature
, andcustos
.-
break-overshoot
(pair of numbers) How much does a broken spanner stick out of its bounds?
-
break-visibility
(vector) A vector of 3 booleans,
#(end-of-line unbroken begin-of-line)
.#t
means visible,#f
means killed.-
breakable
(boolean) Allow breaks here.
-
c0-position
(integer) An integer indicating the position of middle C.
-
circled-tip
(boolean) Put a circle at start/end of hairpins (al/del niente).
-
clip-edges
(boolean) Allow outward pointing beamlets at the edges of beams?
-
collapse-height
(dimension, in staff space) Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.
-
color
(color) The color of this grob.
-
common-shortest-duration
(moment) The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.
-
concaveness
(number) A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.
-
connect-to-neighbor
(pair) Pair of booleans, indicating whether this grob looks as a continued break.
-
control-points
(list) List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.
-
damping
(number) Amount of beam slope damping.
-
dash-definition
(pair) List of
dash-elements
defining the dash structure. Eachdash-element
has a starting t value, an ending t-value, adash-fraction
, and adash-period
.-
dash-fraction
(number) Size of the dashes, relative to
dash-period
. Should be between0.0
(no line) and1.0
(continuous line).-
dash-period
(number) The length of one dash together with whitespace. If negative, no line is drawn at all.
-
default-direction
(direction) Direction determined by note head positions.
-
default-next-staff-spacing
(list) An alist of spacing variables that controls the spacing between this staff and the next. See next-staff-spacing for a description of the elements of this alist.
-
details
(list) Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a
details
property.-
digit-names
(vector) Names for string finger digits.
-
direction
(direction) If
side-axis
is0
(or#X
), then this property determines whether the object is placed#LEFT
,#CENTER
or#RIGHT
with respect to the other object. Otherwise, it determines whether the object is placed#UP
,#CENTER
or#DOWN
. Numerical values may also be used:#UP
=1
,#DOWN
=-1
,#LEFT
=-1
,#RIGHT
=1
,#CENTER
=0
.-
dot-count
(integer) The number of dots.
-
dot-negative-kern
(number) The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.
-
dot-placement-list
(list) List consisting of
(description string-number fret-number finger-number)
entries used to define fret diagrams.-
duration-log
(integer) The 2-log of the note head duration, i.e.,
0
= whole note,1
= half note, etc.-
eccentricity
(number) How asymmetrical to make a slur. Positive means move the center to the right.
-
edge-height
(pair) A pair of numbers specifying the heights of the vertical edges:
(left-height . right-height)
.-
edge-text
(pair) A pair specifying the texts to be set at the edges:
(left-text . right-text)
.-
expand-limit
(integer) Maximum number of measures expanded in church rests.
-
extra-dy
(number) Slope glissandi this much extra.
-
extra-offset
(pair of numbers) A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in
staff-space
units of the staff’sStaffSymbol
.-
extra-spacing-height
(pair of numbers) In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‚car‘ to the bottom of the item and adding the ‚cdr‘ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to
(-inf.0 . +inf.0)
.-
extra-spacing-width
(pair of numbers) In the horizontal spacing problem, we pad each item by this amount (by adding the ‚car‘ on the left side of the item and adding the ‚cdr‘ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to
(+inf.0 . -inf.0)
.-
extra-X-extent
(pair of numbers) A grob is enlarged in X dimension by this much.
-
extra-Y-extent
(pair of numbers) A grob is enlarged in Y dimension by this much.
-
flag
(stencil) A function returning the full flag stencil for the
Stem
, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses theflag-style
property to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.-
flag-count
(number) The number of tremolo beams.
-
flag-style
(symbol) A symbol determining what style of flag glyph is typeset on a
Stem
. Valid options include'()
for standard flags,'mensural
and'no-flag
, which switches off the flag.-
font-encoding
(symbol) The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are
fetaMusic
(Emmentaler),fetaBraces
,fetaText
(Emmentaler).-
font-family
(symbol) The font family is the broadest category for selecting text fonts. Options include:
sans
,roman
.-
font-name
(string) Specifies a file name (without extension) of the font to load. This setting overrides selection using
font-family
,font-series
andfont-shape
.-
font-series
(symbol) Select the series of a font. Choices include
medium
,bold
,bold-narrow
, etc.-
font-shape
(symbol) Select the shape of a font. Choices include
upright
,italic
,caps
.-
font-size
(number) The font size, compared to the ‚normal‘ size.
0
is style-sheet’s normal size,-1
is smaller,+1
is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.-
force-hshift
(number) This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.
-
fraction
(pair of numbers) Numerator and denominator of a time signature object.
-
french-beaming
(boolean) Use French beaming style for this stem. The stem stops at the innermost beams.
-
fret-diagram-details
(list) An alist of detailed grob properties for fret diagrams. Each alist entry consists of a
(property . value)
pair. The properties which can be included infret-diagram-details
include the following:-
barre-type
– Type of barre indication used. Choices includecurved
,straight
, andnone
. Defaultcurved
. -
capo-thickness
– Thickness of capo indicator, in multiples of fret-space. Default value 0.5. -
dot-color
– Color of dots. Options includeblack
andwhite
. Defaultblack
. -
dot-label-font-mag
– Magnification for font used to label fret dots. Default value 1. -
dot-position
– Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radius
for dots with labels. -
dot-radius
– Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots. -
finger-code
– Code for the type of fingering indication used. Options includenone
,in-dot
, andbelow-string
. Defaultnone
for markup fret diagrams,below-string
forFretBoards
fret diagrams. -
fret-count
– The number of frets. Default 4. -
fret-label-font-mag
– The magnification of the font used to label the lowest fret number. Default 0.5. -
fret-label-vertical-offset
– The offset of the fret label from the center of the fret in direction parallel to strings. Default 0. -
label-dir
– Side to which the fret label is attached.-1
,#LEFT
, or#DOWN
for left or down;1
,#RIGHT
, or#UP
for right or up. Default#RIGHT
. -
mute-string
– Character string to be used to indicate muted string. Default"x"
. -
number-type
– Type of numbers to use in fret label. Choices includeroman-lower
,roman-upper
, andarabic
. Defaultroman-lower
. -
open-string
– Character string to be used to indicate open string. Default"o"
. -
orientation
– Orientation of fret-diagram. Options includenormal
,landscape
, andopposing-landscape
. Defaultnormal
. -
string-count
– The number of strings. Default 6. -
string-label-font-mag
– The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 fornormal
orientation, 0.5 forlandscape
andopposing-landscape
. -
string-thickness-factor
– Factor for changing thickness of each string in the fret diagram. Thickness of string k is given bythickness
* (1+string-thickness-factor
) ^ (k-1). Default 0. -
top-fret-thickness
– The thickness of the top fret line, as a multiple of the standard thickness. Default value 3. -
xo-font-magnification
– Magnification used for mute and open string indicators. Default value 0.5. -
xo-padding
– Padding for open and mute indicators from top fret. Default value 0.25.
-
-
full-length-padding
(number) How much padding to use at the right side of a full-length tuplet bracket.
-
full-length-to-extent
(boolean) Run to the extent of the column for a full-length tuplet bracket.
-
full-measure-extra-space
(number) Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.
-
full-size-change
(boolean) Don’t make a change clef smaller.
-
gap
(dimension, in staff space) Size of a gap in a variable symbol.
-
gap-count
(integer) Number of gapped beams for tremolo.
-
glyph
(string) A string determining what ‚style‘ of glyph is typeset. Valid choices depend on the function that is reading this property.
-
glyph-name
(string) The glyph name within the font.
-
glyph-name-alist
(list) An alist of key-string pairs.
-
grow-direction
(direction) Crescendo or decrescendo?
-
hair-thickness
(number) Thickness of the thin line in a bar line.
-
harp-pedal-details
(list) An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a
(property . value)
pair. The properties which can be included in harp-pedal-details include the following:-
box-offset
– Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8. -
box-width
– Width of each pedal box. Default value 0.4. -
box-height
– Height of each pedal box. Default value 1.0. -
space-before-divider
– Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8. -
space-after-divider
– Space between boxes after the first divider. Default value 0.8. -
circle-thickness
– Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5. -
circle-x-padding
– Padding in X direction of the ellipse around circled pedals. Default value 0.15. -
circle-y-padding
– Padding in Y direction of the ellipse around circled pedals. Default value 0.2.
-
-
head-direction
(direction) Are the note heads left or right in a semitie?
-
height
(dimension, in staff space) Height of an object in
staff-space
units.-
height-limit
(dimension, in staff space) Maximum slur height: The longer the slur, the closer it is to this height.
-
hide-tied-accidental-after-break
(boolean) If set, an accidental that appears on a tied note after a line break will not be displayed.
-
horizontal-shift
(integer) An integer that identifies ranking of
NoteColumn
s for horizontal shifting. This is used by note-collision-interface.-
horizontal-skylines
(pair of skylines) Two skylines, one to the left and one to the right of this grob.
-
ignore-collision
(boolean) If set, don’t do note collision resolution on this
NoteColumn
.-
implicit
(boolean) Is this an implicit bass figure?
-
inspect-index
(integer) If debugging is set, set beam and slur configuration to this index, and print the respective scores.
-
inspect-quants
(pair of numbers) If debugging is set, set beam and slur quants to this position, and print the respective scores.
-
inter-loose-line-spacing
(list) Specifies how to vertically position a non-spaced line relative to the other non-spaced lines around it. See next-staff-spacing for the format of this list.
-
inter-staff-spacing
(list) Specifies how to vertically position a non-spaced line relative to the staff for which it has affinity. See next-staff-spacing for the format of this list.
-
keep-fixed-while-stretching
(boolean) A grob with this property set to true is fixed relative to the staff above it when systems are stretched.
-
keep-inside-line
(boolean) If set, this column cannot have objects sticking into the margin.
-
kern
(dimension, in staff space) Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.
-
knee
(boolean) Is this beam kneed?
-
knee-spacing-correction
(number) Factor for the optical correction amount for kneed beams. Set between
0
for no correction and1
for full correction.-
labels
(list) List of labels (symbols) placed on a column.
-
layer
(integer) The output layer (a value between 0 and 2): Layers define the order of printing objects. Objects in lower layers are overprinted by objects in higher layers.
-
ledger-line-thickness
(pair of numbers) The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.
-
left-bound-info
(list) An alist of properties for determining attachments of spanners to edges.
-
left-padding
(dimension, in staff space) The amount of space that is put left to an object (e.g., a group of accidentals).
-
length
(dimension, in staff space) User override for the stem length of unbeamed stems.
-
length-fraction
(number) Multiplier for lengths. Used for determining ledger lines and stem lengths.
-
line-break-penalty
(number) Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.
-
line-break-permission
(symbol) Instructs the line breaker on whether to put a line break at this column. Can be
force
orallow
.-
line-break-system-details
(list) An alist of properties to use if this column is the start of a system.
-
line-count
(integer) The number of staff lines.
-
line-positions
(list) Vertical positions of staff lines.
-
line-thickness
(number) The thickness of the tie or slur contour.
-
long-text
(markup) Text markup. See Formatting text.
-
max-beam-connect
(integer) Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.
-
max-stretch
(number) The maximum amount that this
VerticalAxisGroup
can be vertically stretched (for example, in order to better fill a page).-
measure-count
(integer) The number of measures for a multi-measure rest.
-
measure-length
(moment) Length of a measure. Used in some spacing situations.
-
merge-differently-dotted
(boolean) Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.
merge-differently-dotted
only applies to opposing stem directions (i.e., voice 1 & 2).-
merge-differently-headed
(boolean) Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.
merge-differently-headed
only applies to opposing stem directions (i.e., voice 1 & 2).-
minimum-distance
(dimension, in staff space) Minimum distance between rest and notes or beam.
-
minimum-length
(dimension, in staff space) Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the
springs-and-rods
property. If added to aTie
, this sets the minimum distance between noteheads.-
minimum-length-fraction
(number) Minimum length of ledger line as fraction of note head size.
-
minimum-space
(dimension, in staff space) Minimum distance that the victim should move (after padding).
-
minimum-X-extent
(pair of numbers) Minimum size of an object in X dimension, measured in
staff-space
units.-
minimum-Y-extent
(pair of numbers) Minimum size of an object in Y dimension, measured in
staff-space
units.-
neutral-direction
(direction) Which direction to take in the center of the staff.
-
neutral-position
(number) Position (in half staff spaces) where to flip the direction of custos stem.
-
next
(graphical (layout) object) Object that is next relation (e.g., the lyric syllable following an extender).
-
next-staff-spacing
(list) An alist of properties used to position the next staff in the system. The symbols that can be defined in the alist are
- space – the amount of stretchable space between the center of this staff and the center of the next staff;
- padding – the minimum amount of whitespace that must be present between this staff and the next staff;
- stretchability – the ease with which the stretchable space increases when the system to which this staff belongs is stretched. If this is zero, the distance to the next staff will be fixed either at space or at padding plus the minimum distance to ensure there is no overlap, whichever is larger;
- minimum-distance – the minimum distance to place between the center of this staff and the center of the next. This differs from padding in that the height of a staff has no effect on the application of minimum-distance (whereas the height of a staff is crucial for padding).
-
no-alignment
(boolean) If set, don’t place this grob in a
VerticalAlignment
; rather, place it using its ownY-offset
callback.-
no-ledgers
(boolean) If set, don’t draw ledger lines on this object.
-
no-stem-extend
(boolean) If set, notes with ledger lines do not get stems extending to the middle staff line.
-
non-affinity-spacing
(list) An alist of spacing variables that controls the spacing from a loose line (see staff-affinity) to the staff for which the loose line does not have affinity. See next-staff-spacing for a description of the elements of this alist.
-
non-default
(boolean) Set for manually specified clefs.
-
non-musical
(boolean) True if the grob belongs to a
NonMusicalPaperColumn
.-
note-names
(vector) Vector of strings containing names for easy-notation note heads.
-
outside-staff-horizontal-padding
(number) By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.
-
outside-staff-padding
(number) The padding to place between this grob and the staff when spacing according to
outside-staff-priority
.-
outside-staff-priority
(number) If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller
outside-staff-priority
is closer to the staff.-
packed-spacing
(boolean) If set, the notes are spaced as tightly as possible.
-
padding
(dimension, in staff space) Add this much extra space between objects that are next to each other.
-
padding-pairs
(list) An alist mapping
(name . name)
to distances.-
page-break-penalty
(number) Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.
-
page-break-permission
(symbol) Instructs the page breaker on whether to put a page break at this column. Can be
force
orallow
.-
page-turn-penalty
(number) Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.
-
page-turn-permission
(symbol) Instructs the page breaker on whether to put a page turn at this column. Can be
force
orallow
.-
parenthesized
(boolean) Parenthesize this grob.
-
positions
(pair of numbers) Pair of staff coordinates
(left . right)
, where both left and right are instaff-space
units of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.-
prefer-dotted-right
(boolean) For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.
-
ratio
(number) Parameter for slur shape. The higher this number, the quicker the slur attains its
height-limit
.-
remove-empty
(boolean) If set, remove group if it contains no interesting items.
-
remove-first
(boolean) Remove the first staff of an orchestral score?
-
restore-first
(boolean) Print a natural before the accidental.
-
rhythmic-location
(rhythmic location) Where (bar number, measure position) in the score.
-
right-bound-info
(list) An alist of properties for determining attachments of spanners to edges.
-
right-padding
(dimension, in staff space) Space to insert on the right side of an object (e.g., between note and its accidentals).
-
rotation
(list) Number of degrees to rotate this object, and what point to rotate around. For example,
#'(45 0 0)
rotates by 45 degrees around the center of this object.-
same-direction-correction
(number) Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.
-
script-priority
(number) A sorting key that determines in what order a script is within a stack of scripts.
-
self-alignment-X
(number) Specify alignment of an object. The value
-1
means left aligned,0
centered, and1
right-aligned in X direction. Other numerical values may also be specified.-
self-alignment-Y
(number) Like
self-alignment-X
but for the Y axis.-
shorten-pair
(pair of numbers) The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.
-
shortest-duration-space
(dimension, in staff space) Start with this much space for the shortest duration. This is expressed in
spacing-increment
as unit. See also spacing-spanner-interface.-
shortest-playing-duration
(moment) The duration of the shortest note playing here.
-
shortest-starter-duration
(moment) The duration of the shortest note that starts here.
-
side-axis
(number) If the value is
#X
(or equivalently0
), the object is placed horizontally next to the other object. If the value is#Y
or1
, it is placed vertically.-
side-relative-direction
(direction) Multiply direction of
direction-source
with this to get the direction of this object.-
size
(number) Size of object, relative to standard size.
-
skyline-horizontal-padding
(number) For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.
-
slash-negative-kern
(number) The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.
-
slope
(number) The slope of this object.
-
slur-padding
(number) Extra distance between slur and script.
-
space-alist
(list) A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples:
(break-align-symbol type . distance)
, where type can be the symbolsminimum-space
orextra-space
.-
space-to-barline
(boolean) If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.
-
spacing-increment
(number) Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.
-
springs-and-rods
(boolean) Dummy variable for triggering spacing routines.
-
stacking-dir
(direction) Stack objects in which direction?
-
staff-affinity
(direction) The direction of the staff to which this line should stick.
-
staff-padding
(dimension, in staff space) Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.
-
staff-position
(number) Vertical position, measured in half staff spaces, counted from the middle line.
-
staff-space
(dimension, in staff space) Amount of space between staff lines, expressed in global
staff-space
.-
stem-attachment
(pair of numbers) An
(x . y)
pair where the stem attaches to the notehead.-
stem-end-position
(number) Where does the stem end (the end is opposite to the support-head)?
-
stem-spacing-correction
(number) Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.
-
stemlet-length
(number) How long should be a stem over a rest?
-
stencil
(stencil) The symbol to print.
-
stencils
(list) Multiple stencils, used as intermediate value.
-
strict-grace-spacing
(boolean) If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.
-
strict-note-spacing
(boolean) If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.
-
stroke-style
(string) Set to
"grace"
to turn stroke through flag on.-
style
(symbol) This setting determines in what style a grob is typeset. Valid choices depend on the
stencil
callback reading this property.-
text
(markup) Text markup. See Formatting text.
-
text-direction
(direction) This controls the ordering of the words. The default
RIGHT
is for roman text. Arabic or Hebrew should useLEFT
.-
thick-thickness
(number) Bar line thickness, measured in
line-thickness
.-
thickness
(number) Line thickness, generally measured in
line-thickness
.-
thin-kern
(number) The space after a hair-line in a bar line.
-
tie-configuration
(list) List of
(position . dir)
pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1
=>up,-1
=>down,0
=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.-
to-barline
(boolean) If true, the spanner will stop at the bar line just before it would otherwise stop.
-
toward-stem-shift
(number) Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction.
0.0
means keep the default position (centered on the note head),1.0
means centered on the stem. Interpolated values are possible.-
transparent
(boolean) This makes the grob invisible.
-
uniform-stretching
(boolean) If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.
-
used
(boolean) If set, this spacing column is kept in the spacing problem.
-
vertical-skylines
(pair of skylines) Two skylines, one above and one below this grob.
-
when
(moment) Global time step associated with this column happen?
-
whiteout
(boolean) If true, the grob is printed over a white background to white-out underlying material, if the grob is visible. Usually #f by default.
-
width
(dimension, in staff space) The width of a grob measured in staff space.
-
word-space
(dimension, in staff space) Space to insert between words in texts.
-
X-extent
(pair of numbers) Hard coded extent in X direction.
-
X-offset
(number) The horizontal amount that this object is moved relative to its X-parent.
-
Y-extent
(pair of numbers) Hard coded extent in Y direction.
-
Y-offset
(number) The vertical amount that this object is moved relative to its Y-parent.
-
zigzag-length
(dimension, in staff space) The length of the lines of a zigzag, relative to
zigzag-width
. A value of1
gives 60-degree zigzags.-
zigzag-width
(dimension, in staff space) The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Eigenschaften des Layouts ] | [ Nach oben : Notationsübersicht ] | [ Scheme-Funktionen > ] |
A.15 Bezeichner
-
acciaccatura
- music (music) -
Create an acciaccatura from the following music expression
-
addChordShape
- key-symbol (symbol) tuning (pair) shape-definition (string or pair) -
Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning).
-
addInstrumentDefinition
- name (string) lst (list) -
Create instrument name with properties list.
-
addQuote
- name (string) music (music) -
Define music as a quotable music expression named name
-
afterGrace
- main (music) grace (music) -
Create grace note(s) after a main music expression.
-
allowPageTurn
-
Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score.
-
applyContext
- proc (procedure) -
Modify context properties with Scheme procedure proc.
-
applyMusic
- func (procedure) music (music) -
Apply procedure func to music.
-
applyOutput
- ctx (symbol) proc (procedure) -
Apply function
proc
to every layout object in contextctx
-
appoggiatura
- music (music) -
Create an appoggiatura from music
-
assertBeamQuant
- l (pair) r (pair) -
Testing function: check whether the beam quants l and r are correct
-
assertBeamSlope
- comp (procedure) -
Testing function: check whether the slope of the beam is the same as
comp
-
autochange
- music (music) -
Make voices that switch between staves automatically
-
balloonGrobText
- grob-name (symbol) offset (pair of numbers) text (markup) -
Attach text to grob-name at offset offset (use like
\once
) -
balloonText
- offset (pair of numbers) text (markup) -
Attach text at offset (use like
\tweak
) -
bar
- type (string) -
Insert a bar line of type type
-
barNumberCheck
- n (integer) -
Print a warning if the current bar number is not n.
-
bendAfter
- delta (real number) -
Create a fall or doit of pitch interval delta.
-
bookOutputName
- newfilename (string) -
Direct output for the current book block to newfilename.
-
bookOutputSuffix
- newsuffix (string) -
Set the output filename suffix for the current book block to newsuffix.
-
breathe
-
Insert a breath mark.
-
clef
- type (string) -
Set the current clef to type.
-
cueDuring
- what (string) dir (direction) main-music (music) -
Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.
-
deadNote
- note (music) -
Print note with a cross-shaped note head.
-
defaultNoteHeads
-
Revert to the default note head style.
-
displayLilyMusic
- music (music) -
Display the LilyPond input representation of music to the console.
-
displayMusic
- music (music) -
Display the internal representation of music to the console.
-
endSpanners
- music (music) -
Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner.
-
featherDurations
- factor (moment) argument (music) -
Adjust durations of music in argument by rational factor.
-
grace
- music (music) -
Insert music as grace notes.
-
harmonicNote
- note (music) -
Print note with a diamond-shaped note head.
-
harmonicsOn
-
Set the default note head style to a diamond-shaped style.
-
instrumentSwitch
- name (string) -
Switch instrument to name, which must be predefined with
\addInstrumentDefinition
. -
keepWithTag
- tag (symbol) music (music) -
Include only elements of music that are tagged with tag.
-
killCues
- music (music) -
Remove cue notes from music.
-
label
- label (symbol) -
Create label as a bookmarking label.
-
makeClusters
- arg (music) -
Display chords in arg as clusters.
-
musicMap
- proc (procedure) mus (music) -
Apply proc to mus and all of the music it contains.
-
noPageBreak
-
Forbid a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
noPageTurn
-
Forbid a page turn. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
octaveCheck
- pitch-note (music) -
Octave check.
-
ottava
- octave (number) -
Set the octavation.
-
overrideBeamSettings
- context (symbol) time-signature (pair) rule-type (symbol) grouping-rule (pair) -
Override beamSettings in context for time signatures of time-signature and rules of type rule-type to have a grouping rule alist grouping-rule. rule-type can be
end
orsubdivide
, with a potential future value ofbegin
. grouping-rule is an alist of (beam-type . grouping) entries. grouping is in units of beam-type. If beam-type is*
, grouping is in units of the denominator of time-signature. -
overrideProperty
- name (string) property (symbol) value (any type) -
Set property to value in all grobs named name. The name argument is a string of the form
"Context.GrobName"
or"GrobName"
. -
pageBreak
-
Force a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.
-
pageTurn
-
Force a page turn between two scores or top-level markups.
-
palmMute
- note (music) -
Print note with a triangle-shaped note head.
-
palmMuteOn
-
Set the default note head style to a triangle-shaped style.
-
parallelMusic
- voice-ids (list) music (music) -
Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.
voice-ids: a list of music identifiers (symbols containing only letters)
music: a music sequence, containing BarChecks as limiting expressions.
Example:
\parallelMusic #'(A B C) { c c | d d | e e | d d | e e | f f | } <==> A = { c c | d d | } B = { d d | e e | } C = { e e | f f | }
-
parenthesize
- arg (music) -
Tag arg to be parenthesized.
-
partcombine
- part1 (music) part2 (music) -
Take the music in part1 and part2 and typeset so that they share a staff.
-
phrasingSlurDashPattern
- dash-fraction (number) dash-period (number) -
Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval.
-
pitchedTrill
- main-note (music) secondary-note (music) -
Print a trill with main-note as the main note of the trill and print secondary-note as a stemless note head in parentheses.
-
pointAndClickOff
-
Suppress generating extra code in final-format (e.g. pdf) files to point back to the lilypond source statement.
-
pointAndClickOn
-
Enable generation of code in final-format (e.g. pdf) files to reference the originating lilypond source statement; this is helpful when developing a score but generates bigger final-format files.
-
quoteDuring
- what (string) main-music (music) -
Indicate a section of music to be quoted. what indicates the name of the quoted voice, as specified in an
\addQuote
command. main-music is used to indicate the length of music to be quoted; usually contains spacers or multi-measure rests. -
removeWithTag
- tag (symbol) music (music) -
Remove elements of music that are tagged with tag.
-
resetRelativeOctave
- reference-note (music) -
Set the octave inside a \relative section.
-
revertBeamSettings
- context (symbol) time-signature (pair) rule-type (symbol) -
Revert beam settings in context for time signatures of time-signature and groups of type group-type. group-type can be
end
orsubdivide
. -
rightHandFinger
- finger (number or string) -
Apply finger as a fingering indication.
-
scaleDurations
- fraction (pair of numbers) music (music) -
Multiply the duration of events in music by fraction.
-
setBeatGrouping
- grouping (pair) -
Set the beat grouping in the current time signature to grouping.
-
shiftDurations
- dur (integer) dots (integer) arg (music) -
Scale arg up by a factor of 2^dur*(2-(1/2)^dots).
-
slurDashPattern
- dash-fraction (number) dash-period (number) -
(undocumented; fixme)
-
spacingTweaks
- parameters (list) -
Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list.
-
storePredefinedDiagram
- chord (music) tuning (pair) diagram-definition (string or pair) -
Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.
-
styledNoteHeads
- style (symbol) heads (list or symbol) music (music) -
Set heads in music to style.
-
tabChordRepetition
-
Include the string information in a chord repetition.
-
tag
- tag (symbol) arg (music) -
Add tag to the
tags
property of arg. -
tieDashPattern
- dash-fraction (number) dash-period (number) -
(undocumented; fixme)
-
tocItem
- text (markup) -
Add a line to the table of content, using the
tocItemMarkup
paper variable markup -
transposedCueDuring
- what (string) dir (direction) pitch-note (music) main-music (music) -
Insert notes from the part what into a voice called
cue
, using the transposition defined by pitch-note. This happens simultaneously with main-music, which is usually a rest. The argument dir determines whether the cue notes should be notated as a first or second voice. -
transposition
- pitch-note (music) -
Set instrument transposition
-
tweak
- sym (symbol) val (any type) arg (music) -
Add
sym . val
to thetweaks
property of arg. -
unfoldRepeats
- music (music) -
Force any
\repeat volta
,\repeat tremolo
or\repeat percent
commands in music to be interpreted as\repeat unfold
. -
withMusicProperty
- sym (symbol) val (any type) music (music) -
Set sym to val in music.
-
xNote
- note (music) -
Print note with a cross-shaped note head.
-
xNotesOn
-
Set the default note head style to a cross-shaped style.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ Befehlsübersicht >> ] | ||
[ < Bezeichner ] | [ Nach oben : Notationsübersicht ] | [ Befehlsübersicht > ] |
A.16 Scheme-Funktionen
- Function: ly:add-context-mod contextmods modification
Adds the given context modification to the list contextmods of context modifications.
- Function: ly:add-interface iface desc props
Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.
- Function: ly:add-listener list disp cl
Add the listener list to the dispatcher disp. Whenever disp hears an event of class cl, it is forwarded to list.
- Function: ly:add-option sym val description
Add a program option sym. val is the default value and description is a string description.
- Function: ly:assoc-get key alist default-value strict-checking
Return value if key in alist, else default-value (or
#f
if not specified). If strict-checking is set to#t
and key is not in alist, a programming_error is output.
- Function: ly:axis-group-interface::add-element grob grob-element
Set grob the parent of grob-element on all axes ofgrob.
- Function: ly:beam-grouping settings time-signature rule-type beam-type
Return grouping for beams of beam-type in time-signature for rule-type from settings.
- Function: ly:book-process book-smob default-paper default-layout output
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
- Function: ly:book-process-to-systems book-smob default-paper default-layout output
Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).
- Function: ly:bracket a iv t p
Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.
- Function: ly:chain-assoc-get key achain default-value strict-checking
Return value for key from a list of alists achain. If no entry is found, return default-value or
#f
if default-value is not specified. With strict-checking set to#t
, a programming_error is output in such cases.
- Function: ly:clear-anonymous-modules
Plug a GUILE 1.6 and 1.7 memory leak by breaking a weak reference pointer cycle explicitly.
- Function: ly:context-events-below context
Return a
stream-distributor
that distributes all events from context and all its subcontexts.
- Function: ly:context-find context name
Find a parent of context that has name or alias name. Return
#f
if not found.
- Function: ly:context-grob-definition context name
Return the definition of name (a symbol) within context as an alist.
- Function: ly:context-id context
Return the ID string of context, i.e., for
\context Voice = one …
return the stringone
.
- Function: ly:context-name context
Return the name of context, i.e., for
\context Voice = one …
return the symbolVoice
.
- Function: ly:context-property context sym def
Return the value for property sym in context. If def is given, and property value is
'()
, return def.
- Function: ly:context-property-where-defined context name
Return the context above context where name is defined.
- Function: ly:context-pushpop-property context grob eltprop val
Do a single
\override
or\revert
operation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).
- Function: ly:context-set-property! context name val
Set value of property name in context context to val.
- Function: ly:dimension? d
Return d as a number. Used to distinguish length variables from normal numbers.
- Function: ly:dir? s
Is s a direction? Valid directions are
-1
,0
, or1
, where-1
represents left or down,1
represents right or up, and0
represents a neutral direction.
- Function: ly:engraver-make-grob engraver grob-name cause
Creates a grob originating from given engraver instance, with give
grob_name
, a symbol.cause
should either be another grob or a music event.
- Function: ly:error str rest
A Scheme callable function to issue the error str. The error is formatted with
format
and rest.
- Function: ly:eval-simple-closure delayed closure scm-start scm-end
Evaluate a simple closure with the given delayed argument. If scm-start and scm-end are defined, evaluate it purely with those start and end points.
- Function: ly:event-property sev sym
Get the property sym of stream event mus. If sym is undefined, return
'()
.
- Function: ly:font-design-size font
Given the font metric font, return the design size, relative to the current output-scale.
- Function: ly:font-get-glyph font name
Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-glyph-name-to-charcode font name
Return the character code for glyph name in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-glyph-name-to-index font name
Return the index for name in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-index-to-charcode font index
Return the character code for index in font.
Note that this command can only be used to access glyphs from fonts loaded with
ly:system-font-load
; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodingsfetaMusic
andfetaBraces
, respectively.
- Function: ly:font-magnification font
Given the font metric font, return the magnification, relative to the current output-scale.
- Function: ly:font-sub-fonts font
Given the font metric font of an OpenType font, return the names of the subfonts within font.
- Function: ly:format str rest
LilyPond specific format, supporting
~a
and~[0-9]f
. Basic support for~s
is also provided.
- Function: ly:format-output context
Given a global context in its final state, process it and return the
Music_output
object in its final state.
- Function: ly:get-all-function-documentation
Get a hash table with all LilyPond Scheme extension functions.
- Function: ly:get-context-mods contextmod
Returns the list of context modifications stored in contextmod.
- Function: ly:get-listened-event-classes
Return a list of all event classes that some translator listens to.
- Function: ly:grob-alist-chain grob global
Get an alist chain for grob grob, with global as the global default. If unspecified,
font-defaults
from the layout block is taken.
- Function: ly:grob-common-refpoint grob other axis
Find the common refpoint of grob and other for axis.
- Function: ly:grob-common-refpoint-of-array grob others axis
Find the common refpoint of grob and others (a grob-array) for axis.
- Function: ly:grob-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp.
- Function: ly:grob-object grob sym
Return the value of a pointer in grob g of property sym. It returns
'()
(end-of-list) if sym is undefined in g.
- Function: ly:grob-parent grob axis
Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.
- Function: ly:grob-property grob sym val
Return the value for property sym of grob. If no value is found, return val or
'()
if val is not specified.
- Function: ly:grob-property-data grob sym
Return the value for property sym of grob, but do not process callbacks.
- Function: ly:grob-relative-coordinate grob refp axis
Get the coordinate in axis direction of grob relative to the grob refp.
- Function: ly:grob-robust-relative-extent grob refp axis
Get the extent in axis direction of grob relative to the grob refp, or
(0,0)
if empty.
- Function: ly:grob-set-nested-property! grob symlist val
Set nested property symlist in grob grob to value val.
- Function: ly:grob-set-parent! grob axis parent-grob
Set parent-grob the parent of grob grob in axis axis.
- Function: ly:grouping-rules settings time-signature rule-type
Return grouping rules for time-signature and rule-type from settings.
- Function: ly:gulp-file name size
Read the file name, and return its contents in a string. The file is looked up using the search path.
- Function: ly:input-both-locations sip
Return input location in sip as
(file-name first-line first-column last-line last-column)
.
- Function: ly:input-file-line-char-column sip
Return input location in sip as
(file-name line char column)
.
- Function: ly:input-message sip msg rest
Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to
format
’s argument, using rest.
- Function: ly:interpret-music-expression mus ctx
Interpret the music expression mus in the global context ctx. The context is returned in its final state.
- Function: ly:interpret-stencil-expression expr func arg1 offset
Parse expr, feed bits to func with first arg arg1 having offset offset.
- Function: ly:item-break-dir it
The break status direction of item it.
-1
means end of line,0
unbroken, and1
beginning of line.
- Function: ly:lexer-keywords lexer
Return a list of
(KEY . CODE)
pairs, signifying the LilyPond reserved words list.
- Function: ly:make-book paper header scores
Make a
\book
of paper and header (which may be#f
as well) containing\scores
.
- Function: ly:make-duration length dotcount num den
length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.
The duration factor is optionally given by num and den.
A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.
- Function: ly:make-global-context output-def
Set up a global interpretation context, using the output block output_def. The context is returned.
- Function: ly:make-global-translator global
Create a translator group and connect it to the global context global. The translator group is returned.
- Function: ly:make-listener callback
Create a listener. Any time the listener hears an object, it will call callback with that object.
callback should take exactly one argument.
- Function: ly:make-moment n d gn gd
Create the rational number with main timing n/d, and optional grace timing gn/gd.
A moment is a point in musical time. It consists of a pair of rationals (m, g), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.
- Function: ly:make-music props
Make a C++
Music
object and initialize it with props.This function is for internal use and is only called by
make-music
, which is the preferred interface for creating music objects.
- Function: ly:make-music-function signature func
Make a function to process music, to be used for the parser.
func
is the function, andsignature
describes its arguments.signature
is a list containing eitherly:music?
predicates or other type predicates.
- Function: ly:make-page-permission-marker symbol permission
Return page marker with page breaking and turning permissions.
- Function: ly:make-pango-description-string chain size
Make a
PangoFontDescription
string for the property alist chain at size size.
- Function: ly:make-paper-outputter port format
Create an outputter that evaluates within
output-
format, writing to port.
- Function: ly:make-pitch octave note alter
octave is specified by an integer, zero for the octave containing middle C. note is a number indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. alter is a rational number of 200-cent whole tones for alteration.
- Function: ly:make-scale steps
Create a scale. The argument is a vector of rational numbers, each of which represents the number of 200 cent tones of a pitch above the tonic.
- Function: ly:make-simple-closure expr
Make a simple closure. expr should be form of
(func a1 A2 …)
, and will be invoked as(func delayed-arg a1 a2 …)
.
- Function: ly:make-stencil expr xext yext
Stencils are device independent output expressions. They carry two pieces of information:
- A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
-
The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use
(1000 . -1000)
as its value), it is taken to be empty.
- Function: ly:make-stream-event cl proplist
Create a stream event of class cl with the given mutable property list.
- Function: ly:message str rest
A Scheme callable function to issue the message str. The message is formatted with
format
and rest.
- Function: ly:minimal-breaking pb
Break (pages and lines) the
Paper_book
object pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.
- Function: ly:modules-lookup modules sym def
Look up sym in the list modules, returning the first occurence. If not found, return def or
#f
if def isn’t specified.
- Function: ly:music-length mus
Get the length of music expression mus and return it as a
Moment
object.
- Function: ly:music-mutable-properties mus
Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the
make-music
function.
- Function: ly:music-property mus sym val
Return the value for property sym of music expression mus. If no value is found, return val or
'()
if val is not specified.
- Function: ly:note-column-accidentals note-column
Return the
AccidentalPlacement
grob from note_columnif any, orSCM_EOL
otherwise.
- Function: ly:note-column-dot-column note-column
Return the
DotColumn
grob from note_columnif any, orSCM_EOL
otherwise.
- Function: ly:note-head::stem-attachment font-metric glyph-name
Get attachment in font-metric for attaching a stem to notehead glyph-name.
- Function: ly:optimal-breaking pb
Optimally break (pages and lines) the
Paper_book
object pb to minimize badness in bother vertical and horizontal spacing.
- Function: ly:otf->cff otf-file-name
Convert the contents of an OTF file to a CFF file, returning it as a string.
- Function: ly:otf-font-glyph-info font glyph
Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).
- Function: ly:otf-font-table-data font tag
Extract a table tag from font. Return empty string for non-existent tag.
- Function: ly:output-def-lookup def sym val
Return the value of sym in output definition def (e.g.,
\paper
). If no value is found, return val or'()
if val is undefined.
- Function: ly:page-turn-breaking pb
Optimally break (pages and lines) the
Paper_book
object pb such that page turns only happen in specified places, returning its pages.
- Function: ly:pango-font-physical-fonts f
Return alist of
(ps-name file-name font-index)
lists for Pango font f.
- Function: ly:paper-book-paper pb
Return the paper output definition (
\paper
) inPaper_book
object pb.
- Function: ly:paper-fonts def
Return a list containing the fonts from output definition def (e.g.,
\paper
).
- Function: ly:paper-get-font def chain
Find a font metric in output definition def satisfying the font-qualifiers in alist chain chain, and return it. (An alist chain is a list of alists, containing grob properties.)
- Function: ly:paper-get-number def sym
Return the value of variable sym in output definition def as a double.
- Function: ly:paper-score-paper-systems paper-score
Return vector of
paper_system
objects from paper-score.
- Function: ly:paper-system-minimum-distance sys1 sys2
Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.
- Function: ly:parser-lookup parser-smob symbol
Look up symbol in parser-smob’s module. Return
'()
if not defined.
- Function: ly:parser-parse-string parser-smob ly-code
Parse the string ly-code with parser-smob. Upon failure, throw
ly-file-failed
key.
- Function: ly:parser-set-note-names parser names
Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.
- Function: ly:parser-set-repetition-function parser fun
Replace the current repetition function in parser. fun is the new repetition function.
- Function: ly:parser-set-repetition-symbol parser sym
Replace the current repetition symbol in parser. sym is the new repetition symbol.
- Function: ly:pitch-diff pitch root
Return pitch delta such that pitch transposed by delta equals root.
- Function: ly:pitch-transpose p delta
Transpose p by the amount delta, where delta is relative to middle C.
- Function: ly:pointer-group-interface::add-grob grob sym grob-element
Add grob-element to grob’s sym grob array.
- Function: ly:position-on-line? sg spos
Return whether spos is on a line of the staff associated with the grob sg (even on an extender line).
- Function: ly:prob-property prob sym val
Return the value for property sym of Prob object prob. If no value is found, return val or
'()
if val is not specified.
- Function: ly:programming-error str rest
A Scheme callable function to issue the internal warning str. The message is formatted with
format
and rest.
- Function: ly:progress str rest
A Scheme callable function to print progress str. The message is formatted with
format
and rest.
- Function: ly:property-lookup-stats sym
Return hash table with a property access corresponding to sym. Choices are
prob
,grob
, andcontext
.
- Function: ly:relative-group-extent elements common axis
Determine the extent of elements relative to common in the axis direction.
- Function: ly:round-filled-box xext yext blot
Make a
Stencil
object that prints a black box of dimensions xext, yext and roundness blot.
- Function: ly:round-filled-polygon points blot
Make a
Stencil
object that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot.
- Function: ly:run-translator mus output-def
Process mus according to output-def. An interpretation context is set up, and mus is interpreted with it. The context is returned in its final state.
Optionally, this routine takes an object-key to to uniquely identify the score block containing it.
- Function: ly:score-embedded-format score layout
Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines.
- Function: ly:set-default-scale scale
Set the global default scale. This determines the tuning of pitches with no accidentals or key signatures. The first pitch is C. Alterations are calculated relative to this scale. The number of pitches in this scale determines the number of scale steps that make up an octave. Usually the 7-note major scale.
- Function: ly:set-grob-modification-callback cb
Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.
- Function: ly:set-middle-C! context
Set the
middleCPosition
variable in context based on the variablesmiddleCClefPosition
and middleCOffset.
- Function: ly:set-property-cache-callback cb
Specify a procedure that will be called whenever lilypond calculates a callback function and caches the result. The callback will receive as arguments the grob whose property it is, the name of the property, the name of the callback that calculated the property, and the new (cached) value of the property.
- Function: ly:solve-spring-rod-problem springs rods length ragged
Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format
(ideal, inverse_hook)
and rods is of the form(idx1, idx2, distance)
.length is a number, ragged a boolean.
The function returns a list containing the force (positive for stretching, negative for compressing and
#f
for non-satisfied constraints) followed by spring-count+1 positions of the objects.
- Function: ly:spanner-bound spanner dir
Get one of the bounds of spanner. dir is
-1
for left, and1
for right.
- Function: ly:staff-symbol-line-thickness grob
Returns the
line-thickness
of the staff associated with grob.
- Function: ly:staff-symbol-staff-space grob
Returns the
staff-space
of the staff associated with grob.
- Function: ly:start-environment
Return the environment (a list of strings) that was in effect at program start.
- Function: ly:stencil-aligned-to stil axis dir
Align stil using its own extents. dir is a number.
-1
and1
are left and right, respectively. Other values are interpolated (so0
means the center).
- Function: ly:stencil-combine-at-edge first axis direction second padding minimum
Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. If this puts the reference points closer than minimum, they are moved by the latter amount. first and second may also be
'()
or#f
.
- Function: ly:stencil-extent stil axis
Return a pair of numbers signifying the extent of stil in axis direction (
0
or1
for x and y axis, respectively).
- Function: ly:stencil-rotate stil angle x y
Return a stencil stil rotated angle degrees around the relative offset (x, y). E.g. an offset of (-1, 1) will rotate the stencil around the left upper corner.
- Function: ly:stencil-rotate-absolute stil angle x y
Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.
- Function: ly:stencil-translate stil offset
Return a stil, but translated by offset (a pair of numbers).
- Function: ly:stencil-translate-axis stil amount axis
Return a copy of stil but translated by amount in axis direction.
- Function: ly:string-percent-encode str
Encode all characters in string str with hexadecimal percent escape sequences, with the following exceptions: characters
-
,.
,/
, and_
; and characters in ranges0-9
,A-Z
, anda-z
.
- Function: ly:success str rest
A Scheme callable function to issue a success message
str
. The message is formatted withformat
andrest
.
- Function: ly:system-font-load name
Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called
LILC
,LILF
, andLILY
, needed for typesetting musical elements. Currently, only the Emmentaler and the Emmentaler-Brace fonts fulfill these requirements.Note that only
ly:font-get-glyph
and derived code (like\lookup
) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.
- Function: ly:text-interface::interpret-markup
Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.
layout is a
\layout
block; it may be obtained from a grob withly:grob-layout
. props is an alist chain, i.e. a list of alists. This is typically obtained with(ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults))
. markup is the markup text to be processed.
- Function: ly:translator-name trans
Return the type name of the translator object trans. The name is a symbol.
- Function: ly:ttf->pfa ttf-file-name idx
Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
- Function: ly:ttf-ps-name ttf-file-name idx
Extract the PostScript name from a TrueType font. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.
- Function: ly:warning str rest
A Scheme callable function to issue the warning
str
. The message is formatted withformat
andrest
.
[ << Notationsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ LilyPond-Grammatik >> ] | ||
[ < Scheme-Funktionen ] | [ Nach oben : Top ] | [ LilyPond-Grammatik > ] |
B. Befehlsübersicht
Syntax | Erklärung | Beispiel |
| Tondauern | |
| Punktierung | |
| Tonleiter | |
| Vorzeichen | |
| Notenschlüssel | |
| Taktangaben | |
| Pause | |
| Bindebogen | |
| Tonart | |
note | Oktavierung | |
note | Oktavierung nach unten | |
| Legatobogen | |
| Phrasierungsbogen | |
| Balken | |
| mehr Notensysteme | |
| Artikulationszeichen | |
| Dynamik | |
| Crescendo | |
| Decrescendo | |
| Noten im Akkord | |
| Auftakt | |
| Triolen | |
| Verzierungen | |
| Texteingabe | twinkle |
| Gesangtext | |
| Gesangtext-Trennstrich | |
| Akkorde | |
| Akkordsymbole drucken | |
| Mehrstimmigkeit | |
| unsichtbare Pausen |
[ << Befehlsübersicht ] | [Anfang][Inhalt][Index][ ? ] | [ GNU Free Documentation License >> ] | ||
[ < Befehlsübersicht ] | [ Nach oben : Top ] | [ GNU Free Documentation License > ] |
C. LilyPond-Grammatik
Dieser Anhang enthält eine Beschreibung der LilyPond-Grammatik, wie sie der Parser ausgibt.
Grammar 1 lilypond: /* empty */ 2 | lilypond toplevel_expression 3 | lilypond assignment 4 | lilypond error 5 | lilypond "\invalid" 6 toplevel_expression: lilypond_header 7 | book_block 8 | bookpart_block 9 | score_block 10 | composite_music 11 | full_markup 12 | full_markup_list 13 | output_def 14 embedded_scm: SCM_TOKEN 15 | SCM_IDENTIFIER 16 lilypond_header_body: /* empty */ 17 | lilypond_header_body assignment 18 lilypond_header: "\header" '{' lilypond_header_body '}' 19 assignment_id: STRING 20 | LYRICS_STRING 21 assignment: assignment_id '=' identifier_init 22 | assignment_id property_path '=' identifier_init 23 | embedded_scm 24 identifier_init: score_block 25 | book_block 26 | bookpart_block 27 | output_def 28 | context_def_spec_block 29 | music 30 | post_event 31 | number_expression 32 | string 33 | embedded_scm 34 | full_markup 35 | DIGIT 36 | context_modification 37 context_def_spec_block: "\context" '{' context_def_spec_body '}' 38 context_def_spec_body: /* empty */ 39 | CONTEXT_DEF_IDENTIFIER 40 | context_def_spec_body "\grobdescriptions" embedded_scm 41 | context_def_spec_body context_mod 42 | context_def_spec_body context_modification 43 book_block: "\book" '{' book_body '}' 44 book_body: /* empty */ 45 | BOOK_IDENTIFIER 46 | book_body paper_block 47 | book_body bookpart_block 48 | book_body score_block 49 | book_body composite_music 50 | book_body full_markup 51 | book_body full_markup_list 52 | book_body lilypond_header 53 | book_body error 54 bookpart_block: "\bookpart" '{' bookpart_body '}' 55 bookpart_body: /* empty */ 56 | BOOK_IDENTIFIER 57 | bookpart_body paper_block 58 | bookpart_body score_block 59 | bookpart_body composite_music 60 | bookpart_body full_markup 61 | bookpart_body full_markup_list 62 | bookpart_body lilypond_header 63 | bookpart_body error 64 score_block: "\score" '{' score_body '}' 65 score_body: music 66 | SCORE_IDENTIFIER 67 | score_body lilypond_header 68 | score_body output_def 69 | score_body error 70 paper_block: output_def 71 output_def: output_def_body '}' 72 output_def_head: "\paper" 73 | "\midi" 74 | "\layout" 75 output_def_head_with_mode_switch: output_def_head 76 output_def_body: output_def_head_with_mode_switch '{' 77 | output_def_head_with_mode_switch '{' OUTPUT_DEF_IDENTIFIER 78 | output_def_body assignment 79 | output_def_body context_def_spec_block 80 | output_def_body error 81 tempo_event: "\tempo" steno_duration '=' bare_unsigned 82 | "\tempo" string steno_duration '=' bare_unsigned 83 | "\tempo" full_markup steno_duration '=' bare_unsigned 84 | "\tempo" string 85 | "\tempo" full_markup 86 music_list: /* empty */ 87 | music_list music 88 | music_list embedded_scm 89 | music_list error 90 music: simple_music 91 | composite_music 92 alternative_music: /* empty */ 93 | "\alternative" '{' music_list '}' 94 repeated_music: "\repeat" simple_string unsigned_number music alternative_music 95 sequential_music: "\sequential" '{' music_list '}' 96 | '{' music_list '}' 97 simultaneous_music: "\simultaneous" '{' music_list '}' 98 | "<<" music_list ">>" 99 simple_music: event_chord 100 | MUSIC_IDENTIFIER 101 | music_property_def 102 | context_change 104 context_modification: "\with" '{' context_mod_list '}' 105 | "\with" CONTEXT_MOD_IDENTIFIER 106 | CONTEXT_MOD_IDENTIFIER 107 optional_context_mod: /* empty */ 108 | context_modification 109 context_mod_list: /* empty */ 110 | context_mod_list context_mod 111 | context_mod_list CONTEXT_MOD_IDENTIFIER 112 composite_music: prefix_composite_music 113 | grouped_music_list 114 grouped_music_list: simultaneous_music 115 | sequential_music 116 function_scm_argument: embedded_scm 117 | simple_string 118 function_arglist_music_last: EXPECT_MUSIC function_arglist music 119 function_arglist_nonmusic_last: EXPECT_MARKUP function_arglist full_markup 120 | EXPECT_MARKUP function_arglist simple_string 121 | EXPECT_SCM function_arglist function_scm_argument 122 function_arglist_nonmusic: EXPECT_NO_MORE_ARGS 123 | EXPECT_MARKUP function_arglist_nonmusic full_markup 124 | EXPECT_MARKUP function_arglist_nonmusic simple_string 125 | EXPECT_SCM function_arglist_nonmusic function_scm_argument 126 function_arglist: EXPECT_NO_MORE_ARGS 127 | function_arglist_music_last 128 | function_arglist_nonmusic_last 129 generic_prefix_music_scm: MUSIC_FUNCTION function_arglist 130 optional_id: /* empty */ 131 | '=' simple_string 132 prefix_composite_music: generic_prefix_music_scm 133 | "\context" simple_string optional_id optional_context_mod music 134 | "\new" simple_string optional_id optional_context_mod music 135 | "\times" fraction music 136 | repeated_music 137 | "\transpose" pitch_also_in_chords pitch_also_in_chords music 138 | mode_changing_head grouped_music_list 139 | mode_changing_head_with_context optional_context_mod grouped_music_list 140 | relative_music 141 | re_rhythmed_music 142 mode_changing_head: "\notemode" 143 | "\drummode" 144 | "\figuremode" 145 | "\chordmode" 146 | "\lyricmode" 147 mode_changing_head_with_context: "\drums" 148 | "\figures" 149 | "\chords" 150 | "\lyrics" 151 relative_music: "\relative" absolute_pitch music 152 | "\relative" composite_music 154 new_lyrics: "\addlyrics" grouped_music_list 156 new_lyrics: new_lyrics "\addlyrics" grouped_music_list 157 re_rhythmed_music: grouped_music_list new_lyrics 159 re_rhythmed_music: "\lyricsto" simple_string music 160 context_change: "\change" STRING '=' STRING 161 property_path_revved: embedded_scm 162 | property_path_revved embedded_scm 163 property_path: property_path_revved 164 property_operation: STRING '=' scalar 165 | "\unset" simple_string 166 | "\override" simple_string property_path '=' scalar 167 | "\revert" simple_string embedded_scm 168 context_def_mod: "\consists" 169 | "\remove" 170 | "\accepts" 171 | "\defaultchild" 172 | "\denies" 173 | "\alias" 174 | "\type" 175 | "\description" 176 | "\name" 177 context_mod: property_operation 178 | context_def_mod STRING 179 | context_def_mod embedded_scm 180 context_prop_spec: simple_string 181 | simple_string '.' simple_string 182 simple_music_property_def: "\override" context_prop_spec property_path '=' scalar 183 | "\revert" context_prop_spec embedded_scm 184 | "\set" context_prop_spec '=' scalar 185 | "\unset" context_prop_spec 186 music_property_def: simple_music_property_def 187 | "\once" simple_music_property_def 188 string: STRING 189 | STRING_IDENTIFIER 190 | string '+' string 191 simple_string: STRING 192 | LYRICS_STRING 193 | STRING_IDENTIFIER 194 scalar: string 195 | LYRICS_STRING 196 | bare_number 197 | embedded_scm 198 | full_markup 199 | DIGIT 200 event_chord: simple_chord_elements post_events 201 | CHORD_REPETITION optional_notemode_duration post_events 202 | MULTI_MEASURE_REST optional_notemode_duration post_events 203 | command_element 204 | note_chord_element 205 note_chord_element: chord_body optional_notemode_duration post_events 206 chord_body: "<" chord_body_elements ">" 207 chord_body_elements: /* empty */ 208 | chord_body_elements chord_body_element 209 chord_body_element: pitch exclamations questions octave_check post_events 210 | DRUM_PITCH post_events 211 | music_function_chord_body 212 music_function_identifier_musicless_prefix: MUSIC_FUNCTION 213 music_function_chord_body: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic chord_body_element 214 | music_function_identifier_musicless_prefix function_arglist_nonmusic 215 music_function_event: music_function_identifier_musicless_prefix EXPECT_MUSIC function_arglist_nonmusic post_event 216 | music_function_identifier_musicless_prefix function_arglist_nonmusic 217 command_element: command_event 218 | "\skip" duration_length 219 | "\[" 220 | "\]" 221 | "\" 222 | '|' 223 | "\partial" duration_length 224 | "\time" fraction 225 | "\mark" scalar 226 command_event: "\~" 227 | "\mark" "\default" 228 | tempo_event 229 | "\key" "\default" 230 | "\key" NOTENAME_PITCH SCM_IDENTIFIER 231 post_events: /* empty */ 232 | post_events post_event 233 post_event: direction_less_event 234 | '-' music_function_event 235 | "--" 236 | "__" 237 | script_dir direction_reqd_event 238 | script_dir direction_less_event 239 | string_number_event 240 string_number_event: E_UNSIGNED 241 direction_less_char: '[' 242 | ']' 243 | '~' 244 | '(' 245 | ')' 246 | "\!" 247 | "\(" 248 | "\)" 249 | "\>" 250 | "\<" 251 direction_less_event: direction_less_char 252 | EVENT_IDENTIFIER 253 | tremolo_type 254 direction_reqd_event: gen_text_def 255 | script_abbreviation 256 octave_check: /* empty */ 257 | '=' 258 | '=' sub_quotes 259 | '=' sup_quotes 260 sup_quotes: ''' 261 | sup_quotes ''' 262 sub_quotes: ',' 263 | sub_quotes ',' 264 steno_pitch: NOTENAME_PITCH 265 | NOTENAME_PITCH sup_quotes 266 | NOTENAME_PITCH sub_quotes 267 steno_tonic_pitch: TONICNAME_PITCH 268 | TONICNAME_PITCH sup_quotes 269 | TONICNAME_PITCH sub_quotes 270 pitch: steno_pitch 271 pitch_also_in_chords: pitch 272 | steno_tonic_pitch 273 gen_text_def: full_markup 274 | string 275 | DIGIT 276 script_abbreviation: '^' 277 | '+' 278 | '-' 279 | '|' 280 | ">" 281 | '.' 282 | '_' 283 script_dir: '_' 284 | '^' 285 | '-' 286 absolute_pitch: steno_pitch 287 duration_length: multiplied_duration 288 optional_notemode_duration: /* empty */ 289 | multiplied_duration 290 steno_duration: bare_unsigned dots 291 | DURATION_IDENTIFIER dots 292 multiplied_duration: steno_duration 293 | multiplied_duration '*' bare_unsigned 294 | multiplied_duration '*' FRACTION 295 fraction: FRACTION 296 | UNSIGNED '/' UNSIGNED 297 dots: /* empty */ 298 | dots '.' 299 tremolo_type: ':' 300 | ':' bare_unsigned 301 bass_number: DIGIT 302 | UNSIGNED 303 | STRING 304 | full_markup 305 figured_bass_alteration: '-' 306 | '+' 307 | '!' 308 bass_figure: "_" 309 | bass_number 310 | bass_figure ']' 311 | bass_figure figured_bass_alteration 312 | bass_figure figured_bass_modification 313 figured_bass_modification: "\+" 314 | "\!" 315 | '/' 316 | "\" 317 br_bass_figure: bass_figure 318 | '[' bass_figure 319 figure_list: /* empty */ 320 | figure_list br_bass_figure 321 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE 322 optional_rest: /* empty */ 323 | "\rest" 324 simple_element: pitch exclamations questions octave_check optional_notemode_duration optional_rest 325 | DRUM_PITCH optional_notemode_duration 326 | RESTNAME optional_notemode_duration 327 | lyric_element optional_notemode_duration 328 simple_chord_elements: simple_element 329 | new_chord 330 | figure_spec optional_notemode_duration 331 lyric_element: lyric_markup 332 | LYRICS_STRING 333 new_chord: steno_tonic_pitch optional_notemode_duration 334 | steno_tonic_pitch optional_notemode_duration chord_separator chord_items 335 chord_items: /* empty */ 336 | chord_items chord_item 337 chord_separator: ":" 338 | "^" 339 | "/" steno_tonic_pitch 340 | "/+" steno_tonic_pitch 341 chord_item: chord_separator 342 | step_numbers 343 | CHORD_MODIFIER 344 step_numbers: step_number 345 | step_numbers '.' step_number 346 step_number: bare_unsigned 347 | bare_unsigned '+' 348 | bare_unsigned "-" 349 number_expression: number_expression '+' number_term 350 | number_expression '-' number_term 351 | number_term 352 number_term: number_factor 353 | number_factor '*' number_factor 354 | number_factor '/' number_factor 355 number_factor: '-' number_factor 356 | bare_number 357 bare_number: UNSIGNED 358 | REAL 359 | NUMBER_IDENTIFIER 360 | REAL NUMBER_IDENTIFIER 361 | UNSIGNED NUMBER_IDENTIFIER 362 bare_unsigned: UNSIGNED 363 | DIGIT 364 unsigned_number: bare_unsigned 365 | NUMBER_IDENTIFIER 366 exclamations: /* empty */ 367 | exclamations '!' 368 questions: /* empty */ 369 | questions '?' 370 lyric_markup: LYRIC_MARKUP_IDENTIFIER 372 lyric_markup: LYRIC_MARKUP markup_top 374 full_markup_list: "\markuplines" markup_list 375 full_markup: MARKUP_IDENTIFIER 377 full_markup: "\markup" markup_top 378 markup_top: markup_list 379 | markup_head_1_list simple_markup 380 | simple_markup 381 markup_list: markup_composed_list 382 | markup_braced_list 383 | markup_command_list 384 markup_composed_list: markup_head_1_list markup_braced_list 385 markup_braced_list: '{' markup_braced_list_body '}' 386 markup_braced_list_body: /* empty */ 387 | markup_braced_list_body markup 388 | markup_braced_list_body markup_list 389 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments 390 markup_command_basic_arguments: EXPECT_MARKUP_LIST markup_command_list_arguments markup_list 391 | EXPECT_SCM markup_command_list_arguments embedded_scm 392 | EXPECT_NO_MORE_ARGS 393 markup_command_list_arguments: markup_command_basic_arguments 394 | EXPECT_MARKUP markup_command_list_arguments markup 395 markup_head_1_item: MARKUP_FUNCTION EXPECT_MARKUP markup_command_list_arguments 396 markup_head_1_list: markup_head_1_item 397 | markup_head_1_list markup_head_1_item 398 simple_markup: STRING 399 | MARKUP_IDENTIFIER 400 | LYRIC_MARKUP_IDENTIFIER 401 | STRING_IDENTIFIER 403 simple_markup: "\score" '{' score_body '}' 404 | MARKUP_FUNCTION markup_command_basic_arguments 405 markup: markup_head_1_list simple_markup 406 | simple_markup Terminals, with rules where they appear "-" (319) 348 "--" (340) 235 "/" (320) 339 "/+" (316) 340 ":" (318) 337 "<" (321) 206 "<<" (323) 98 ">" (322) 206 280 ">>" (324) 98 "\!" (329) 246 314 "\" (325) 221 316 "\(" (331) 247 "\)" (328) 248 "\+" (334) 313 "\<" (333) 250 "\>" (326) 249 "\[" (330) 219 "\]" (332) 220 "\accepts" (261) 170 "\addlyrics" (259) 154 156 "\alias" (262) 173 "\alternative" (263) 93 "\book" (264) 43 "\bookpart" (265) 54 "\C[haracter]" (327) "\change" (266) 160 "\chordmode" (267) 145 "\chords" (268) 149 "\consists" (269) 168 "\context" (270) 37 133 "\default" (271) 227 229 "\defaultchild" (272) 171 "\denies" (273) 172 "\description" (274) 175 "\drummode" (275) 143 "\drums" (276) 147 "\figuremode" (277) 144 "\figures" (278) 148 "\grobdescriptions" (279) 40 "\header" (280) 18 "\invalid" (281) 5 "\key" (282) 229 230 "\layout" (283) 74 "\lyricmode" (284) 146 "\lyrics" (285) 150 "\lyricsto" (286) 159 "\mark" (287) 225 227 "\markup" (288) 377 "\markuplines" (289) 374 "\midi" (290) 73 "\name" (291) 176 "\new" (315) 134 "\notemode" (292) 142 "\octave" (293) "\once" (294) 187 "\override" (295) 166 182 "\paper" (296) 72 "\partial" (297) 223 "\relative" (298) 151 152 "\remove" (299) 169 "\repeat" (300) 94 "\rest" (301) 323 "\revert" (302) 167 183 "\score" (303) 64 403 "\sequential" (304) 95 "\set" (305) 184 "\simultaneous" (306) 97 "\skip" (307) 218 "\tempo" (308) 81 82 83 84 85 "\time" (314) 224 "\times" (309) 135 "\transpose" (310) 137 "\type" (311) 174 "\unset" (312) 165 185 "\with" (313) 104 105 "\~" (335) 226 "^" (317) 338 "_" (339) 308 "__" (336) 236 $end (0) 0 '!' (33) 307 367 ''' (39) 260 261 '(' (40) 244 ')' (41) 245 '*' (42) 293 294 353 '+' (43) 190 277 306 347 349 ',' (44) 262 263 '-' (45) 234 278 285 305 350 355 '.' (46) 181 281 298 345 '/' (47) 296 315 354 ':' (58) 299 300 '=' (61) 21 22 81 82 83 131 160 164 166 182 184 257 258 259 '?' (63) 369 '[' (91) 241 318 ']' (93) 242 310 '^' (94) 276 284 '_' (95) 282 283 '{' (123) 18 37 43 54 64 76 77 93 95 96 97 104 385 403 '|' (124) 222 279 '}' (125) 18 37 43 54 64 71 93 95 96 97 104 385 403 '~' (126) 243 BOOK_IDENTIFIER (352) 45 56 CHORD_MODIFIER (354) 343 CHORD_REPETITION (355) 201 CHORDMODIFIER_PITCH (353) CHORDMODIFIERS (341) CONTEXT_DEF_IDENTIFIER (356) 39 CONTEXT_MOD_IDENTIFIER (357) 105 106 111 DIGIT (344) 35 199 275 301 363 DRUM_PITCH (358) 210 325 DURATION_IDENTIFIER (359) 291 E_UNSIGNED (345) 240 error (256) 4 53 63 69 80 89 EVENT_IDENTIFIER (360) 252 EXPECT_MARKUP (347) 119 120 123 124 394 395 EXPECT_MARKUP_LIST (350) 390 EXPECT_MUSIC (348) 118 213 215 EXPECT_NO_MORE_ARGS (351) 122 126 392 EXPECT_SCM (349) 121 125 391 FIGURE_CLOSE (337) 321 FIGURE_OPEN (338) 321 FRACTION (361) 294 295 LYRIC_MARKUP (342) 372 LYRIC_MARKUP_IDENTIFIER (363) 370 400 LYRICS_STRING (362) 20 192 195 332 MARKUP_FUNCTION (364) 395 404 MARKUP_IDENTIFIER (366) 375 399 MARKUP_LIST_FUNCTION (365) 389 MULTI_MEASURE_REST (343) 202 MUSIC_FUNCTION (367) 129 212 MUSIC_IDENTIFIER (368) 100 NOTENAME_PITCH (369) 230 264 265 266 NUMBER_IDENTIFIER (370) 359 360 361 365 OUTPUT_DEF_IDENTIFIER (371) 77 PREC_BOT (260) PREC_TOP (258) REAL (372) 358 360 RESTNAME (373) 326 SCM_IDENTIFIER (374) 15 230 SCM_TOKEN (375) 14 SCORE_IDENTIFIER (376) 66 STRING (377) 19 160 164 178 188 191 303 398 STRING_IDENTIFIER (378) 189 193 401 TONICNAME_PITCH (379) 267 268 269 UNARY_MINUS (380) UNSIGNED (346) 296 302 357 361 362 Nonterminals, with rules where they appear absolute_pitch (237) on left: 286, on right: 151 alternative_music (172) on left: 92 93, on right: 94 assignment (154) on left: 21 22 23, on right: 3 17 78 assignment_id (153) on left: 19 20, on right: 21 22 bare_number (265) on left: 357 358 359 360 361, on right: 196 356 bass_number (245) on left: 301 302 303 304, on right: 309 book_block (158) on left: 43, on right: 7 25 bookpart_block (160) on left: 54, on right: 8 26 47 br_bass_figure (249) on left: 317 318, on right: 320 chord_body (213) on left: 206, on right: 205 chord_body_element (215) on left: 209 210 211, on right: 208 213 chord_body_elements (214) on left: 207 208, on right: 206 208 chord_item (259) on left: 341 342 343, on right: 336 chord_items (257) on left: 335 336, on right: 334 336 chord_separator (258) on left: 337 338 339 340, on right: 334 341 command_event (220) on left: 226 227 228 229 230, on right: 217 composite_music (181) on left: 112 113, on right: 10 49 59 91 152 context_change (199) on left: 160, on right: 102 context_def_spec_block (156) on left: 37, on right: 28 79 context_mod (204) on left: 177 178 179, on right: 41 110 context_mod_list (180) on left: 109 110 111, on right: 104 110 111 context_modification (177) on left: 104 105 106, on right: 36 42 108 context_prop_spec (205) on left: 180 181, on right: 182 183 184 185 direction_less_event (225) on left: 251 252 253, on right: 233 238 direction_reqd_event (226) on left: 254 255, on right: 237 dots (243) on left: 297 298, on right: 290 291 298 duration_length (238) on left: 287, on right: 218 223 event_chord (211) on left: 200 201 202 203 204, on right: 99 exclamations (268) on left: 366 367, on right: 209 324 367 figure_list (250) on left: 319 320, on right: 320 321 figure_spec (251) on left: 321, on right: 330 figured_bass_alteration (246) on left: 305 306 307, on right: 311 figured_bass_modification (248) on left: 313 314 315 316, on right: 312 fraction (242) on left: 295 296, on right: 135 224 full_markup_list (272) on left: 374, on right: 12 51 61 function_arglist_music_last (184) on left: 118, on right: 127 function_arglist_nonmusic_last (185) on left: 119 120 121, on right: 128 function_scm_argument (183) on left: 116 117, on right: 121 125 gen_text_def (234) on left: 273 274 275, on right: 254 generic_prefix_music_scm (188) on left: 129, on right: 132 lilypond (148) on left: 1 2 3 4 5, on right: 0 2 3 4 5 lilypond_header (152) on left: 18, on right: 6 52 62 67 lilypond_header_body (151) on left: 16 17, on right: 17 18 lyric_element (255) on left: 331 332, on right: 327 lyric_markup (270) on left: 370 372, on right: 331 markup (288) on left: 405 406, on right: 387 394 markup_braced_list (279) on left: 385, on right: 382 384 markup_braced_list_body (280) on left: 386 387 388, on right: 385 387 388 markup_command_list (281) on left: 389, on right: 383 markup_composed_list (278) on left: 384, on right: 381 markup_head_1_item (284) on left: 395, on right: 396 397 markup_head_1_list (285) on left: 396 397, on right: 379 384 397 405 markup_list (277) on left: 381 382 383, on right: 374 378 388 390 markup_top (276) on left: 378 379 380, on right: 372 377 mode_changing_head (191) on left: 142 143 144 145 146, on right: 138 multiplied_duration (241) on left: 292 293 294, on right: 287 289 293 294 music_function_chord_body (217) on left: 213 214, on right: 211 music_function_event (218) on left: 215 216, on right: 234 music_list (170) on left: 86 87 88 89, on right: 87 88 89 93 95 96 97 98 music_property_def (207) on left: 186 187, on right: 101 new_chord (256) on left: 333 334, on right: 329 new_lyrics (194) on left: 154 156, on right: 156 157 note_chord_element (212) on left: 205, on right: 204 number_expression (262) on left: 349 350 351, on right: 31 349 350 number_factor (264) on left: 355 356, on right: 352 353 354 355 number_term (263) on left: 352 353 354, on right: 349 350 351 octave_check (227) on left: 256 257 258 259, on right: 209 324 optional_context_mod (179) on left: 107 108, on right: 133 134 139 optional_id (189) on left: 130 131, on right: 133 134 optional_rest (252) on left: 322 323, on right: 324 output_def (165) on left: 71, on right: 13 27 68 70 output_def_body (168) on left: 76 77 78 79 80, on right: 71 78 79 80 output_def_head (166) on left: 72 73 74, on right: 75 output_def_head_with_mode_switch (167) on left: 75, on right: 76 77 paper_block (164) on left: 70, on right: 46 57 pitch (232) on left: 270, on right: 209 271 324 pitch_also_in_chords (233) on left: 271 272, on right: 137 post_events (221) on left: 231 232, on right: 200 201 202 205 209 210 232 property_operation (202) on left: 164 165 166 167, on right: 177 property_path (201) on left: 163, on right: 22 166 182 property_path_revved (200) on left: 161 162, on right: 162 163 questions (269) on left: 368 369, on right: 209 324 369 re_rhythmed_music (197) on left: 157 159, on right: 141 relative_music (193) on left: 151 152, on right: 140 repeated_music (173) on left: 94, on right: 136 score_block (162) on left: 64, on right: 9 24 48 58 score_body (163) on left: 65 66 67 68 69, on right: 64 67 68 69 403 script_dir (236) on left: 283 284 285, on right: 237 238 sequential_music (174) on left: 95 96, on right: 115 simple_chord_elements (254) on left: 328 329 330, on right: 200 simple_element (253) on left: 324 325 326 327, on right: 328 simple_music (176) on left: 99 100 101 102, on right: 90 simultaneous_music (175) on left: 97 98, on right: 114 steno_duration (240) on left: 290 291, on right: 81 82 83 292 steno_pitch (230) on left: 264 265 266, on right: 270 286 step_number (261) on left: 346 347 348, on right: 344 345 step_numbers (260) on left: 344 345, on right: 342 345 string (208) on left: 188 189 190, on right: 32 82 84 190 194 274 string_number_event (223) on left: 240, on right: 239 sub_quotes (229) on left: 262 263, on right: 258 263 266 269 sup_quotes (228) on left: 260 261, on right: 259 261 265 268 tempo_event (169) on left: 81 82 83 84 85, on right: 228 toplevel_expression (149) on left: 6 7 8 9 10 11 12 13, on right: 2 tremolo_type (244) on left: 299 300, on right: 253 unsigned_number (267) on left: 364 365, on right: 94
[ << LilyPond-Grammatik ] | [Anfang][Inhalt][Index][ ? ] | [ Index der LilyPond-Befehle >> ] | ||
[ < LilyPond-Grammatik ] | [ Nach oben : Top ] | [ Index der LilyPond-Befehle > ] |
D. GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. http://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. |
-
PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.
This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.
-
APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.
A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.
The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.
The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.
Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.
The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.
The “publisher” means any person or entity that distributes copies of the Document to the public.
A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.
The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
-
VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly display copies.
-
COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.
It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.
-
MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:
- Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
- List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
- State on the Title page the name of the publisher of the Modified Version, as the publisher.
- Preserve all the copyright notices of the Document.
- Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
- Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
- Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
- Include an unaltered copy of this License.
- Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
- Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
- For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
- Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
- Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
- Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
- Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.
You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.
-
COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”
-
COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.
-
AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.
-
TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.
If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.
-
TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.
-
FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.
-
RELICENSING
“Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.
“CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.
“Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.
An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:
Copyright (C) year your name. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. |
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:
with the Invariant Sections being list their titles, with the Front-Cover Texts being list, and with the Back-Cover Texts being list. |
If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.
If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.
[ << GNU Free Documentation License ] | [Anfang][Inhalt][Index][ ? ] | [ LilyPond-Index >> ] | ||
[ < GNU Free Documentation License ] | [ Nach oben : Top ] | [ LilyPond-Index > ] |
E. Index der LilyPond-Befehle
Dieser Index listet alle LilyPond Befehle und Schlüsselwörter auf, versehen mit Verweisen zu den Abschnitten im Handbuch, die den Befehl beschreiben oder seine Verwendung diskutieren. Der erste Teil zeigt auf die genaue Stelle im Handbuch, an der der Befehl oder das Schlüsselwort erscheint, der zweite Teil zeigt auf den entsprechenden Abschnitt.
Springe zu: | !
'
,
-
.
/
:
<
=
>
?
[
\
]
^
_
|
~
A B C D E F G H I K L M N O P Q R S T U V W X |
---|
Springe zu: | !
'
,
-
.
/
:
<
=
>
?
[
\
]
^
_
|
~
A B C D E F G H I K L M N O P Q R S T U V W X |
---|
[ << Index der LilyPond-Befehle ] | [Anfang][Inhalt][Index][ ? ] | [ >> ] | ||
[ < Index der LilyPond-Befehle ] | [ Nach oben : Top ] | [ > ] |
F. LilyPond-Index
Zusätzlich zu allen LilyPond Befehlen und Schlüsselwörtern listet dieser Index alle relevanten Begriffe auf und verlinkt sie mit den entsprechenden Abschnitten, wo sie erklärt werden. Der erste Teil zeigt auf die genaue Stelle im Handbuch, an der der der Begriff vorkommt, der zweite Teil zeigt auf den gesamten Abschnitt, in dem das Thema behandelt wird.
Springe zu: | !
'
,
-
.
/
1
8
:
<
=
>
?
[
\
]
^
_
|
~
Ä
Ü
A B C D E F G H I J K L M N O P Q R S T U V W X Z |
---|
Springe zu: | !
'
,
-
.
/
1
8
:
<
=
>
?
[
\
]
^
_
|
~
Ä
Ü
A B C D E F G H I J K L M N O P Q R S T U V W X Z |
---|
[Anfang][Inhalt][Index][ ? ] |
Inhaltsverzeichnis
- 1. Musikalische Notation
- 1.1 Tonhöhen
- 1.2 Rhythmus
- 1.3 Ausdrucksbezeichnungen
- 1.4 Wiederholungszeichen
- 1.5 Gleichzeitig erscheinende Noten
- 1.6 Notation auf Systemen
- 1.7 Anmerkungen
- 1.8 Text
- 2. Spezielle Notation
- 2.1 Notation von Gesang
- 2.2 Tasteninstrumente und andere Instrumente mit mehreren Systemen
- 2.3 Bundlose Saiteninstrumente
- 2.4 Saiteninstrumente mit Bünden
- 2.5 Schlagzeug
- 2.6 Blasinstrumente
- 2.7 Notation von Akkorden
- 2.8 Notation von alter Musik
- 2.9 Weltmusik
- 3. Allgemeine Eingabe und Ausgabe
- 4. Abstände
- 5. Standardeinstellungen verändern
- 5.1 Interpretationskontexte
- 5.2 Die Referenz der Programminterna erklärt
- 5.3 Eignschaften verändern
- 5.4 Nützliche Konzepte und Eigenschaften
- 5.5 Fortgeschrittene Optimierungen
- A. Notationsübersicht
- A.1 Liste der Akkordbezeichnungen
- A.2 Übliche Akkord-Variablen
- A.3 Vordefinierte Bund-Diagramme
- A.4 MIDI-Instrumente
- A.5 Liste der Farben
- A.6 Die Feta-Schriftart
- Notenschlüssel-Glyphen
- Taktart-Glyphen
- Zahlen-Glyphen
- Versetzungszeichen-Glyphen
- Standard-Notenkopf-Glyphen
- Spezielle Notenkopf-Glyphen
- Geformte Notenkopf-Glyphen
- Pausen-Glyphen
- Fähnchen-Glyphen
- Punkt-Glyphen
- Dynamik-Glyphen
- Schrift-Glyphen
- Pfeilkopf-Glyphen
- Klammerspitzen-Glyphen
- Pedal-Glyphen
- Akkordion-Glyphen
- Vaticana-Glyphen
- Medicaea-Glyphen
- Hufnagel-Glyphen
- Mensural-Glyphen
- Neomensural-Glyphen
- Petrucci-Glyphen
- Solesmes-Glyphen
- A.7 Notenkopfstile
- A.8 Text markup commands
- A.9 Text markup list commands
- A.10 Liste der Arktikulationszeichen
- A.11 Schlagzeugnoten
- A.12 Technisches Glossar
- A.13 Alle Kontexteigenschaften
- A.14 Eigenschaften des Layouts
- A.15 Bezeichner
- A.16 Scheme-Funktionen
- B. Befehlsübersicht
- C. LilyPond-Grammatik
- D. GNU Free Documentation License
- E. Index der LilyPond-Befehle
- F. LilyPond-Index
[Anfang][Inhalt][Index][ ? ] |
Über dieses Dokument
Dieses Dokument wurde erzeugt von Graham Percival am 6. Juli 2010 durch texi2html 1.82.
Die Links in der Navigationsleiste haben die folgende Bedeutung:
Button | Name | Gehe zu | Von 1.2.3 gehe zu |
---|---|---|---|
[] | |||
[ << ] | FastBack | Anfang dieses oder des letzten Kapitels | 1 |
[] | |||
[Anfang] | Anfang | Titelseite des Dokuments | |
[Inhalt] | Inhalt | Inhaltsverzeichnis | |
[Index] | Index | Index | |
[ ? ] | Über | Über (Hilfe) | |
[] | |||
[ >> ] | FastForward | Nächstes Kapitel | 2 |
[] | |||
[] | |||
[ < ] | Zurück | Voriger Abschnitt in Lesereihenfolge | 1.2.2 |
[] | |||
[ Nach oben ] | Nach oben | Abschnitt nach oben | 1.2 |
[] | |||
[ > ] | Nach vorne | Nächster Abschnitt in Lesereihenfolge | 1.2.4 |
wobei das Beispiel annimmt, dass die aktuelle Position bei Unterabschnitt 1-2-3 in einem Dokument mit folgender Struktur liegt:
- 1. Abschnitt 1
- 1.1 Unterabschnitt 1-1
- ...
- 1.2 Unterabschnitt 1-2
- 1.2.1 Unterabschnitt 1-2-1
- 1.2.2 Unterabschnitt 1-2-2
- 1.2.3 Unterabschnitt 1-2-3 <== Aktuelle Position
- 1.2.4 Unterabschnitt 1-2-4
- 1.3 Unterabschnitt 1-3
- ...
- 1.4 Unterabschnitt 1-4
- 1.1 Unterabschnitt 1-1