|
From: | zarbot ziz |
Subject: | Re: suppression bars de mesures ... |
Date: | Wed, 1 Mar 2023 16:37:55 -0500 |
Le mercredi 01 mars 2023 à 12:50 -0500, zarbot ziz a écrit :
Bonjour Jean,
merci pour cette précision je me posais justement la question de la métrique.J'en profite pour une question plus générale sur la façon d'organiser et structurer un morceau:
Je remarque que vous avez utilisé la commande \new Staff { dans l'exemple mais si j'utilise la commande \score { ça ne fonctionne plus, pourquoi ?
Je suis un peu confus entre les différentes commandes* Staff, Score* ou les symboles (<< .. >>) et comment faire si l'on veut ajuster les paramètres (layout) pour chaque section ?
Revenons à la théorie :
Écrire une partition LilyPond, c'est principalement former une grande _expression_ musicale. Plusieurs moyens existent pour créer une _expression_ musicale, parmi lesquels :
- Une note (comme
dis'4.
),- Un silence (comme
r4
ouR1
),- Une commande qui renvoie une _expression_ musicale (comme
\p
ou\relative c' ...
),- Une séquence d'expressions musicales, avec la syntaxe
{ ... }
,- Des expressions musicales mises en parallèle, avec la syntaxe
<< >>
.(Il y en a d'autres, comme les articulations, mais passons.)
Lorsque vous lui donnez une _expression_ musicale toute simple comme
{ c'4 }
, LilyPond va créer implicitement une partition, une portée et une voix, soit des contextesScore
,Staff
etVoice
. L'équivalent avec une syntaxe explicite est\new Score \new Staff \new Voice { c'4 }
.Si vous voulez mettre plusieurs voix ou portées, il faut créer explicitement les contextes. Par exemple :
<< \new Staff { c'1 1 } \new Staff { c'1 1 } >>
met en parallèle deux expressions\new Staff ...
qui créent chacune un contexte. Notez que\new Staff
attend une _expression_ musicale quelconque. Ainsi,\new Staff c'1
est parfaitement valide. En général, on met quand même plusieurs notes dans une portée, donc on utilise plutôt\new Staff { ... }
avec des accolades. Mais on peut aussi faire, par exemple\new Staff \repeat unfold 20 { c'1 }
ou encore\new Staff << { c'4 } { s\p } >>
.Ensuite, il y a le bloc
\score
, qui s'utilise essentiellement dans deux cas :
- Si vous voulez changer la mise en forme pour une partition seulement, mais pas pour les autres.
- Si vous voulez avoir une sortie MIDI.
La syntaxe est
\score { ... }
, et dans les points de suspension se mettent
- une, et une seule _expression_ musicale,
- éventuellement, des blocs
\layout
et\midi
.Le point important, c'est qu'il y a exactement une _expression_ musicale dans un bloc
\score
. Et, point central, les accolades de\score { ... }
font partie de la syntaxe de\score
. Ainsi,\score c'
n'est pas valide, alors que\new Staff c'
l'est. Donc les accolades ont ici une fonction complètement différente, ce qui est source de confusion.Moralité : dans le code
\version "2.24.1" music = \repeat unfold 50 { g'8 } \score { \cadenzaOn \set Timing.forbidBreakBetweenBarLines = ##f \music \fine }
il y a un bloc
\score
qui contient quatre expressions musicale différentes :\cadenzaOn
,\set Timing...
,\music
et\fine
, ce qui n'est pas valable. Il faut les combiner en une seule. Comme en l'occurrence vous cherchez à les mettre les unes après les autres (pas en parallèle ou autre), il faut les mettre dans des accolades supplémentaires :\version "2.24.1" music = \repeat unfold 50 { g'8 } \score { % accolades qui délimitent le bloc \score { % accolades qui créent une _expression_ musicale composée \cadenzaOn \set Timing.forbidBreakBetweenBarLines = ##f \music \fine } }
Et si vous voulez mettre un
\layout
, vous pouvez le faire, à l'intérieur des accolades du\score
mais en dehors de celles de l'_expression_ musicale.\version "2.24.1" music = \repeat unfold 50 { g'8 } \score { { \cadenzaOn \set Timing.forbidBreakBetweenBarLines = ##f \music \fine } \layout { \context { \Voice \override NoteHead.color = "red" } } }
Désolé d'avoir été long, j'espère que ça vous sera utile.
Cordialement,
Jean
[Prev in Thread] | Current Thread | [Next in Thread] |