[ << Repeats ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Top ] | [ > ] |
Simultaneous notes
[ << Simultaneous notes ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < Simultaneous notes ] | [Plus haut: Simultaneous notes ] | [ > ] |
Ajout de voix pour éviter les collisions
Dans certains cas de musique polyphonique complexe, une voix
supplémentaire peut permettre d’éviter les risques de collision.
Lorsque quatre voix parallèles ne suffisent pas, la fonction Scheme
context-spec-music
permet d’ajouter encore d’autres voix.
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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Modification de la taille d’une note particulière d’un accord
La commande \tweak
permet de modifier la propriété
font-size
d’une note particulière d’un accord.
Il s’agit de placer, à l’intérieur même de l’accord (dans la
construction < >
) et avant la note considérée, l’instruction
\tweak
suivie de font-size
et de définir la taille voulue
– comme #-2
pour une petite tête.
\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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Modification des indications de parties combinées
Lorsque vous regroupez automatiquement des parties, vous pouvez modifier le texte qui sera affiché pour les solos et pour les parties à l’unisson :
\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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Clusters
Un cluster indique à l’instrumentiste qu’il doit jouer toute une suite de sons.
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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Combinaison de deux parties sur une même portée
L’outil de combinaison de parties (la commande \partCombine
)
permet d’avoir deux parties différentes sur une même portée. LilyPond
ajoute automatiquement des indications textuelles, telles que « solo »
ou « a2 ». Si votre intention n’est que de fusionner les parties, sans
ajouter de texte, assignez faux à la propriété
printPartCombineTexts
.
Dans le cas de partitions vocales, et plus particulièrement d’hymnes, ces « solo/a2 » ne sont d’aucune utilité, aussi vaut-il mieux les désactiver. Dans le cas où il y aurait alternance entre solo et tutti, il vaut mieux faire appel à de la musique polyphonique standard.
Voici trois moyens d’imprimer deux parties sur une même portée : en
polyphonie normale, avec \partCombine
sans indication
supplémentaire, et avec \partCombine
commentée.
%% 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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Impression d’accords complexes
Voici comment obtenir l’impression d’un accord au sein duquel une même note est jouée deux fois avec des altérations différentes.
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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Décalage horizontal forcé
Quand LilyPond est dépassé, la propriété force-hshift
de l’objet
NoteColumn
et des silences à hauteur déterminée peuvent s’avérer
utiles pour dicter au programme les choix de placement. On travaille ici
en espace de portée.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn.force-hshift = #1.7 <b f'>2 } >>
[ << Simultaneous notes ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Recours à la propriété transparent
pour rendre des objets invisibles
Une modification de la propriété transparent
permet d’imprimer un
objet « à l’encre sympathique » : l’objet n’est pas affiché bien que tous
ses attributs soient préservés. L’objet en question occupe donc sa
place, est pris en compte lors de collisions, et peut se voir attaché
liaisons ou ligatures.
Cet exemple illustre la manière de connecter deux voix par une liaison de prolongation. Les liaisons de prolongation ne peuvent normalement intervenir que dans la même voix. Dès lors que la liaison est entamée dans une autre voix et que la première hampe ascendante est rendue transparente dans cette même voix, la liaison semble passer d’une voix à l’autre.
\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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Déplacement des notes pointées dans une polyphonie
Une note pointée appartenant à la voix supérieure d’une portée
polyphonique sera par défaut décalée vers la droite afin d’éviter les
collisions avec les autres voix. Ce comportement peut être outrepassé à
l’aide de la propriété 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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ > ] |
Suppression des avertissements de chevauchement
If notes from two voices with stems in the same direction are placed at
the same position, and both voices have no shift or the same shift
specified, the error message ‘warning: ignoring too many clashing
note columns’ will appear when compiling the LilyPond file. This
message can be suppressed by setting the 'ignore-collision
property of the NoteColumn
object to #t
. Please note that
this does not just suppress warnings but stops LilyPond trying to
resolve collisions at all and so may have unintended results unless
used with care.
ignore = \override NoteColumn.ignore-collision = ##t \relative c' { \new Staff << \new Voice { \ignore \stemDown f2 g } \new Voice { c2 \stemDown c, } >> }
[ << Simultaneous notes ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ Staff notation > ] |
Deux \partCombine
sur une même portée
La fonction \partCombine
prend deux expressions musicales
contenant chacune une partie et les distribue dans quatre contextes
Voice
nommés « two », « one », « solo » et « chords » selon le
moment et la manière dont ces parties fusionnent en une voix commune.
Les voix issues de \partCombine
peuvent disposer de leurs
propres propriétés de mise en forme définies de manière habituelle. Sont
ici définies des extensions à \partCombine
de sorte à faciliter
le placement de quatre voix sur une seule portée.
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 ] | [Racine][Table des matières] | [ Staff notation >> ] |
[ < ] | [Plus haut: Simultaneous notes ] | [ Staff notation > ] |