Subject: direction des liaisons de prolongation

From: Vincent Gay <[email-masked]>
Date: Mon, 22 Jan 2018 23:36:47 +0100

bonsoir à tous

        version courte :

dans une partie à deux voix je voudrais que les liaisons se comportent
comme s'il n'y en avait qu'une, c'est à dire que leur direction soit
fonction uniquement de la position des notes sur la portée. Je sais
forcer la direction soit avec \override Tie.direction soit avec ^ ou _
devant un ~ mais je voudrais que cela se fasse automatiquement. Il se
peut qu'il y ait une autre solution à mon problème => voir la version
longue.

        version longue :

mon projet est de saisir tous les standards des realbooks que je suis
susceptible de jouer dans un bœuf pour les afficher sur ma tablette.
Comme je joue de différents instruments je transpose en Sib et en Mib en
plus de la version en do.

Dans "Don't Get Arund Much Anymore" de Duke Ellincton et Bob Russell
(Realbook 1 VIe édition page 122) des indications rythmiques sont
données entre la ligne d'accord et la portée. Voir ici les 6 premières
mesures <https://album.zaclys.com/download.php?z=2&doc_id=5029740>.

Je traite la ligne de rythme comme une seconde voix, avec
\improvisationOn pour les têtes de note, \override NoteHead.no-ledgers =
##t pour supprimer les lignes additionnelles et \override Rest
#'staff-position = #6 pour la position des silences.

Dans la première voix (la mélodie) je positionne les silences sans
difficulté avec \override Rest #'staff-position = #0. Le problème est
dans la direction des liaisons. Considérant qu'il s'agit de la 1ère voix
Lily me les dirige vers le haut. Bien sûr je peut corriger ceci à base
de \override Tie.direction ou de _ et ^ devant les ~ mais ces
corrections manuelles ne tiennent pas compte des versions transposées.
Et ce qui fonctionne pour la version en Do ne convient pas pour celle en
Mib (transposée d'une sixte au dessus pour des raisons de tessiture).

Ci-dessous une partie de mon code, correspondant aux 6 mesures évoquées
plus haut.

Merci d'avance.

\version "2.18.2"

\paper {
  page-count = #1
  ragged-bottom = ##f
  %ragged-last = ##t
}

\header {
  tagline = ##f
  composer = "Duke Ellington / Bob Russel"
  title = \markup { "Don't Get Arund Much Anymore" \small "(Med. Swing)" }
}

\layout {
  \context {
    \Score
    skipBars = ##t
  }
}

harmonies = \chordmode {
  r1s8 c4.:7+ d4:m7 dis8:dim c/e s1 s8 c4.:7 b4:7 bes8:7 a:7
  s1 d:7 }

chordsRhythm = \relative c''' {
\override Rest #'staff-position = #6

  \improvisationOn \override NoteHead.no-ledgers = ##t
  s1 r8 b4. b4 b8 b | s1 | r8 b4. b4 b8 b | s1*2
    \improvisationOff }

Melodie =  \relative c'' {
  \clef "treble" \key c \major \time 4/4
  \override Rest #'staff-position = #0
  \override Tie.direction = #DOWN
  r8 e4 d8 c g f e~
  \repeat volta 2 {
    e1 | r8 e'4 d8 c g f e~ | e1
   
    r8 g4 f8 e d c c'^~ | c4. a8~ a2 }
}

% The score definition
\book {
 
  \bookpart {
    \header {poet = \markup { \bold "Partition en C" }  }
    #(define output-suffix "C")
   
    \score {
      <<
        \new ChordNames {
          \set chordChanges = ##f
          \harmonies
        }
       
        \new Staff <<
            << \Melodie \\ \chordsRhythm >>
         >>
       
      >>
     
    }
   
} }
\book {

  \bookpart {
    \header {poet = \markup { \bold "Partition en B" \flat }  }
    #(define output-suffix "Bb")
   
    \score {
      <<
        \new ChordNames {
          \set chordChanges = ##f
          \transpose c d \harmonies
        }
       
        \new Staff <<
            << \transpose c d \Melodie \\ \chordsRhythm >>
        >>
       
      >>
     
    }
   
} }
\book {
 
  \bookpart {
    \header {poet = \markup { \bold "Partition en E" \flat }  }
    #(define output-suffix "Eb")
   
    \score {
      <<
        \new ChordNames {
          \set chordChanges = ##f
          \transpose c a \harmonies
        }
       
        \new Staff <<
            << \transpose c a \Melodie \\ \chordsRhythm >>
        >>
       
      >>
     
    }
   
  }
 
}

-- 
Vincent Gay
Envoyé depuis mon saxo-phone :)
http://blog.vintherine.org/ - http://photos.vintherine.org/

---

From: Olivier Miakinen <[email-masked]>
Date: Tue, 23 Jan 2018 01:43:18 +0100

Bonjour,

Tu utilises beaucoup de choses que je ne connais pas, alors ma réponse
sera peut-être à côté de la plaque. Cela dit je tente quand même...

Le 22/01/2018 23:36, Vincent Gay a écrit :
> fonction uniquement de la position des notes sur la portée. [...]
> 
> [...] Le problème est
> Lily me les dirige vers le haut.

Euh... essayer avec \oneVoice ?
http://lilypond.org/doc/v2.18/Documentation/notation/multiple-voices

---

From: Vincent Gay <[email-masked]>
Date: Tue, 23 Jan 2018 22:25:06 +0100

> http://lilypond.org/doc/v2.18/Documentation/notation/multiple-voices

Bonsoir Olivier

si j'utilise \oneVoice... je n'aurai qu'une voix et ne sais comment
insérer ma ligne rythmique.

Bah... je me suis résolu à dupliquer ma variable mélodie en ne changeant
que la direction des prolongations. Ce n'est pas très élégant, voire un
peu bestial, mais ça marche !

---

From: Olivier Miakinen <[email-masked]>
Date: Tue, 23 Jan 2018 23:40:07 +0100

Le 23/01/2018 22:25, Vincent Gay a écrit :
> si j'utilise \oneVoice... je n'aurai qu'une voix

Je ne crois pas, non. Mettre \oneVoice ne supprime pas magiquement les
autres voix écrites en parallèle, et pourvu qu'il n'y ait pas de
collision entre notes (ce qui ne devrait pas arriver si ta ligne
rythmique ne comporte pas de notes en \oneVoice elles aussi) je ne vois
pas pourquoi ça ne fonctionnerait pas.

Essaye toujours, ça n'engage à rien :

Melodie =  \relative c'' {
  \clef "treble" \key c \major \time 4/4
  \oneVoice               % j'ai supprimé les deux « \override ... »
  r8 e4 d8 c g f e~
  \repeat volta 2 {
    e1 | r8 e'4 d8 c g f e~ | e1

    r8 g4 f8 e d c c'~ | c4. a8~ a2 }       % j'ai supprimé le « ^ »
}

(sans rien changer d'autre au code que tu donnais)

---

From: Vincent Gay <[email-masked]>
Date: Wed, 24 Jan 2018 11:25:14 +0100

Le 23/01/2018 à 23:40, Olivier Miakinen a écrit :
> Essaye toujours, ça n'engage à rien
Alors ça ! avoir 2 voix en mettant \oneVoice je n'y aurais pas pensé.
Effectivement ça fonctionne au poil, merci Olivier. Où as-tu péché ça ?
J'ai relu la doc, y compris la page que tu as mis en lien, sans voir
mention de cette fonctionnalité autrement que pour signaler la fin de la
section polyphonique.

Encore merci.

---

From: Olivier Miakinen <[email-masked]>
Date: Thu, 25 Jan 2018 00:20:33 +0100

> Effectivement ça fonctionne au poil, merci Olivier. Où as-tu péché ça ?

En fait, je n'utilise jamais la construction avec double antislash :
  <<
    { r8 r16 g e8. f16 g8[ c,] f e16 d }
    \\
    { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }

mais toujours celle avec \new Voice explicites :
  \new Staff <<
    \new Voice = "first"
      { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
    \new Voice= "second"
      { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }

Avec les \\ tu n'as pas besoin de préciser \voiceOne et \voiceTwo car
ils sont mis de façon implicite. Mais dans la méthode que j'utilise,
lorsque j'oublie de les préciser, cela fait comme si j'avais mis un
\oneVoice aux deux parties... du coup, par étourderie je vois assez
souvent ce qui se passe quand on a deux voix en \oneVoice ! Ça fait
des collisions et non pas la suppression d'une des deux voix.

> mention de cette fonctionnalité autrement que pour signaler la fin de la

En fait le \oneVoice ne fait rien d'autre que de dire « reprendre le
comportement par défaut ».

---

From: Seventies <[email-masked]>
Date: Thu, 25 Jan 2018 10:19:20 -0700 (MST)

Bonsoir à tous,

Pour emboiter le pas d'Olivier, voici deux fonctions bien utiles - et très
simple, ... de mon niveau - pour écrire la polyphonie :

%{ Fonction polyphonic : assure une polyphonie de type \voiceOne \new Voice
\voiceTwo \oneVoice
La voix UN est connectée à l'environnement, c'est à dire qu'elle peut
prolonger des ligatures, liaisons, nuances, ... avec le mode normal
%}
polyphonic=
#(define-music-function (parser location voixun voixdeux)
   (ly:music? ly:music?)
   #{
     <<
       {
         \voiceOne
         $voixun
       }
       \new Voice
       {
         \voiceTwo
         $voixdeux
       }
     \oneVoice
   #}
   )

% idem en laissant libre l'orientation des hampes et liaisons -
%   utile pour introduire une ligne indépendante de nuances, ...

polyphonicNeutral=
#(define-music-function (parser location voixun voixdeux)
   (ly:music? ly:music?)
   #{
     <<
       {
         $voixun
       }
       \new Voice
       {
         $voixdeux
       }
   #}
   )

Et pour être complet :

% Idem en inversant voix 1 et 2 - la voix 1, connectée à l'environnement,
% a les propriétés d'une voix 2,tournée vers le bas

polyphonicInv=
#(define-music-function (parser location voixun voixdeux)
   (ly:music? ly:music?)
   #{
     <<
       {
         \voiceTwo
         $voixun
       }
       \new Voice
       {
         \voiceOne
         $voixdeux
       }
     \oneVoice
   #}
   )

Cordialement,

Jean-François

-----
Liste des partitions LilyPond en http://www.espace-midi.com/lilypond
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/