|
From: | Vincent Gay |
Subject: | Glissandi et bends |
Date: | Wed, 7 Mar 2018 13:46:03 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 |
J'ai récemment trouvé quelques commandes ou propriétés que je ne
connaissais pas encore (Score.SpacingSpanner.spacing-increment,
afterGrace...). Cela m'a amené à revoir certaines solutions
concernant les glissandi et les bends qui ne me donnaient pas
entièrement satisfaction. Et donc je partage ça ici autant pour me
servir de mémo que dans l'espoir que cela puisse servir à
d'autres.
Lilypond gère les glissandi et les bends de façon très classique (comme à l'accoutumé) ce qui ne convient pas tout à fait à l'écriture des partitions de jazz. Voici quelques solutions à mes problèmes les plus courants. Les glissandiPar défaut le glissando est représenté par une ligne droite. Pour l'avoir en zig-zag : [ \once ] \override Glissando.style = #'zigzag ou dans le layout : \layout { \context { \Score \override Glissando #'style = #'zigzag } }
Normalement un glissando relie 2 notes mais il peut arriver que la
note
d’arrivée (ou de départ) d’un glissando soit absente de la
partition. Pour ce faire la
documentation Lilypond propose de passer par une note cachée et
une
cadence
\relative c'' { \time 3/4 \override Glissando.style = #'zigzag c4 c \cadenzaOn c4\glissando \hideNotes c,,4 \unHideNotes \cadenzaOff \bar "|" } Attention : du fait de la cadence le décompte de la mesure ne sera pas incrémentée : le rectifier avec \set Score.currentBarNumber = #[N° de la mesure]. Penser également à gérer les autres voix, les ligatures ([ et ] derrière les notes concernées). Une autre solution, sans ces désagréments quoique tout aussi compliquée, consiste à passer par des grâces notes invisible et à gérer l'espace soit par Score.SpacingSpanner.spacing-increment (doc : http://lilypond.org/doc/v2.18/Documentation/notation/new-spacing-area) dans le cas d'un glissando avant, soit avec #(define afterGraceFraction (cons x y)) (doc : http://lilypond.org/doc/v2.18/Documentation/notation/special-rhythmic-concerns#grace-notes) dans le cas d'un glissando après. \relative c'' { \override Glissando.style = #'zigzag c2 c | \newSpacingSection \once \override Score.SpacingSpanner.spacing-increment = #2.5 \hideNotes \grace c,8 \glissando \unHideNotes \newSpacingSection c'2 c | r2 \newSpacingSection \once \override Score.SpacingSpanner.spacing-increment = #2.5 \hideNotes \grace c,8 \glissando \unHideNotes \newSpacingSection c'2 | c c #(define afterGraceFraction (cons 99 100)) c \afterGrace c \glissando { \hideNotes c,8 \unHideNotes } \afterGrace c'2 \glissando { \hideNotes c,8 \unHideNotes } r2 } Les bendsBendAfterLilypond utilise les sauts et chutes après une note avec la commande \bendAfter #±VALEUR, où valeur est positive pour une courbe vers le haut et négative pour une courbe vers le bas \version "2.18.2" \relative c'' { c2\bendAfter #+4 c2\bendAfter #-4 c2\bendAfter #+6.5 c2\bendAfter #-6.5 c2\bendAfter #+8 c2\bendAfter #-8 } bendBeforePar contre il n'est pas prévu à l'origine de courbes avant la note( \bendBefore) et il faut pour cela utiliser une fonction additionnelle (que m'avait indiqué Mike Solomon sur cette liste) mais la solution trouvée ne fonctionne que dans un sens et n'est pas paramétrable. De plus à l'usage la gestion de l'espace n'est pas irréprochable : \version "2.18.2" #(define (scoop-stencil grob) (ly:stencil-add (ly:note-head::print grob) (grob-interpret-markup grob (markup #:with-dimensions '(0 . 0) '(0 . 0) #:translate '(-0.2 . -0.5) #:path 0.25 '((moveto 0 0) (curveto 0 -1 -1 -1.5 -1.5 -1.5)))))) scoop = \once \override NoteHead #'stencil = #scoop-stencil \relative c'' { \scoop c2 } une autre solution consiste à faire un bendAfter inverse sur une grâce note invisible et de gérer l'espace avec Score.SpacingSpanner.spacing-increment (doc : http://lilypond.org/doc/v2.18/Documentation/notation/new-spacing-area) \version "2.18.2" \relative c'' { c2\bendAfter #+4 c\bendAfter #-4 | \newSpacingSection \once \override Score.SpacingSpanner.spacing-increment = #3.5 \hideNotes \grace f,8 \bendAfter #4 \unHideNotes \newSpacingSection \once \override Score.SpacingSpanner.spacing-increment = #0.3 c'2 \newSpacingSection \once \override Score.SpacingSpanner.spacing-increment = #3 \hideNotes \grace g'8 \bendAfter #-4 \unHideNotes \newSpacingSection c,2 } Hoping this helps -- Vincent Gay Envoyé depuis mon saxo-phone :) http://blog.vintherine.org/ - http://photos.vintherine.org/ |
signature.asc
Description: OpenPGP digital signature
[Prev in Thread] | Current Thread | [Next in Thread] |