[ << Top ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < Top ] | [ Amunt : Top ] | [ > ] |
Pitches
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < Pitches ] | [ Amunt : Pitches ] | [ > ] |
Afegir un àmbit per veu
Es pot afegir un àmbit per cada veu. En aquest cas, l’àmbit s’ha de desplaçar manualment per evitar col·lisions.
\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 } >>
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Afegir una indicació d’octava alta a una sola veu
Si teniu més d’una veu al mateix pentagrama, el canvi d’octavació d’una veu transportarà la posició de les notes en totes les veus mentre duri la clau de l’octava. Si l’octavació es vol aplicar sols a una veu, s’han d’ajustar explícitament la middleCPosition i la clau d’octava. En aquest fragment de codi el valor de middleCPosition per a la clau de Fa és normalment 6, sis posicions per sobre de la línia del Do central, de manera que en la porció de 8va el valor de middleCPosition és encara 7 posicions (una octava) més alta.
\layout { \context { \Staff \remove Ottava_spanner_engraver } \context { \Voice \consists Ottava_spanner_engraver } } { \clef bass << { <g d'>1~ q2 <c' e'> } \\ { r2. \ottava -1 <b,,, b,,>4 ~ | q2 \ottava 0 <c e>2 } >> }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Aiken head thin variant noteheads
Aiken head white notes get harder to read at smaller staff sizes, especially with ledger lines. Losing interior white space makes them appear as quarter notes.
\score { { \aikenHeads c''2 a' c' a % Switch to thin-variant noteheads \set shapeNoteStyles = ##(doThin reThin miThin faThin sol laThin tiThin) c'' a' c' a } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Alterar la longitud de les pliques unides per una barra
Es pot variar la longitud de les pliques de les figures unides per
una barra mitjançant la sobreescriptura de la propietat
beamed-lengths
dels detalls (details
) de l’objecte
Stem
. Si s’utilitza un sol valor com argument, la longitud
s’aplica a totes les pliques. Si s’usen diversos arguments, el
primer s’aplica a les corxeres, el segon a les semicorxeres, i
així successivament. L’últim argument també s’aplica a totes les
figures que són més curtes que la longitud de la figura de l’últim
argument. També es poden usar arguments no enters.
\relative c'' { \override Stem.details.beamed-lengths = #'(2) a8[ a] a16[ a] a32[ a] \override Stem.details.beamed-lengths = #'(8 10 12) a8[ a] a16[ a] a32[ a] r8 \override Stem.details.beamed-lengths = #'(8) a8[ a] \override Stem.details.beamed-lengths = #'(8.5) a8[ a] \revert Stem.details.beamed-lengths a8[ a] a16[ a] a32[ a] r16 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Indicacions de tessitura
Les indicacions d’àmbit o tessitura indiquen rangs d’altures per a les veus.
Les alteracions accidentals sols es mostren si no formen part de
l’armadura de tonalitat. Els objectes gràfics AmbitusNoteHead
també tenen línies addicionals.
\layout { \context { \Voice \consists "Ambitus_engraver" } } << \new Staff { \relative c' { \time 2/4 c4 f' } } \new Staff { \relative c' { \time 2/4 \key d \major cis4 as' } } >>
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Ambitus after key signature
By default, ambitus are positioned at the left of the clef. The
\ambitusAfter
function allows for changing this
placement. Syntax is \ambitusAfter grob-interface
(see
Graphical Object Interfaces for a list of possible values for
grob-interface
.)
A common use case is printing the ambitus between key signature and time signature.
\new Staff \with { \consists Ambitus_engraver } \relative { \ambitusAfter key-signature \key d \major es'8 g bes cis d2 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Àmbits amb diverses veus
L’addició del gravador Ambitus_engraver
al context de
Staff
crea un sol àmbit per pentagrama, fins i tot en
el cas de pentagrames amb diverses veus.
\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 } >>
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Aplicar estils de cap segons la nota de l’escala
La propietat shapeNoteStyles
es pot usar per definir diversos
estils de caps de nota per a cada grau de l’escala (segons estigui
establert per l’armadura o per la propietat tonic
). Aquesta
propietat requereix un conjunt de símbols, que poden ser purament
arbitraris (es permeten expressions geomètriques com triangle
,
triangle, cross
, aspes, i xcircle
, cercle amb aspes) o
basats en una antiga tradició americana de gravat (també es permeten
certs noms de nota llatins).
Dit això, per imitar antics cançoners americans, hi ha diversos
estils predefinits de caps de nota disponibles mitjançant ordres
d’abreviatura com \aikenHeads
o \sacredHarpHeads
.
Aquest exemple mostra diferents formes d’obtenir caps de nota amb forma i mostra la capacitat de transportar una melodia sense perdre la correspondència entre les funcions harmòniques i els estils de caps de nota.
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 } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Canviar la direcció de la plica de les notes de tercera línia automàticament, basat en la melodia
El LilyPond pot alterar la direcció de la plica de les notes que
van en la tercera línia d’un pentagrama de forma que segueixi la
melodia, mitjançant l’addició del gravador Melody_engraver
al context Voice i sobreescrivint el valor de
neutral-direction
per a l’objecte Stem (plica).
\relative c'' { \time 3/4 a8 b g f b g | \set suspendMelodyDecisions = ##t a b g f b g | \unset suspendMelodyDecisions c b d c b c | } \layout { \context { \Voice \consists "Melody_engraver" \autoBeamOff } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Changing ottava text
Internally, \ottava
sets the properties ottavation
(for
example, to 8va
or 8vb
) and middleCPosition
. To
override the text of the bracket, set ottavation
after invoking
\ottava
.
Short text is especially useful when a brief ottava is used.
{ c'2 \ottava #1 \set Staff.ottavation = #"8" c''2 \ottava #0 c'1 \ottava #1 \set Staff.ottavation = #"Text" c''1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Modificació de la separació en les indicacions de tessitura
És possible ajustar la separació predeterminada entre les notes de la indicació de tessitura i la línia que les uneix.
\layout { \context { \Voice \consists "Ambitus_engraver" } } \new Staff { \time 2/4 % Default setting c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #0 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #1 c'4 g'' } \new Staff { \time 2/4 \override AmbitusLine.gap = #1.5 c'4 g'' }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Canviar l’interval de les línies de la pauta
S’usa staffLineLayoutFunction
per canviar la posició de les
notes. Aquest fragment de codi mostra com ajustar el seu valor al de
ly:pitch-semitones
per produir una escala cromàtica amb la
distància entre cada espai i línia del pentagrama igual a un semitò.
scale = \relative c' { a4 ais b c cis4 d dis e f4 fis g gis a1 } \new Staff \with { \remove "Accidental_engraver" staffLineLayoutFunction = #ly:pitch-semitones } { << \scale \context NoteNames { \set printOctaveNames = ##f \scale } >> }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Les claus es poden transposar en intervals arbitraris
Es poden transposar les claus en intervals arbitraris, no sols octaves.
\relative c' { \clef treble c4 c c c \clef "treble_8" c4 c c c \clef "treble_5" c4 c c c \clef "treble^3" c4 c c c }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Acolorir les notes segons la seva alçada
És possible acolorir el cap de les notes depenent de la seva alçada i/o del seu nom: la funció que s’usa en aquest exemple fa possible fins i tot distingir els harmònics.
%Association list of pitches to colors. #(define color-mapping (list (cons (ly:make-pitch 0 0 NATURAL) (x11-color 'red)) (cons (ly:make-pitch 0 0 SHARP) (x11-color 'green)) (cons (ly:make-pitch 0 1 FLAT) (x11-color 'green)) (cons (ly:make-pitch 0 2 NATURAL) (x11-color 'red)) (cons (ly:make-pitch 0 2 SHARP) (x11-color 'green)) (cons (ly:make-pitch 0 3 FLAT) (x11-color 'red)) (cons (ly:make-pitch 0 3 NATURAL) (x11-color 'green)) (cons (ly:make-pitch 0 4 SHARP) (x11-color 'red)) (cons (ly:make-pitch 0 5 NATURAL) (x11-color 'green)) (cons (ly:make-pitch 0 5 FLAT) (x11-color 'red)) (cons (ly:make-pitch 0 6 SHARP) (x11-color 'red)) (cons (ly:make-pitch 0 1 NATURAL) (x11-color 'blue)) (cons (ly:make-pitch 0 3 SHARP) (x11-color 'blue)) (cons (ly:make-pitch 0 4 FLAT) (x11-color 'blue)) (cons (ly:make-pitch 0 5 SHARP) (x11-color 'blue)) (cons (ly:make-pitch 0 6 FLAT) (x11-color 'blue)))) %Compare pitch and alteration (not octave). #(define (pitch-equals? p1 p2) (and (= (ly:pitch-alteration p1) (ly:pitch-alteration p2)) (= (ly:pitch-notename p1) (ly:pitch-notename p2)))) #(define (pitch-to-color pitch) (let ((color (assoc pitch color-mapping pitch-equals?))) (if color (cdr color)))) #(define (color-notehead grob) (pitch-to-color (ly:event-property (event-cause grob) 'pitch))) \score { \new Staff \relative c' { \override NoteHead.color = #color-notehead c8 b d dis ees f g aes } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Crear una seqüència de notes a diferents alçades
En una música que tingui moltes aparicions de la mateixa seqüència de notes a diferents altures, podria ser d’utilitat la següent funció musical. Admet una nota, de la qual sols s’utilitza la seva alçada. Les funcions de suport a l’Scheme s’han agafat prestades del document de "Consells i ajustament" de la versió 2.10 del manual. Aquest exemple crea les duracions rítmiques que s’usen a tot el llarg de «Mart», de «Els Planetes» de Gustav Holst.
rhythm = #(define-music-function (p) (ly:pitch?) "Make the rhythm in Mars (the Planets) at the given pitch" #{ \tuplet 3/2 { $p 8 8 8 } 4 4 8 8 4 #}) \new Staff { \time 5/4 \rhythm c' \rhythm c'' \rhythm g }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Creació d’armadures personalitzades
El LilyPond accepta armadures personalitzades. En aquest exemple, es mostra l’armadura de re menor amb una rang estès de bemolls.
\new Staff \with { \override StaffSymbol.line-count = #8 \override KeySignature.flat-positions = #'((-7 . 6)) \override KeyCancellation.flat-positions = #'((-7 . 6)) % presumably sharps are also printed in both octaves \override KeySignature.sharp-positions = #'((-6 . 7)) \override KeyCancellation.sharp-positions = #'((-6 . 7)) \override Clef.stencil = # (lambda (grob)(grob-interpret-markup grob #{ \markup\combine \musicglyph "clefs.C" \translate #'(-3 . -2) \musicglyph "clefs.F" #})) clefPosition = #3 middleCPosition = #3 middleCClefPosition = #3 } { \key d\minor f bes, f bes, }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Direction of merged ’fa’ shape note heads
Using property NoteCollision.fa-merge-direction
, the
direction of ‘fa’ shape note heads (‘fa’, ‘faThin’, etc.)
can be controlled independently of the stem direction if two
voices with the same pitch and different stem directions are
merged. If this property is not set, the ‘down’ glyph variant
is used.
{ \clef bass << { \aikenHeads f2 \override Staff.NoteCollision.fa-merge-direction = #UP f2 } \\ { \aikenHeads f2 f2 } >> }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Force a cancellation natural before accidentals
The following example shows how to force a natural sign before an accidental.
\relative c' { \key es \major bes c des \tweak Accidental.restore-first ##t eis }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Forçar la impressió de la clau
Quan ja s’ha imprimit la clau i encara no s’ha canviat a una
diferent, el LilyPond ignorarà la repetició de l’ordre
\clef
, ja que no constitueix un canvi de clau. És
possible forçar la reimpressió de la clau usant l’ordre \set
Staff.forceClef = ##t
.
\relative c' { \clef treble c1 \clef treble c1 \set Staff.forceClef = ##t c1 \clef treble c1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Generació de notes aleatòries
Aquest fragment de codi basat en l’Scheme genera 24 notes aleatòries (o tantes com calguin), basant-se en l’hora actual (o en qualsevol nombre pseudo-aleatori que s’especifiqui en el seu lloc, per obtenir les mateixes notes aleatòries cada cop): és a dir, per obtenir diferents patrons de notes, sols ha de modificar aquest número.
\score { { $(let ((random-state (seed->random-state (current-time)))) (make-sequential-music (map (lambda (x) (let ((idx (random 12 random-state))) (make-event-chord (list (make-music 'NoteEvent 'duration (ly:make-duration 2 0 1/1) 'pitch (ly:make-pitch (quotient idx 7) (remainder idx 7) 0)))))) (make-list 24)))) } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Ocultar les alteracions sobre notes lligades al principi d’un sistema nou
Aquí es mostra la manera d’ocultar les alteracions de les notes lligades al començament d’uns sistema nou.
\relative c'' { \override Accidental.hide-tied-accidental-after-break = ##t cis1~ cis~ \break cis }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Mantenir la mida del símbol en els canvis de clau
Quan es produeix un canvi de clau, el símbol de clau s’imprimeix a
una mida més petita que la clau inicial. Això es pot ajustar amb
full-size-change
.
\relative c' { \clef "treble" c1 \clef "bass" c1 \clef "treble" c1 \override Staff.Clef.full-size-change = ##t \clef "bass" c1 \clef "treble" c1 \revert Staff.Clef.full-size-change \clef "bass" c1 \clef "treble" c1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Exemple de «Makam»
El «Makam» és un tipus de melodia de Turquia que utilitza alteracions microtonals de 1/9 de to. Consulteu el fitxer d’inici ‘makam.ly’ (vegeu el «Manual d’aprenentatge 2.23.82, 4.6.3 Altres forms d’informació» per esbrinar la situació d’aquest fitxer) per veure detalls dels noms de les notes i les alteracions.
% Initialize makam settings \include "makam.ly" \relative c' { \set Staff.keyAlterations = #`((6 . ,(- KOMA)) (3 . ,BAKIYE)) c4 cc db fk gbm4 gfc gfb efk fk4 db cc c }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Modifying the Ottava spanner slope
It is possible to change the slope of the Ottava spanner.
\relative c'' { \override Staff.OttavaBracket.stencil = #ly:line-spanner::print \override Staff.OttavaBracket.bound-details = #`((left . ((Y . 0) (attach-dir . ,LEFT) (padding . 0) (stencil-align-dir-y . ,CENTER))) (right . ((Y . 5.0) ; Change the number here (padding . 0) (attach-dir . ,RIGHT) (text . ,(make-draw-dashed-line-markup (cons 0 -1.2)))))) \override Staff.OttavaBracket.left-bound-info = #ly:horizontal-line-spanner::calc-left-bound-info-and-text \override Staff.OttavaBracket.right-bound-info = #ly:horizontal-line-spanner::calc-right-bound-info \ottava #1 c1 c'''1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Armadures de tonalitat no tradicional
La molt utilitzada ordre \key
estableix la propietat
keyAlterations
, dins del context Staff
.
Per crear armadures de tonalitat no estàndard, ajusteu aquesta propietat directament. El format d’aquesta ordre és una llista:
\set Staff.keyAlterations = #`(((octava . pas) . alteració)
on, per cada element dins de la llista octava
especifica
l’octava (sent zero l’octava des del Do central fins al
Si per sobre), pas
especifica la nota dins de l’octava
(zero significa Do i 6 significa Si), i
alteració
és ,SHARP ,FLAT ,DOUBLE-SHARP
etc. (observeu la coma precedent).
De forma alternativa, per a cada element de la llista l’ús del
format més concís (pas. alteració)
especifica que la
mateixa alteració ha d’estar en totes les octaves.
Vet aquí un exemple d’una possible armadura per generar una escala exàtona:
\include "arabic.ly" \relative do' { \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT) (1 . ,SEMI-FLAT) (2 . ,FLAT) (5 . ,FLAT) (6 . ,SEMI-FLAT)) %\set Staff.extraNatural = ##f re reb \dwn reb resd dod dob dosd \dwn dob | dobsb dodsd do do | }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Nombres com notes de notació fàcil
Els caps de nota de notació fàcil utilitzen la propietat
note-names
de l’objecte NoteHead
per determinar el
que apareix dins del cap. Mitjançant la sobreescriptura d’aquesta
propietat, és possible imprimir nombres que representen el grau de
l’escala.
Es pot crear un gravador simple que faci això per al cap de cada nota que ve.
#(define Ez_numbers_engraver (make-engraver (acknowledgers ((note-head-interface engraver grob source-engraver) (let* ((context (ly:translator-context engraver)) (tonic-pitch (ly:context-property context 'tonic)) (tonic-name (ly:pitch-notename tonic-pitch)) (grob-pitch (ly:event-property (event-cause grob) 'pitch)) (grob-name (ly:pitch-notename grob-pitch)) (delta (modulo (- grob-name tonic-name) 7)) (note-names (make-vector 7 (number->string (1+ delta))))) (ly:grob-set-property! grob 'note-names note-names)))))) #(set-global-staff-size 26) \layout { ragged-right = ##t \context { \Voice \consists \Ez_numbers_engraver } } \relative c' { \easyHeadsOn c4 d e f g4 a b c \break \key a \major a,4 b cis d e4 fis gis a \break \key d \dorian d,4 e f g a4 b c d }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Plantilla d’orquestra amb cor i piano
Aquesta plantilla mostra l’ús de contextos StaffGroup
i
GrandStaff
niuats per sub-agrupar instruments del mateix
tipus, i una forma d’usar \transpose
de manera que unes
variables continguin la música per a instruments transpositors en
afinació de concert.
#(set-global-staff-size 17) \paper { indent = 3.0\cm % add space for instrumentName short-indent = 1.5\cm % add less space for shortInstrumentName } fluteMusic = \relative c' { \key g \major g'1 b } % Pitches as written on a manuscript for Clarinet in A % are transposed to concert pitch. clarinetMusic = \transpose c' a \relative c'' { \key bes \major bes1 d } trumpetMusic = \relative c { \key g \major g''1 b } % Key signature is often omitted for horns hornMusic = \transpose c' f \relative c { d'1 fis } percussionMusic = \relative c { \key g \major g1 b } sopranoMusic = \relative c'' { \key g \major g'1 b } sopranoLyrics = \lyricmode { Lyr -- ics } altoIMusic = \relative c' { \key g \major g'1 b } altoIIMusic = \relative c' { \key g \major g'1 b } altoILyrics = \sopranoLyrics altoIILyrics = \lyricmode { Ah -- ah } tenorMusic = \relative c' { \clef "treble_8" \key g \major g1 b } tenorLyrics = \sopranoLyrics pianoRHMusic = \relative c { \key g \major g''1 b } pianoLHMusic = \relative c { \clef bass \key g \major g1 b } violinIMusic = \relative c' { \key g \major g'1 b } violinIIMusic = \relative c' { \key g \major g'1 b } violaMusic = \relative c { \clef alto \key g \major g'1 b } celloMusic = \relative c { \clef bass \key g \major g1 b } bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b } \score { << \new StaffGroup = "StaffGroup_woodwinds" << \new Staff = "Staff_flute" \with { instrumentName = "Flute" } \fluteMusic \new Staff = "Staff_clarinet" \with { instrumentName = \markup { \concat { "Clarinet in B" \flat } } } % Declare that written Middle C in the music % to follow sounds a concert B flat, for % output using sounded pitches such as MIDI. %\transposition bes % Print music for a B-flat clarinet \transpose bes c' \clarinetMusic >> \new StaffGroup = "StaffGroup_brass" << \new Staff = "Staff_hornI" \with { instrumentName = "Horn in F" } % \transposition f \transpose f c' \hornMusic \new Staff = "Staff_trumpet" \with { instrumentName = "Trumpet in C" } \trumpetMusic >> \new RhythmicStaff = "RhythmicStaff_percussion" \with { instrumentName = "Percussion" } << \percussionMusic >> \new PianoStaff \with { instrumentName = "Piano" } << \new Staff { \pianoRHMusic } \new Staff { \pianoLHMusic } >> \new ChoirStaff = "ChoirStaff_choir" << \new Staff = "Staff_soprano" \with { instrumentName = "Soprano" } \new Voice = "soprano" \sopranoMusic \new Lyrics \lyricsto "soprano" { \sopranoLyrics } \new GrandStaff = "GrandStaff_altos" \with { \accepts Lyrics } << \new Staff = "Staff_altoI" \with { instrumentName = "Alto I" } \new Voice = "altoI" \altoIMusic \new Lyrics \lyricsto "altoI" { \altoILyrics } \new Staff = "Staff_altoII" \with { instrumentName = "Alto II" } \new Voice = "altoII" \altoIIMusic \new Lyrics \lyricsto "altoII" { \altoIILyrics } >> \new Staff = "Staff_tenor" \with { instrumentName = "Tenor" } \new Voice = "tenor" \tenorMusic \new Lyrics \lyricsto "tenor" { \tenorLyrics } >> \new StaffGroup = "StaffGroup_strings" << \new GrandStaff = "GrandStaff_violins" << \new Staff = "Staff_violinI" \with { instrumentName = "Violin I" } \violinIMusic \new Staff = "Staff_violinII" \with { instrumentName = "Violin II" } \violinIIMusic >> \new Staff = "Staff_viola" \with { instrumentName = "Viola" } \violaMusic \new Staff = "Staff_cello" \with { instrumentName = "Cello" } \celloMusic \new Staff = "Staff_bass" \with { instrumentName = "Double Bass" } \bassMusic >> >> \layout { } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Evitar que s’afegeixen becaires addicionals automàticament
Segons les regles tradicionals de composició tipogràfica, s’imprimeix
un becaire abans d’un sostingut o un bemoll quan s’ha de cancel·lar
un doble sostingut o un doble bemoll anterior en la mateixa nota. Per
modificar aquest comportament a la pràctica actual establiu el valor
de la propietat extraNatural
a ##f
(fals) dins del
context de Staff
.
\relative c'' { aeses4 aes ais a \set Staff.extraNatural = ##f aeses4 aes ais a }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Evitar que se impriman becuadros cuando cambia la armadura
Quan es canvia l’armadura de la tonalitat, s’imprimeixen becaires
automàticament per cancel·lar les alteracions de les armadures
anteriors. Això es pot evitar establint al valor “falso” la
propietat printKeyCancellation
del context Staff
.
\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 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Citació d’una altra veu amb transposició
Els passatges citats tenen en compte la trasnposició de la font tant
com la del destí. En aquest exemple, tots els instruments interpreten
una nota amb el so de Do central; el destí d’un instrument
transpositor en Fa. La part de destí es pot transportar utilitzant
\transpose
. En aquest cas les notes citades romanen sense
canvis.
\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 } { \new Staff \with { instrumentName = \markup { \column { Horn "in F" } } } \quoteTest \transpose c' d' << \quoteTest s4_"up a tone" >> }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Separar les cancel·lacions de tonalitat dels canvis d’armadura
De forma predeterminada, les alteracions accidentals que s’usen
per a les cancel·lacions a les armadures es col·loquen adjacents
a les que s’usen per als canvis de tonalitat. Aquest comportament
es pot canviar sobreescrivint la propietat 'break-align-orders
de l’objecte gràfic BreakAlignment
.
El valor de 'break-align-orders
és un vector de longitud 3, amb
llistes entre cometes els elements de les quals són objectes que
es poden dividir en un salt. Aquest exemple sols modifica la
segona llista, movent key-cancellation
abans de staff-bar
;
modificant la segona llista, el comportament d’alineació dels
salts canvia en la meitat d’un sistema, no al principi ni al final.
\new Staff { \override Score.BreakAlignment.break-align-orders = ##((left-edge ambitus breathing-sign clef staff-bar key-cancellation key-signature time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation staff-bar key-signature time-signature custos) (left-edge ambitus breathing-sign clef key-cancellation key-signature staff-bar time-signature custos)) \key des \major c'1 \bar "||" \key bes \major c'1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Transposició de la música amb el menor nombre d’alteracions
Aquest exemple utilitza codi de l’Scheme per forçar les modificacions enharmòniques de les notes, i així tenir el menor nombre d’alteracions accidentals. En aquest cas s’apliquen les regles següents:
- Es treuen les alteracions dobles
- Si sostingut -> Do
- Mi sostingut -> Fa
- Do bemoll -> Si
- Fa bemoll -> Mi
D’aquesta forma se selecciona el major nombre de notes enharmòniques naturals.
#(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 (eqv? n 6) (eqv? n 2))) (set! a (- a 2)) (set! n (+ n 1))) ((and (< a -1) (or (eqv? n 0) (eqv? 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 naturalize 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 (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 { } }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Turkish Makam example
This template uses the start of a well-known Turkish Saz Semai that is familiar in the repertoire in order to illustrate some of the elements of Turkish music notation.
\paper { tagline = ##f } % Initialize makam settings \include "turkish-makam.ly" \header { title = "Hüseyni Saz Semaisi" composer = "Lavtacı Andon" } \relative { \set Staff.extraNatural = ##f \set Staff.autoBeaming = ##f \key a \huseyni \time 10/8 a'4 g'16 [fb] e8. [d16] d [c d e] c [d c8] bfc | a16 [bfc a8] bfc c16 [d c8] d16 [e d8] e4 fb8 | d4 a'8 a16 [g fb e] fb8 [g] a8. [b16] a16 [g] | g4 g16 [fb] fb8. [e16] e [g fb e] e4 r8 | }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ > ] |
Ajustament de les propietats de clau
La modificació del glif de la clau, la seva posició o octava, no
canvien ’per se’ la posició de les notes següents del
pentagrama. Per aconseguir armadures adequades de tonalitat sobre
les línies del pentagrama, s’ha d’especificar també
middleCClefPosition
, amb valor positius o negatius que
moguin Do central
cap amunt o cap avall, respectivament, en
relació amb la línia central del pentagrama (usualment la
tercera).
Per exemple, l’ordre \clef "treble_8"
equival a un
ajustament de clefGlyph
, clefPosition
(que controla
la posició vertical de la clau sobre el pentagrama),
middleCPosition
i clefTransposition
. Se imprimeix
la clau cada cop que es modifica qualsevol de les propietats
excepte middleCPosition
.
Els exemple següents mostren les possibilitats quan s’ajusten aquestes propietats manualment. En la primera línia, els canvis manuals preserven la posició relativa estàndard de les clau i les notes, però no ho fan a la segona línia.
{ % The default treble clef \key f \major c'1 % The standard bass clef \set Staff.clefGlyph = #"clefs.F" \set Staff.clefPosition = #2 \set Staff.middleCPosition = #6 \set Staff.middleCClefPosition = #6 \key g \major c'1 % The baritone clef \set Staff.clefGlyph = #"clefs.C" \set Staff.clefPosition = #4 \set Staff.middleCPosition = #4 \set Staff.middleCClefPosition = #4 \key f \major c'1 % The standard choral tenor clef \set Staff.clefGlyph = #"clefs.G" \set Staff.clefPosition = #-2 \set Staff.clefTransposition = #-7 \set Staff.middleCPosition = #1 \set Staff.middleCClefPosition = #1 \key f \major c'1 % A non-standard clef \set Staff.clefPosition = #0 \set Staff.clefTransposition = #0 \set Staff.middleCPosition = #-4 \set Staff.middleCClefPosition = #-4 \key g \major c'1 \break % The following clef changes do not preserve % the normal relationship between notes, key signatures % 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.clefTransposition = #7 c'1 \set Staff.clefTransposition = #0 \set Staff.clefPosition = #0 c'1 % Return to the normal clef: \set Staff.middleCPosition = #0 c'1 }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ Rhythms > ] |
Usar canvi automàtic de pentagrama amb més d’una veu
Utilització de autochange
amb més d’una veu.
\score { \new PianoStaff << \new Staff = "up" { << \set Timing.beamExceptions = #'() \set Timing.beatStructure = #'(4) \new Voice { \voiceOne \autoChange \relative c' { g8 a b c d e f g g,8 a b c d e f g } } \new Voice { \voiceTwo \autoChange \relative c' { g8 a b c d e f g g,,8 a b c d e f g } } >> } \new Staff = "down" { \clef bass } >> }
[ << Pitches ] | [Part superior][Continguts] | [ Rhythms >> ] |
[ < ] | [ Amunt : Pitches ] | [ Rhythms > ] |