beam-merge

Bonjour,

Avez-vous une solution pour réaliser un merge des queues de notes (beam) en cas de voix multiples séparées ?
Comme il s'agit d'une réduction pour orchestration je ne souhaite pas une écriture en accords du style 4
mais conserver les différentes voix et les regrouper avec << \ \ >>
Voici le code minimal:

\version "2.18.2"

%------------------------------------------

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }

%

\score {

<< \vxA \ \vxC \ \vxB >>

\layout { \context {

\Score %propriété des portées

\override NoteCollision #'merge-differently-dotted = ##f

\override NoteCollision #'merge-differently-headed = ##t

\override NoteColumn #'ignore-collision = ##f }

\override NoteColumn #'force-hshift = #0 }

}

Et le résultat en PJ (beam-merge.pdf) ou l'on constate que les queues de notes ne fusionnent pas.

Merci par avance pour vos réponses. Didier

beam-merge.pdf (19.7 KB)

Bonjour,

Comme ma question ne passionne pas les foules, j'ai essayé différentes choses et avec le site de lilypond qui était en rade, ce ne fut pas évident.
Toutefois, je m'en suis sorti avec une commande \omit Beam ou \omit Flag permettant d'effacer la croche ou double croche indésirable, ce qui fonctionne tant que les notes ne sont pas trop éloignées.
Seulement, ce n'est pas idéal car chaque voix comporte des \stemUp \stemDown \omit Beam \undo\omit Beam, etc ...
L'idéal serait de pouvoir gérer ces commandes de mise en forme de façon indépendantes comme pour les "dynamics" qui gèrent les nuances. En effet ces voix sont sur la réduction piano mais il serait souhaitable qu'elle soient également utilisables à l'identique sur d'autres instruments en orchestration.
Autre piste possible: encapsuler les commandes \stemUp \stemDown \omit Beam \undo\omit Beam, etc ... dans des variables et utiliser ces variables plutôt que les commandes directes.
Donc, initialisation des variables pour utilisation avec le piano et on laisse vide ces mêmes variables pour utilisation par les instruments de l'orchestre.
Des idées ? En attendant, je creuse ce point.

A+
Didier

···

Le 30/10/2015 19:10, Didier Griffaut a écrit :

Bonjour,

Avez-vous une solution pour réaliser un merge des queues de notes (beam) en cas de voix multiples séparées ?
Comme il s'agit d'une réduction pour orchestration je ne souhaite pas une écriture en accords du style 4
mais conserver les différentes voix et les regrouper avec << \ \ >>
Voici le code minimal:

\version "2.18.2"

%------------------------------------------

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }

%

\score {

<< \vxA \ \vxC \ \vxB >>

\layout { \context {

\Score %propriété des portées

\override NoteCollision #'merge-differently-dotted = ##f

\override NoteCollision #'merge-differently-headed = ##t

\override NoteColumn #'ignore-collision = ##f }

\override NoteColumn #'force-hshift = #0 }

}

Et le résultat en PJ (beam-merge.pdf) ou l'on constate que les queues de notes ne fusionnent pas.

Merci par avance pour vos réponses. Didier

bonsoir

ça le fait :
%------------------------------------------
global = { \time 2/4 \key bes \major }
vxA = \relative c'' { \voiceOne d8. es16 d8 d }
vxB = \relative c' { \voiceTwo f8. g16 f8 f }
vxC = \relative c'' { \voiceFour bes4. \once bes8 }

\score {
\new Staff <<
  \vxA \vxC \vxB
>>

\layout {
   \context {
      \Score %propriété des portées
      \override NoteCollision #'merge-differently-dotted = ##f
      \override NoteCollision #'merge-differently-headed = ##t
      \override NoteColumn #'ignore-collision = ##f }
      \override NoteColumn #'force-hshift = #0
}
%------------------------------------------

···

Le 30/10/2015 19:10, Didier Griffaut a écrit :

Bonjour,

Avez-vous une solution pour réaliser un merge des queues de notes (beam)
en cas de voix multiples séparées ?
Comme il s'agit d'une réduction pour orchestration je ne souhaite pas
une écriture en accords du style <a b c>4
mais conserver les différentes voix et les regrouper avec << \\ \\ >>
Voici le code minimal:

\version "2.18.2"

%------------------------------------------

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }

%

\score {

<< \vxA \\ \vxC \\ \vxB >>

\layout { \context {

\Score %propriété des portées

\override NoteCollision #'merge-differently-dotted = ##f

\override NoteCollision #'merge-differently-headed = ##t

\override NoteColumn #'ignore-collision = ##f }

\override NoteColumn #'force-hshift = #0 }

}

Et le résultat en PJ (beam-merge.pdf) ou l'on constate que les queues de
notes ne fusionnent pas.

Merci par avance pour vos réponses. Didier

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

au temps pour moi
j'ai pas lu trop vite
"conserver les différentes voix et les regrouper avec << \\ \\ >>"

···

Le 30/10/2015 19:10, Didier Griffaut a écrit :

Bonjour,

Avez-vous une solution pour réaliser un merge des queues de notes (beam)
en cas de voix multiples séparées ?
Comme il s'agit d'une réduction pour orchestration je ne souhaite pas
une écriture en accords du style <a b c>4
mais conserver les différentes voix et les regrouper avec << \\ \\ >>
Voici le code minimal:

\version "2.18.2"

%------------------------------------------

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }

%

\score {

<< \vxA \\ \vxC \\ \vxB >>

\layout { \context {

\Score %propriété des portées

\override NoteCollision #'merge-differently-dotted = ##f

\override NoteCollision #'merge-differently-headed = ##t

\override NoteColumn #'ignore-collision = ##f }

\override NoteColumn #'force-hshift = #0 }

}

Et le résultat en PJ (beam-merge.pdf) ou l'on constate que les queues de
notes ne fusionnent pas.

Merci par avance pour vos réponses. Didier

_______________________________________________
liste de diffusion lilypond-user-fr
lilypond-user-fr@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

là oui c'est bon

mettre la voix 2 stemDown et avec un décalage hshift sur toute la partition (supprimer \once)

%---------------------------------------
global = { \time 2/4 \key bes \major }
sh = \override NoteColumn #'force-hshift = #1.2
vxA = \relative c'' { \global d8. es16 d8 d }
vxB = \relative c' { \global \stemDown f8. g16 f8 f }
vxC = \relative c'' { \global \stemDown \sh bes4. bes8 }

%%etc....

%------------------

···

Le 30/10/2015 19:10, Didier Griffaut a écrit :

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }

Merci Martial,

Ce n'est pas exactement ce que je cherche car ce n'est plus une écriture "pianistique"
Le but étant d'écrire une réduction pour piano avec des voix indépendantes qui sont utilisées également par l'orchestre de façon différente.
Pour le moment, le meilleur compromis que j'ai trouvé est d'utiliser des variables pour "formater" l'écriture du piano:

%------------------------------------------------------------------------------------

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

bof = \omit Beam

pnStUp = \stemUp

pnStDown = \stemDown %

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \bof \pnStUp f8. g16 f8 f }

vxC = \relative c'' { \global \pnStDown \sh bes4. \sh bes8 }

%%etc....

%------------------
Ces variables sont vides pour l'utilisation d'une voix par un instrument de l'orchestre.
Donc, j'ai un fichier "include" avec les variables d'environnement (sh, bof, pnStUp, pnStDown, etc ... ) initialisées et utilisées pour la partition de réduction au piano et un autre fichier "include" avec ces mêmes variables vides pour le conducteur d'orchestre.

Voila où j'en suis ...

···

Le 01/11/2015 00:45, Martial a écrit :

là oui c'est bon

mettre la voix 2 stemDown et avec un décalage hshift sur toute la partition (supprimer \once)

%---------------------------------------
global = { \time 2/4 \key bes \major }
sh = \override NoteColumn #'force-hshift = #1.2
vxA = \relative c'' { \global d8. es16 d8 d }
vxB = \relative c' { \global \stemDown f8. g16 f8 f }
vxC = \relative c'' { \global \stemDown \sh bes4. bes8 }

%%etc....

%------------------

Le 30/10/2015 19:10, Didier Griffaut a écrit :

global = { \mergeDifferentlyHeadedOff \time 2/4 \key bes \major }

sh = \once \override NoteColumn #'force-hshift = #1.2

vxA = \relative c'' { \global d8. es16 d8 d }

vxB = \relative c' { \global \stemUp f8. g16 f8 f }

vxC = \relative c'' { \global \stemDown \sh bes4. \sh bes8 }