Subject: Re: suppression bars de mesures ...

From: zarbot ziz <[email-masked]>
Date: Wed, 1 Mar 2023 12:50:59 -0500

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 ?

Merci d'avance
Cordialement

On Tue, Feb 28, 2023 at 4:16 PM Jean Abou Samra <[email-masked]> wrote:

> Bonjour,
>
> Sachez qu'avec les réponses de Martial et Xavier, les barres de mesure
> sont toujours là, bien qu'invisibles. En fonction des cas, c'est
> souhaitable ou pas. En particulier, les barres de ligature continuent
> d'être adaptées à une métrique 4/4 (ou à la métrique définie par \time),
> et les sauts de ligne ne peuvent intervenir que sur une barre de mesure
> (invisible).
>
> Pour écrire de la mesure sans métrique, il faut faire
>
> \version "2.24.1"
>
> music = \repeat unfold 50 { g'8 }
>
> \new Staff {
>   \cadenzaOn
>   \set Timing.forbidBreakBetweenBarLines = ##f
>   \music
>   \fine
> }
>
> Cordialement,
>
> Jean
>

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 01 Mar 2023 22:18:44 +0100

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` ou `R1`),
- 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 contextes `Score`, `Staff` et `Voice`. 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"

\score { 
  \cadenzaOn
```

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"

\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"

\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

---

From: zarbot ziz <[email-masked]>
Date: Wed, 1 Mar 2023 16:37:55 -0500

Merci Jean,

C'est un résumé clair et pédagogique qui mériterait de se retrouver dans la
doc de Lilypond ;)

Cordialement
Claude

On Wed, Mar 1, 2023 at 4:18 PM Jean Abou Samra <[email-masked]> wrote:

> 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 ou R1),
>    - 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 << >>.
>
> 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 contextes Score, Staff et Voice. 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 :
>
> La syntaxe est \score { ... }, et dans les points de suspension se mettent
>
>    - é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"
>
> 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"
>
> 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"
>

---

From: Jean Abou Samra <[email-masked]>
Date: Wed, 01 Mar 2023 22:40:49 +0100

Le mercredi 01 mars 2023 à 16:37 -0500, zarbot ziz a écrit :
> Merci Jean,   
> C'est un résumé clair et pédagogique qui mériterait de se retrouver dans la doc de Lilypond ;)

Ça y est plus ou moins déjà, avec des mots différents bien sûr, dans cette section :

[https://lilypond.org/doc/v2.24/Documentation/learning/how-lilypond-input-files-work](https://lilypond.org/doc/v2.24/Documentation/learning/how-lilypond-input-files-work)

Cordialement,

Jean