[ << Repeats ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Top ] | [ > ] |
Simultaneous notes
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < Simultaneous notes ] | [ Amunt : Simultaneous notes ] | [ > ] |
Veus addicionals per evitar col·lisions
En certs casos de polifonia complexa, calen veus addicionals per
evitar col·lisions entre les notes. Si calen més de quatre veus
paral·leles, les veus addicionals s’afegeixen definint una variable
que utilitza la funció de l’Scheme context-spec-music
.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << \new Voice { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \new Voice { \voiceTwo d,2 d4 cis2 d4 bes2 } \new Voice { \voiceThree f'2 bes4 a2 a4 s2 } \new Voice { \voiceFive s2 g4 g2 f4 f2 } >> }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Modificar la mida d’una nota solta d’una acord
Es poden modificar notes individuals d’un acord amb l’ordre
\tweak
, alterant la propietat font-size
.
Dins d’un acord (entre angles simples < >
), abans de la nota
que volem alterar, situem l’ordre \tweak
seguida per
#'font-size
i definim la mida adequada com #-2
(un cap petit).
\relative c' { <\tweak font-size #+2 c e g c \tweak font-size #-2 e>1 ^\markup { A tiny e }_\markup { A big c } }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Canviar els texts de partcombine
En utilitzar la possibilitat de combinació automàtica de parts, es pot modificar el text que s’imprimeix per a les seccions de sols i d’unison:
\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 } >>
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Clusters («raïms»)
Els «clusters» o raïms són un mecanisme per indicar la interpretació d’un àmbit de notes al mateix temps.
fragment = \relative c' { c4 f <e d'>4 <g a>8 <e a> a4 c2 <d b>4 e2 c } << \new Staff \fragment \new Staff \makeClusters \fragment >>
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Combinar dues parts sobre el mateix pentagrama
L’eina de combinació de parts (ordre \partcombine
) permet la
combinació de diverses parts diferents sobre el mateix pentagrama.
Les indicacions textuals com ara “solo” o “a2” s’afegeixen de
forma predeterminada; per treure-les, senzillament heu d’establir la
propietat printPartCombineTexts
al valor “fals”. Per a
partitures vocals (com himnes), no cal afegir els textos “solo”
o “a2”, per la qual cosa s’han de deshabilitar. No obstant, podria
ser millor no usar-lo si hi ha solos, perquè no s’indicaran. En
aquests casos podria ser preferible la notació polifònica estàndard.
Aquest fragment de codi presenta les tres formes en las quals es poden
imprimir dues parts sobre un sol pentagrama: polifonia estàndard,
\partcombine
sense textos, i \partcombine
amb
texts.
%% Combining pedal notes with clef changes 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 \with { instrumentName = "Standard polyphony" } << \musicUp \\ \musicDown >> \new Staff \with { instrumentName = "PartCombine without text" printPartCombineTexts = ##f } \partCombine \musicUp \musicDown \new Staff \with { instrumentName = "PartCombine with text" } \partCombine \musicUp \musicDown >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar.collapse-height = #30 } } }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Impressió d’acords complexos
Aquí es presenta una forma d’imprimir un acord en la qual sona la mateixa nota dues vegades amb diferents alteracions.
fixA = { \once \override Stem.length = #11 } fixB = { \once \override NoteHead.X-offset = #1.7 \once \override Stem.length = #7 \once \override Stem.rotation = #'(45 0 0) \once \override Stem.extra-offset = #'(-0.1 . -0.2) \once \override Flag.style = #'no-flag \once \override Accidental.extra-offset = #'(4 . -.1) } \relative c' { << { \fixA <b d!>8 } \\ { \voiceThree \fixB dis } >> s }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Forçar el desplaçament horitzontal de les notes
Quan el motor de gravat no és capaç de tot, es pot usar la sintaxi següent per sobreescriure les decisions de tipografia. Les unitats de mesura que s’usen aquí són espais de pentagrama.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn.force-hshift = #1.7 <b f'>2 } >>
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Fer invisible un objecte amb la propietat ’transparent
Si s’ajusta la propietat transparent
d’un objecte,
s’imprimeix en “tinta invisible”: l’objecte no s’imprimeix però
es retenen tots els seus altres comportaments. L’objecte encara
ocupa espai, participa en les col·lisions i se li poden afegir
lligadures d’expressió, lligadures d’unió i barres de corxera.
Aquest fragment de codi mostra com connectar diferents veus usant lligadures d’únió. Normalment les lligadures d’unió sols connecten dues notes que estiguin a la mateixa veu. Mitjançant la introducció d’una lligadura en una veu diferent i pintant de color blanc la primera plica cap a amunt dins d’aquesta veu, la lligadura sembla creuar d’una veu a l’altra.
\relative { \time 2/4 << { \once \hide Stem \once \override Stem.length = #8 b'8 ~ 8\noBeam \once \hide Stem \once \override Stem.length = #8 g8 ~ 8\noBeam } \\ { b8 g g e } >> }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Desplaçament de les notes amb puntet en polifonia
Quan una nota amb puntet a la veu superior es mou per evitar la
col·lisió amb una nota de una altra veu, el comportament
predeterminat és desplaçar la nota superior a la dreta. Es pot
canviar usant la propietat prefer-dotted-right
de
NoteCollision
.
\new Staff \relative c' << { f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##f f2. f4 \override Staff.NoteCollision.prefer-dotted-right = ##t f2. f4 } \\ { e4 e e e e e e e e e e e } >>
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ > ] |
Evitar els advertiments sobre columnes de notes que xoquen
Si es col·loquen sobre la mateixa posició notes de dues veus diferents
amb les pliques en la mateixa direcció, i cap de les veus té un
desplaçament o ambdues tenen el mateix desplaçament, apareix el
missatge d’error ‘advertiment: massa columnes de notes en
col·lisió, s'ignora’ en compilar el fitxer del LilyPond. Aquest
missatge es pot evitar fixant la propietat 'ignore-collision
de l’objecte NoteColumn
al valor #t
. Observeu que
això no elimina sols els advertiments, sinó que fa que el LilyPond
deixi d’intentar resoldre les col·lisions en absolut, per la qual
cosa poden obtenir-se resultats diferents dels esperats si no
s’usa amb prudència.
ignore = \override NoteColumn.ignore-collision = ##t \relative c' { \new Staff << \new Voice { \ignore \stemDown f2 g } \new Voice { c2 \stemDown c, } >> }
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ Staff notation > ] |
Two \partCombine pairs on one staff
The \partCombine
function takes two music expressions each
containing a part, and distributes them among four Voice
s named
“two”, “one”, “solo”, and “chords” depending on when and how
the parts are merged into a common voice. The voices output from
\partCombine
can have their layout properties adjusted in the
usual way. Here we define extensions of \partCombine
to make
it easier to put four voices on a staff.
soprano = { d'4 | cis' b e' d'8 cis' | cis'2 b } alto = { fis4 | e8 fis gis ais b4 b | b ais fis2 } tenor = { a8 b | cis' dis' e'4 b8 cis' d'4 | gis cis' dis'2 } bass = { fis8 gis | a4 gis g fis | eis fis b,2 } \new Staff << \key b\minor \clef alto \partial 4 \transpose b b' \partCombineUp \soprano \alto \partCombineDown \tenor \bass >>
\layout { \context { \Staff \accepts "VoiceBox" } \context { \name "VoiceBox" \type "Engraver_group" \defaultchild "Voice" \accepts "Voice" \accepts "NullVoice" } } customPartCombineUp = #(define-music-function (partOne partTwo) (ly:music? ly:music?) "Take the music in @var{partOne} and @var{partTwo} and return a @code{VoiceBox} named @q{Up} containing @code{Voice}s that contain @var{partOne} and @var{partTwo} merged into one voice where feasible. This variant sets the default voicing in the output to use upward stems." #{ \new VoiceBox = "Up" << \context Voice = "one" { \voiceOne } \context Voice = "two" { \voiceThree } \context Voice = "shared" { \voiceOne } \context Voice = "solo" { \voiceOne } \context NullVoice = "null" {} \partCombine #partOne #partTwo >> #}) customPartCombineDown = # (define-music-function (partOne partTwo) (ly:music? ly:music?) "Take the music in @var{partOne} and @var{partTwo} and return a @code{VoiceBox} named @q{Down} containing @code{Voice}s that contain @var{partOne} and @var{partTwo} merged into one voice where feasible. This variant sets the default voicing in the output to use downward stems." #{ \new VoiceBox = "Down" << \set VoiceBox.soloText = #"Solo III" \set VoiceBox.soloIIText = #"Solo IV" \context Voice ="one" { \voiceFour } \context Voice ="two" { \voiceTwo } \context Voice ="shared" { \voiceFour } \context Voice ="solo" { \voiceFour } \context NullVoice = "null" {} \partCombine #partOne #partTwo >> #}) soprano = { d'4 | cis' b e' d'8 cis' | cis'2 b } alto = { fis4 | e8 fis gis ais b4 b | b ais fis2 } tenor = { a8 b | cis' dis' e'4 b8 cis' d'4 | gis cis' dis'2 } bass = { fis8 gis | a4 gis g fis | eis fis b,2 } \new Staff << \key b\minor \clef alto \partial 4 \transpose b b' \customPartCombineUp \soprano \alto \customPartCombineDown \tenor \bass >>
[ << Simultaneous notes ] | [Part superior][Continguts] | [ Staff notation >> ] |
[ < ] | [ Amunt : Simultaneous notes ] | [ Staff notation > ] |