Bonjour
Ca avance doucement, mais ce n'est pas fini.
@ Xavier : je confirme que c'était bien les notes invisibles à une mauvaise hauteur qui augmentait l'écartement des portées.
@ Jean : problème d'écartement évacué par votre code.
Malheureusement, je ne gère pas encore correctement les commandes de citations. Ci-dessous un extrait de ma partition. Je voudrais citer cette fois deux mesures de hautbois avant les notes finales des flûtes.
\version "2.24.1"
\tagGroup quote,noQuote
\header {
title = "Prélude"
}
global = {
\numericTimeSignature
\time 3/4
\tempo "Assez lent"
}
scoreAFlute = \relative c'' {
\global
R2.*7
\break
r8 e'\pp( ~e8 d e4~
e4 d8\< b a b\!
e4\> d8 g, b4~\!
b4 a8\< g e g
b d!\! b4. a8
b8^\markup {\bold Ralenti} e,\> g2\! ) |
R2.*7^\markup {\bold {au Mouvt}}
R2.*2^\markup {\bold {Ralenti}}
\tag part { <>^\markup { \tiny "hautbois" } }
\cueDuring "scoreAOboe" #UP { R2. *2 }
%% Les deux mesures pour accuillir la citation de hautbois
% R2.*2^\markup {\bold {Très lent}}
<c e>4\pp\fermata r r
\fine
}
scoreAOboe = \relative c'' {
\global
r8 \p e \( fis d e fis
b4 g d ~
d4 e g, \) \break
b2\( c!4
e,4. g8 e4 \) |
b'4.\< \( d8 \noBeam d c \!
e,4 b'4. e,8
e4 \) r r |
R2. *6
<<\new Voice = "première"
\relative {\voiceOne r4 r r8 ^"1." \stemDown g''
g2^\markup {\bold {au Mouvt}} \p f4 \break \stemNeutral a,!4. (\stemUp c!8
\stemNeutral a4) g'4. (f8 g c,) a4. (\stemUp c!8 \stemNeutral a4) }
\new Voice = "seconde"
\relative {\voiceTwo s2. s dis'4. (d!8 dis4) s2. dis4. (d!8 dis4) }>> |
R2. *3
r4 r r8 \pp e'8 % ^\markup {\bold {Très lent}}
( fis d e fis b4 ~b4 ) \fermata r r \bar".." |
\fine
}
scoreAFlutePart = \new Staff \with {
instrumentName = "2 flûtes"
midiInstrument = "flute"
}
{ \tag conducteur \set Staff.shortInstrumentName = "Fl"
\scoreAFlute
}
scoreAOboePart = \new Staff \with {
instrumentName = "2 hautbois"
midiInstrument = "oboe"
}
{ \tag conducteur \set Staff.shortInstrumentName = "Ob"
\scoreAOboe
}
\addQuote "scoreAOboePart" \keepWithTag quote \scoreAOboe
\score {
\removeWithTag #'part \killCues \new StaffGroup <<
\scoreAFlutePart
\scoreAOboePart
>>
}
% 2 flûtes
\bookpart {
\header {subtitle = "2 flûtes"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAFlutePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
% 2 haut-bois
\bookpart {
\header {subtitle = "2 haut-bois"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAOboePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
Message d'erreur :
document.ly:35:4: Avertissement : impossible de trouver la citation de musique « "scoreAOboe" »
\cueDuring "scoreAOboe" #UP { R2. *2 }
Un oubli, mais lequel ?
Merci beaucoup pour votre aide.
Cordialement.
Christophe
Bonjour,
Sans essayer de nettoyer le code envoyé pour avoir quelque chose de compilable (il serait préférable de mettre tout le code dans une balise code (texte préformaté) ou de joindre le fichier directement).
Je vois \cueDuring "scoreAOboe" mais \addQuote "scoreAOboePart", il faut le même nom pour les deux, donc probablement changer en \addQuote "scoreAOboe".
C'est d'ailleurs le sens du message d'erreur.
Cordialement,
Xavier
Bonjour,
Merci Xavier, c'était bien ça.
En continuant la constitution des parties séparées une erreur apparaît dans le code refait par Jean AS. Erreur due à un problème de liaison entre voix (?), sans conséquence pour l'instant puisque la compilation arrive à son terme.
Le bout du code :
\left
s8
\voiceTwo a,,^( e' g c e \right
\oneVoice g8 c) ~c2
<d, fis b>2\arpeggio r4
<g c e>2 \arpeggio r4
<d fis b>2 \< \arpeggio r4 \!
<c e>2 r4
\left
s8
\voiceOne d,, \> ( a' d e fis \right
\oneVoice a8 d e fis a d ) \!
L'erreur concerne la dernière ligne. La première occurence de \voiceTwo rédigée de la même façon ne pose pas de problème.
Le message :
601:29: Avertissement : impossible de terminer slur
\oneVoice a8 d e fis a d
) !
Merci pour votre éclairage.
Bien cordialement.
Christophe
Bonjour,
Difficile de dire sur un extrait, pourriez-vous poster le code complet ?
Pensez à utiliser le bouton
pour que la syntaxe LilyPond ne soit pas confondue par le forum avec de la syntaxe Markdown (jusqu'ici, j'ai édité vos messages pour corriger ça).
Bonjour,
Voici le code complet en tout cas suffisant pour que le message d'erreur apparaisse.
Merci pour votre analyse.
\version "2.24.1"
\tagGroup #'(conducteur)
\tagGroup quote,noQuote
\header {
title = "Prélude"
}
left = \tag noQuote \change Staff = "left"
right = \tag noQuote \change Staff = "right"
global = {
\numericTimeSignature
\time 3/4
\tempo "Assez lent" 4=60
}
scoreAFlute = \relative c'' {
\global
\compressEmptyMeasures
R2.*7
\tag part { <>^\markup { \tiny "harpe" } }
\set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
beam-event tuplet-span-event
dynamic-event slur-event)
\cueDuringWithClef "scoreAleft" #UP "bass" { R2. }
\cueDuring "scoreAright" #UP { R2. }
\break
r8 e'\pp( ~e8 d e4~
e4 d8\< b a b\!
e4\> d8 g, b4~\!
b4 a8\< g e g
b d!\! b4. a8
b8^\markup {\bold Ralenti} e,\> g2\! ) |
R2.*7^\markup {\bold {au Mouvt}}
R2.*2^\markup {\bold {Ralenti}}
\tag part { <>^\markup { \tiny "hautbois" } }
\set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
beam-event tuplet-span-event
dynamic-event slur-event)
\cueDuring "scoreAOboe" #UP { R2. *2 }
<c e>4\pp\fermata r r
\fine
}
scoreAOboe = \relative c'' {
\global
\compressEmptyMeasures
r8 \p e \( fis d e fis
b4 g d ~
d4 e g, \) \break
b2\( c!4
e,4. g8 e4 \) |
b'4.\< \( d8 \noBeam d c \!
e,4 b'4. e,8
e4 \) r r |
R2. *6
<<\new Voice = "première"
\relative {\voiceOne r4 r r8 ^"1." \stemDown g''
g2^\markup {\bold {au Mouvt}} \p f4 \break \stemNeutral a,!4. (\stemUp c!8
\stemNeutral a4) g'4. (f8 g c,) a4. (\stemUp c!8 \stemNeutral a4) }
\new Voice = "seconde"
\relative {\voiceTwo s2. s dis'4. (d!8 dis4) s2. dis4. (d!8 dis4) }>> |
R2. *5
r4 r r8 \pp e'8 ^\markup {\bold {Très lent}}
(fis d e fis b4) ~b4 \fermata r r \bar".." |
}
scoreAright = \relative c'' {
\global
R2.
\left
s8
\voiceTwo a,,^( e' g c e \right
\oneVoice g8 c) ~c2
<d, fis b>2\arpeggio r4
<g c e>2 \arpeggio r4
<d fis b>2 \< \arpeggio r4 \!
<c e>2 r4
\left
s8
\voiceOne d,, \> ( a' d e fis \right
\oneVoice a8 d e fis a d ) \!
<f! a>2 r4
\after 64 \< \after 2. \!
<f,\flageolet a\flageolet >2.
<f' a>2 \> <dis,\flageolet\laissezVibrer ges\flageolet\laissezVibrer>4 \!
R2.*3 |
<g aes c! g'>2^\markup {\bold {au Mouvt}}\arpeggio s4
R2.
<g aes c! g'>4\arpeggio s4 s8 s8
R2.
<bes d! a'>4\arpeggio s4 s4
s2. R2.*2
R2. s2. R2.
<c\flageolet e\flageolet>2.\fermata
\fine |
}
scoreAleft = \relative c'' {
\global
R2.
r8 \p a,, e' g c e \tag noQuote ~e2.^"L.V."
r8 e,,( e'4) r
r8 a,( e'4) r |
r8 e,( e'4) r
r8 a,( e'4) r |
r8 d, a' d e fis\tag noQuote ~ fis2.
s2.*6
r8\p f8([ \right c' g'8] aes4)
\left
R2.
r8 f,([ \right c' f8] g aes)
\left
R2.
r8 g,,( d'! f! b d
\right
r8 <bes' d>8~ 4) r4
\left
R2.*2
r8 \shiftOn a,,,( e' b' c e
\right
b'8 c^\markup {\bold {Très lent}} e b' c4)\!
\left
R2.*2
\fine |
}
scoreAFlutePart = \new Staff \with {
instrumentName = "2 flûtes"
midiInstrument = "flute"
% shortInstrumentName = "2 fl"
} %\scoreAFlute
{ \tag conducteur \set Staff.shortInstrumentName = "Fl"
\scoreAFlute
}
scoreAOboePart = \new Staff \with {
instrumentName = "2 hautbois"
midiInstrument = "oboe"
% shortInstrumentName = "2 ob"
} %\scoreAOboe
{ \tag conducteur \set Staff.shortInstrumentName = "Ob"
\scoreAOboe
}
scoreAHarpePart = \new PianoStaff \with {
instrumentName = "Harpe"
% shortInstrumentName = "Harpe"
}{\tag conducteur \set PianoStaff.shortInstrumentName = "Hp"
<<
\new Staff = "right" \with {
midiInstrument = "orchestral harp"
} \scoreAright
\new Staff = "left" \with {
midiInstrument = "orchestral harp"
} { \clef bass \scoreAleft }
>> }
\addQuote "scoreAright" \keepWithTag quote \scoreAright
\addQuote "scoreAleft" \keepWithTag quote \scoreAleft
\addQuote "scoreAOboe" \keepWithTag quote \scoreAOboe
\layout {
\override Score.BarNumber.break-visibility = #end-of-line-invisible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 5)
\override Voice.Slur.details.edge-attraction-factor = 10 }
\score {
\removeWithTag #'part \killCues \new StaffGroup
<<
\new StaffGroup
<<
\scoreAFlutePart
\scoreAOboePart>>
\scoreAHarpePart >>
\layout {
\context {
\Staff \RemoveEmptyStaves }
\context {
\Score
\override StaffGrouper.staff-staff-spacing.padding = #3
}}
\midi {
\tempo 4.=80 }
}
% 2 flûtes
\bookpart {
\header {subtitle = "2 flûtes"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAFlutePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
% 2 haut-bois
\bookpart {
\header {subtitle = "2 hautbois"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAOboePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
% Harpe
\bookpart {
\header {subtitle = "Harpe"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAHarpePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
Existe-t-il un moyen d'utiliser en citation deux voix qui se trouvent sur la même portée ou à défaut une seule des deux voix ?
<<\new Voice = "première"
\relative {\voiceOne r4 r r8 ^"1." \stemDown g''
g2^\markup {\bold {au Mouvt}} \p f4 \break \stemNeutral a,!4. (\stemUp c!8
\stemNeutral a4) g'4. (f8 g c,) a4. (\stemUp c!8 \stemNeutral a4) }
\new Voice = "seconde"
\relative {\voiceTwo s2. s dis'4. (d!8 dis4) s2. dis4. (d!8 dis4) }>>
Il s'agit de la musique pour 2 hautbois. Comment l'utiliser en citation ?
Je ne trouve rien à ce sujet dans la documentation.
Merci beaucoup pour vos conseils.
Christophe
Ah, je vois. Remplacez le ) sur lequel est l'erreur par \tag noQuote ). Dans la citation de ce passage qui est à l'intérieur de la partie de flûte, la musique est découpée de sorte que le début de la liaison ne tombe pas dans ce morceau, mais la fin, si, d'où le ) qui ne trouve pas de ( avec qui s'apparier.
Merci Jean, c'était bien ça.
Reste la question de la citation des deux voix ou l'extraction d'une des deux voix.
Merci pour votre partage.
Moui, c'est mentionné comme problème connu dans la documentation : « Seul le contenu de la première Voice rencontrée dans la partie marquée d’une commande \addQuote pourra être retenu. Par voie de conséquence, musique ne saurait comprendre de \new ou une instance \context Voice qui la ferait passer à une autre voix. » (GNU LilyPond – Manuel de notation: 1.6.3 Écriture de parties séparées)
Par contre, vous pouvez changer votre
<<
\new Voice = "première" ...
\new Voice = "deuxième" ...
>>
en
<<
...
\new Voice = "deuxième" ...
>>
\oneVoice
pour que le contenu du premier ... ne soit pas dans une nouvelle voix mais dans la continuation de celle qui existait déjà. Dans ce cas, le \quoteDuring citera cette voix-là (mais pas l'autre).
Merci Jean, je vais essayer ça. Ou peut-être l'écrire d'une autre manière car dans cet exemple les deux voix sont homorythmiques.
Dernière grande question (j'espère) : la partition comporte une partie de percussion qui ne joue vraiment pas beaucoup. Ecrite sur une seule ligne rythmique.
Je souhaite citer deux mesures de violon avant son entrée.
Evidemment n'apparaît que le rythme du violon. Y-a-t-il un moyen d'incruster ces deux mesures avec hauteurs en portée à 5 lignes dans la ligne unique de percussion ?
Merci pour votre accompagnement.
Christophe
On peut faire ce genre de choses :
\version "2.24.2"
violon =
\relative c' {
c d e f g a b c
c d e f g a b c
}
percu =
{
\new Staff {
\quoteDuring "violon" s1*2
\stopStaff
}
\new RhythmicStaff \with { \remove Time_signature_engraver } {
4 8 8 8 8 4
4 8 8 8 8 4
}
}
\addQuote "violon" \violon
<<
\new Staff \violon
\new OneStaff \percu
>>
Bonsoir,
Avec cette syntaxe :
scoreATriangle = \relative c'{
\global
\compressEmptyMeasures
R2. *8
\new Staff {
\tag part { <>^\markup { \tiny "violon I" } }
\set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
beam-event tuplet-span-event
dynamic-event slur-event)
\quoteDuring "scoreAViolinI" {s2.}
}
Je suis arrivé à ça :
Qu'en pensez-vous ?
Je n'arrive pas à placer un silence r2. sur la ligne de percu au-dessus de la citation.
Merci beaucoup pour votre accompagnement, sans vous je n'y arriverais pas.
Merci.
Christophe
Réponse @ Jean pour la citation de la première Voice utilisable en citation.
Par contre, là c'est très hasardeux. J'utilise une autre voix instrumentale comme citation. Je n'arrive pas à différencier les deux voix de hautbois comme indiqué
par Jean, ni avec celle d'une autre écriture des deux voix. Beaucoup d'erreurs de liaisons et de problèmes de polyphonie mal écrite. (références de la doc : 4.2.2).
Bonjour,
Difficile de répondre si vous ne fournissez pas un code complet montrant le problème.
Vous utilisez bien le contexte OneStaff comme dans le code de Jean ?
\new OneStaff \scoreATriangle
Il faut peut-être ajouter un \startStaff au début de votre \new Staff.
Cordialement,
Xavier
Pareil, pas d'exemple minimal de code compilable montrant le problème.
D'un autre côté comme conseil général si ce que vous voulez concernant les citations devient trop complexe, on peut écrire les citations à la main comme dans l'exemle ci-dessous (une version modifiée de ce qu'on retrouve au début de NR 1.6.3.
flute = \relative c'' {
R1
\tag #'part <<
{ \voiceTwo R1 \oneVoice }
\new CueVoice {
\voiceOne
\relative c'' { d8^"hautbois" c d e fis2 }
}
>>
\tag #'conductor R1
g2 e2
}
\score {
<<
\new Staff = "fluteStaff" {
\removeWithTag #'conductor \keepWithTag #'part \flute
}
>>
}
L'avantage est qu'on peut écrire exactement ce qu'on veut comme on veut pour la citation.
Le désavantage est qu'on ne profite pas du mécanisme de \cueDuring ou quoteDuring qui évitent de devoir réécrire les notes pour les citations.
Mais pour un utilisateur non confirmé de LilyPond c'est probablement plus simple.
Cordialement,
Xavier
Bonjour.
Merci Xavier, la version simplifiée me convient. Je ne maîtrise pas assez le mécanisme de duplication, je le concède aisément. Je le découvre avec cette partition.
Pour imprimer une citation avec portée (ici le violon) sur une ligne de percussion, j'ai bricolé, mais mal ! Je vous livre le code compilable, en réclamant votre indulgence. J'ai fait plusieurs essais infructueux avec les contextes donnés par Jean.
Merci pour votre aide si précieuse.
Cordialement.
Christophe
\version "2.24.1"
\tagGroup #'(conducteur)
\tagGroup quote,noQuote
\header {
title = "Prélude"
}
global = {
\numericTimeSignature
\time 3/4
\tempo "Assez lent"
}
scoreATriangle = \relative c'{
\global
\compressEmptyMeasures
R2. *8
\new Staff {
\tag part { <>^\markup { \tiny "violon I" } }
\set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
beam-event tuplet-span-event
dynamic-event slur-event)
\quoteDuring "scoreAViolinI" {s2.} }
e2.
R2. *17 | \bar".."
}
scoreAViolinI = \relative c'' {
\global
\compressEmptyMeasures
R2.
r4 r r8 g \pp
<>\after 32 \> \after 2 \! c2~ c8 r
b2 f4
(e4. g8 e4) |
b'4. \< (d8 \noBeam d c) \!
e,4 ( <g b>4. e8)
e2.
(a,8\tag noQuote ) d \> (e fis ~fis4) \!
a'2 \pp \downbow (b4)
a2 \upbow \< (f8 g) \!|
a2 \> (fis4) \!
e2 (cis4)
e8 (fis4 g8) e4 ~
e8 ^\markup {\bold Ralenti}( dis4 d!8) cis4 |
R2. *3 ^\markup {\bold {au Mouvt}}
\tag #'part <<
{ \voiceTwo R2. \oneVoice }
\new CueVoice {
\voiceOne
\relative c'' { a4.^"clarinette" (c!8 a4) }
}>>
% La ligne suivante rajoute une mesure !
% \tag #'conducteur R2.
d,2. \< ~d
d2\! d4 ~
d4 \> ^\markup {\bold {Ralenti}} (c4. b8)
b2.
r4\! r^\markup {\bold {Très lent}} c'4 \pp
(b4 c8 d e4~
e4 ) \fermata r r \bar".." |
}
scoreATrianglePart = \new RhythmicStaff \with {
instrumentName = "Triangle"
midiInstrument = "taiko drum"
% shortInstrumentName = "Tr"
}% \scoreATriangle
{ \tag conducteur \set Staff.shortInstrumentName = "Tr"
{\scoreATriangle}
}
scoreAViolinIPart = \new Staff \with {
instrumentName = "Violon I"
midiInstrument = "violin"
% shortInstrumentName = "V1"
}% \scoreAViolinI
{ \tag conducteur \set Staff.shortInstrumentName = "V1"
\scoreAViolinI
}
\addQuote "scoreAViolinI" \keepWithTag quote \scoreAViolinI
\score {
<< \scoreATrianglePart
\scoreAViolinIPart >>
\layout {
\context {
\Staff \RemoveEmptyStaves }
\context {
}}
\midi {
\tempo 4.=80 }
}
% Triangle
\bookpart {
\header {subtitle = "Triangle"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreATrianglePart} >>}
\layout {}
\midi {\tempo 4=100}}
}
% Violon 1
\bookpart {
\header {subtitle = "Violon 1"}
\paper {
system-separator-markup = ##f
system-system-spacing.basic-distance = #25
}
\score {\new StaffGroup {
\removeWithTag conducteur <<{\scoreAViolinIPart} >>}
\layout {}
\midi {\tempo 4=100}}
}
Bonjour,
J'ai résolu le problème de la citation pour la partie de percussion en l'écrivant sur une portée normale plutôt que sur une seule ligne RhythmicStaff.
Merci pour votre aide, votre pédagogie et votre patience.
Cordialement.
Christophe