Harpe : liaisons sur les deux voix

Bonjour,
Je voudrais relier les deux mains arpégées de la harpe de cette façon pour garder la résonance :

Dans le code suivant la liaison ne relie que les notes de la main gauche.
Est-il nécessaire de faire des \change Staff ? Et comment intégrer les deux voix dans la 2e mesure ?
Voici le code :

\version "2.24.3"

global = {
  \key c \major
  \numericTimeSignature
  \time 3/4
}

upper = \relative c'' {
  \global
  % En avant la musique !
  s2.
  g8 c ~c2
  
  
}

lower = \relative c' {
  \global
  % En avant la musique !
  r8 a, ( e' g c e ~e2.)
}

\score {
  \new PianoStaff \with {
    instrumentName = "Harpe"
  } <<
    \new Staff = "upper" \with {
      midiInstrument = "orchestral harp"
    } \upper
    \new Staff = "lower" \with {
      midiInstrument = "orchestral harp"
    } { \clef bass \lower }
  >>
  \layout { }
  \midi {
    \tempo 4=100
  }
}

Merci pour votre aide.
Christophe

Bonsoir

Voici ce à quoi je suis arrivé (en utilisant les change staff et un hideNotes). Dans la voix du haut, dans la première mesure, je duplique la voix du bas mais en cachant les notes. Je fais réapparaitre les notes de la 1ère voix uniquement dans la deuxième mesure (unHideNotes). C'est comme ça qu'on arrive à faire la liaison.
NB ; il est nécessaire de rajouter un \voiceOne dans la première mesure pour éviter les collisions entre voix 1 caché et voix 2. Celà décalle la liaison vers le haut. Du coup pour avoir quelque chose de satisfaisant, je corrige un peu la courbure de la liaison avec le shape #'(...) Slur.
Pour conserver les orientations de hampe naturelles dans la 2ème mesure de la voix du haut je place un \oneVoice.

\version "2.24.1"

global = {
\key c \major
\numericTimeSignature
\time 3/4
}

upper = \relative c'' {
	\global
	% En avant la musique !
	\hideNotes \change Staff = "lower" s8 
	\shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur
	\voiceOne a,,( e' g c e \change Staff = "upper" \unHideNotes
	\oneVoice g8 c) ~c2
}

lower = \relative c' {
	\global
	% En avant la musique !
	r8 a, e' g c e ~e2.
}

\score {
	\new PianoStaff \with {	instrumentName = "Harpe" } <<
		\new Staff = "upper" \with {midiInstrument = "orchestral harp"} {
			\upper
		}
		\new Staff = "lower" \with {midiInstrument = "orchestral harp"} {
			\clef bass \lower 
		}
	>>
	\layout { }
	\midi {
		\tempo 4=100
	}
}

Bonne nuit! :slight_smile:

Bonjour,
Merci beaucoup Seb.
Ta solution marche très bien. La logique de la manœuvre ne tombe pas sous le sens au premier abord, mais tes explications sont claires. J'aurai à m'en resservir.
Merci encore.
C'est résolu.
Bien cordialement.
Christophe

Question subsidiaire : comment introduire un descrescendo dans ce code pour qu'il se place entre les deux portées de la harpe ?
Merci pour vos réponses.
Christophe

Perso j'aime bien ajouter un Dynamics dans ce type de contexte :

\version "2.24.1"

global = {
\key c \major
\numericTimeSignature
\time 3/4 
}

upper = \relative c'' {
	\global
	% En avant la musique !
	\hideNotes \change Staff = "lower" s8 
	\shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur
	\voiceOne a,,( e' g c e \change Staff = "upper" \unHideNotes
	\oneVoice g8 c) ~c2
}

lower = \relative c' {
	\global
	% En avant la musique !
	r8 a, e' g c e ~e2.
}

dyn = { 
  \override Hairpin.to-barline = ##f % <= éventuellemnt
  s2.\> s\! 
}

\score {
  \new PianoStaff \with {	instrumentName = "Harpe" } <<
    \new Staff = "upper" \with {midiInstrument = "orchestral harp"} {
	    \upper
    }
    \new Dynamics \dyn
    \new Staff = "lower" \with {midiInstrument = "orchestral harp"} {
	    \clef bass \lower 
    }
  >>
  \layout { }
  \midi {
    \tempo 4=100
  }
}

Bonjour Pierre,
Merci pour votre réponse.
Je comprends le principe. Il fonctionne bien sur ces deux mesures, mais elles sont extraites d'un conducteur d'orchestre.

  1. comment utiliser cette commande dans une grande partition ?
  2. n'existerait-il pas une commande ponctuelle pour obtenir un tracé de dynamique internes aux deux voix seulement pour ces deux mesures ?

Merci pour vos autres solutions éventuelles.
Christophe

Je ne maîtrise pas complètement la syntaxe visiblement.
Pourriez-vous m'expliquer pourquoi le sol de la clé de sol ne s'imprime pas comme une croche ? Est-ce un problème de connexion de hampe entre les deux clés
ou autre chose ?

\version "2.24.1"
global = {
\key c \major
\numericTimeSignature
\time 3/4 
}


scoreAright = \relative c'' {
 \global
 <<\new Voice = "première"
   \relative {\voiceOne 
 <g' aes c! g'>2 \arpeggio s4}
   \new Voice = "seconde"
   \relative {\voiceTwo
 \hideNotes \change Staff = "left" s8 
	\shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur
	\voiceOne f8 ( c'8 \change Staff = "right" \unHideNotes
	\oneVoice g'8 aes4) }>>
}

scoreAleft = \relative c'' {
   \global
   r8 f,,  c' s8 s4
}
scoreAHarpePart = \new PianoStaff \with {
    instrumentName = "Harpe"
    shortInstrumentName = "Harpe"
  } <<
    \new Staff = "right" \with {
      midiInstrument = "orchestral harp"
    } \scoreAright
    \new Staff = "left" \with {
      midiInstrument = "orchestral harp"
    } { \clef bass \scoreAleft }
  >> 
	
	
	\score {
	  \scoreAHarpePart }
	
	\layout { }
	\midi {
		\tempo 4=100
	}

Merci pour vos éclaircissements.
Cordialement.
Christophe

Bonjour,

Oui il y a une barre de ligature invisible (transparente) entre le fa du début de la liaison et ce sol. On peut la voir en commentant le \hideNotes.

Plutôt que d'utiliser hideNotes (qui comme son nom l'indique cache les notes, autrement dit les rend transparentes, mais celles-ci prennent toujours de la place et on a ce problème de barre de ligature transparente) on peut se créer un removeNotes (et unRemoveNotes) qui supprimerait les mêmes éléments que hideNotes (sauf les têtes de note qu'on garde en point-stencil) et en forçant l'arrêt et le redémarrage de l'auto-beaming.

removeNotes = {
  % remove notes, accidentals, etc.
  \omit Dots
  \override NoteHead.stencil = #point-stencil
  \override NoteHead.no-ledgers = ##t
  \omit Stem
  \omit Beam
  \omit Flag
  \omit Accidental
  \omit Rest
  \override TabNoteHead.stencil = #point-stencil
  \set autoBeaming = ##f
}

unRemoveNotes = {
  % restore notes, accidentals, etc.
  \undo \omit Dots
  \revert NoteHead.stencil
  \revert NoteHead.no-ledgers
  \undo \omit Stem
  \undo \omit Beam
  \undo \omit Flag
  \undo \omit Accidental
  \undo \omit Rest
  \revert TabNoteHead.stencil
  \set autoBeaming = ##t
}

Cordialement,
Xavier

Bonsoir,

je ne sais pas pourquoi mais si on commente % \hideNotes les croches apparaissent bien.
il semble que hideNotes supprime la ligature.
écrire \noBeam g'8 aes4 )

\noBeam g'8  aes4 )
\version "2.24.1"
global = {
  \key c \major
  \numericTimeSignature
  \time 3/4
}

scoreAright = \relative c'' {
  \global
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>2 \arpeggio s8 s8
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s8
        \voiceOne 
        \shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur 
         f8 ( c'8 
     \change Staff = "right" 
     \unHideNotes
      \oneVoice 
       \stemNeutral
     \noBeam g'8  aes4 )
    }
  >>
}

scoreAleft = \relative c'' {
  \global
  r8 f,, c' s8 s4
}

scoreAHarpePart = \new PianoStaff \with {
  instrumentName = "Harpe"
  shortInstrumentName = "Harpe"
} <<
  \new Staff = "right" \with {
    midiInstrument = "orchestral harp"
  } \scoreAright
  
  \new Staff = "left" \with {
    midiInstrument = "orchestral harp"
  } { \clef bass \scoreAleft }
>>

\score {
  \scoreAHarpePart
  \layout { }
  \midi {	\tempo 4=100}
}


en fait le \nobeam serai plus judicieux ici dans la partie cachée

\shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur 
         f8 ( c'8 \noBeam 

Merci pour votre aide.
@ Xavier
Je ne sais pas comment utiliser ces syntaxes removeNotes et unRemoveNotes. Je comprends leur utilité, par la doc qu'il s'agit des graveurs. Mais je n'arrive pas à m'en servir.

@MartialR
\noBeam est plus simple d'emploi, mais je préférerais que les 3 croches soient ligaturées ensemble hampes vers le bas.
Avec le crayon, c'est facile.

Merci pour votre assistance précieuse.

Bonjour,
on peut mettre les ligatures ouverture "[ " fermeture " ]" la où l'on le souhaite (excepté noire blanche et ronde évidement )
"note [ .... note ]"
ligatures manuelles
et les hampes comme on le sohaite aussi
\stemUp ou \stemDown .. et \stemNeutral
position des hampes

\version "2.24"
global = {
  \key c \major
  \numericTimeSignature
  \time 3/4
}

scoreAright = \relative c'' {
  \global
  <<
    \new Voice = "première"
    \relative {
      \voiceOne
      <g' aes c! g'>4 s4 \arpeggio s8 s8
    }
    \new Voice = "seconde"
    \relative {
      \voiceTwo
      \hideNotes 
      \change Staff = "left" s4
        \voiceOne 
        \shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur 
         f8 ( c'8 \noBeam
     \change Staff = "right" 
     \unHideNotes
      \oneVoice 
     %  \stemUp
      g'8[  aes] )
    }
  >>
}

scoreAleft = \relative c'' {
  \global
  r8 f,, c'[ f8] s4
}

scoreAHarpePart = \new PianoStaff \with {
  instrumentName = "Harpe"
  shortInstrumentName = "Harpe"
} <<
  \new Staff = "right" \with {
    midiInstrument = "orchestral harp"
  } \scoreAright
  
  \new Staff = "left" \with {
    midiInstrument = "orchestral harp"
  } { \clef bass \scoreAleft }
>>

\score {
  \scoreAHarpePart
  \layout { }
  \midi {	\tempo 4=100}
}

image

ha j'ma trompé
écrire pour la main gauche :

scoreAleft = \relative c'' {
  \global
  r8 f,, c'[ \change Staff = "right" f8] s4
}

image

Merci, merci. J'y suis presque.
Encore une erreur :
Avertissement : ce contexte de voix requiert un réglage \voiceXx ou \shiftXx
r8 a,,
e' b' c e s2.
Voix main gauche. Qu'est-ce que cela signifie ?
Le code utilisé est celui de Seb :

\version "2.24.1"

global = {
\key c \major
\numericTimeSignature
\time 3/4
}

upper = \relative c'' {
	\global
	% En avant la musique !
	\hideNotes \change Staff = "lower" s8 
	\shape #'((-0.7 . -5)(0 . 1)(0 . 1)(0 . 0)) Slur
	\voiceOne a,,( e' b' c e \change Staff = "upper" \unHideNotes
	\oneVoice b8 c e b' c4)
}

lower = \relative c' {
	\global
	% En avant la musique !
	r8 a,, e' b' c e s2.
}

\score {
	\new PianoStaff \with {	instrumentName = "Harpe" } <<
		\new Staff = "upper" \with {midiInstrument = "orchestral harp"} {
			\upper
		}
		\new Staff = "lower" \with {midiInstrument = "orchestral harp"} {
			\clef bass \lower 
		}
	>>
	\layout { }
	\midi {
		\tempo 4=100
	}
}

Merci pour votre aide précieuse. Sans elle, ça ne serait pas possible d'avancer.

Problème de collision avec les notes invisibles
Collision

ajoutez \shiftOn pour poussez les notes et résoudre le problème

lower = \relative c' {
\global
% En avant la musique !
r8 \shiftOn  a,, e' b' c e s2.
}

Merci Martial.
C'est difficile la harpe !
Merci à tous pour votre aide sans laquelle je ne serais pas arriver à bout de cette partition.
En principe tout est est résolu cette fois.
Bien cordialement.
Christophe

Je ne sais pas comment utiliser ces syntaxes removeNotes et unRemoveNotes. Je comprends leur utilité, par la doc qu'il s'agit des graveurs. Mais je n'arrive pas à m'en servir.

mettre : \removeNotes et \unRemoveNotes à la place de \hideNotes et \unHideNotes

removeNotes = {
  % remove notes, accidentals, etc.
  \omit Dots
  \override NoteHead.stencil = #point-stencil
  \override NoteHead.no-ledgers = ##t
  \omit Stem
  \omit Beam
  \omit Flag
  \omit Accidental
  \omit Rest
  \override TabNoteHead.stencil = #point-stencil
  \set autoBeaming = ##f
}

unRemoveNotes = {
  % restore notes, accidentals, etc.
  \undo \omit Dots
  \revert NoteHead.stencil
  \revert NoteHead.no-ledgers
  \undo \omit Stem
  \undo \omit Beam
  \undo \omit Flag
  \undo \omit Accidental
  \undo \omit Rest
  \revert TabNoteHead.stencil
  \set autoBeaming = ##t
}

{c d e  \removeNotes f  \unRemoveNotes g}

Bonjour,
@ Martial
En remplaçant simplement \removeNotes et \unRemoveNotes à la place de \hideNotes et \unHideNotes, au même endroit, collisions et message d'erreur :
Erreur : chaîne d'échappement inconnue : « \removeNotes »

    \removeNotes \change Staff = "lower" s8 

/tmp/frescobaldi-isa5k5qe/tmpo8nef6kn/document.ly:12:9: Erreur : chaîne en dehors d'un script textuel ou de \lyricmode

    \removeNotes \change Staff = "lower" s8 

Avec le code de Seb en début de post.

Merci pour vos corrections.
Christophe