Citations

Bonsoir à tous,

J'essaye depuis plusieurs heures, mais sans succès, de placer des citations
dans les parties séparées (c'est plus simple pour l'exécutant que de compter
145 mesures) - et un professeur m'a dit que l'absence de ces citations était
l'un des principaux reproches des partitions modernes - Lilypond serait-il
l'un des seuls à faire ça ?

Voici comment je procède

Voix principale (flûte) : voiceSaMaFloteI
Voix secondaire (violon) : voiceSaMaViolineI

Texte placé avant la définition de voiceMaFloteI :

\addQuote "voiceSaMaViolineI" {
  \voiceSaMaViolineI
}

Texte utilisé pour la citation :
  R1*5
  \repeat volta 2
  {
    R1*21
    \cueDuring #"voiceSaMaViolineI" #UP {R1 * 5}
.....

Texte utilisé pour créer la portée :

staffSaMaFloteI = \new Staff <<
\new Voice = "cue"
  {\smaller}
  \set Score.skipBars = ##t
  {\voiceSaMaFloteI} >>

Il me semble ainsi suivre pas à pas la procédure décrite en
http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Writing-parts#Quoting-other-voices

Pas d'erreur à la compilation, mais rien dans les 5 mesures que je désire
"citer", sinon un silence multi-mesure de 5 mesure, surbaissé, preuve que
Lilypond voudrait mettre là autre chose en parallèle.

Merci d'avance de votre "diagnostique" :wink:

Jean-François

···

--
View this message in context: http://n2.nabble.com/Citations-tp4733709p4733709.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Juste une remarque pour signaler que j'ai largement édité mon post pour
tenter de le rendre plus clair ...

···

--
View this message in context: http://n2.nabble.com/Citations-tp4733709p4733789.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

Juste une remarque pour signaler que j'ai largement édité mon post pour
tenter de le rendre plus clair ...

un vrai bout avec un début et une fin compilable serai le bienvenue !

Mais
Effectivement ça donne ce que tu dis
%%---------------------
\addQuote toto \relative c' {
   f'4 fis g gis a ais b c
}

\relative c' { \set Score.skipBars = ##t
  R1 * 5
  \repeat volta 2
{
   R1 * 21
  \cueDuring #"toto" #UP { R1 * 5 }}
}
%%-------------------

Et en commentant les silences R1*X cela fonctionne
%%-------------------
\relative c' { \set Score.skipBars = ##t
  %R1 * 5
  \repeat volta 2
{
   %R1 * 21
  \cueDuring #"toto" #UP { R1 * 5 }}
}
%%--------------------

Où est le bug s'il y a ? point ne sait

···

--
Martial

Juste une remarque pour signaler que j'ai largement édité mon post pour
tenter de le rendre plus clair ...

un vrai bout avec un début et une fin compilable serai le bienvenue !

Mais
Effectivement ça donne ce que tu dis
%%---------------------
\addQuote toto \relative c' {
  f'4 fis g gis a ais b c
}

\relative c' { \set Score.skipBars = ##t
R1 * 5
\repeat volta 2
{
  R1 * 21
\cueDuring #"toto" #UP { R1 * 5 }}
}
%%-------------------

Et en commentant les silences R1*X cela fonctionne
%%-------------------
\relative c' { \set Score.skipBars = ##t
%R1 * 5
\repeat volta 2
{
  %R1 * 21
\cueDuring #"toto" #UP { R1 * 5 }}
}
%%--------------------

Où est le bug s'il y a ? point ne sait
--
Martial

J'ai trouvé un début de solution.

En fait, dans l'exemple de la doc, il y a la ligne
\addQuote clarinet \relative {
  R1*20
  r2 r8 c f f
}

Si je 'cite' mon violon de cette manière, il n'y a aucun problème, ça marche.

Mais je voudrais mettre le
\relative {
  R1*20
  r2 r8 c f f
}

dans une variable, pour ainsi me servir directement du code de la partie citée, sans le recopier à chaque fois.

Si j'écris

citationClarinette = {
    \relative {
    R1*20
    r2 r8 c f f
}
}

puis

\addQuote clarinet \citationClarinette

ça ne marche plus ????

Enfin ... maintenant, ça marche :-/

Je vais voir ce que j'ai pu changer à l'insu de mon plein gré

un vrai bout avec un début et une fin compilable serai le bienvenue !

Mais
Effectivement ça donne ce que tu dis
%%---------------------
\addQuote toto \relative c' {
  f'4 fis g gis a ais b c
}

\relative c' { \set Score.skipBars = ##t
R1 * 5
\repeat volta 2
{
  R1 * 21
\cueDuring #"toto" #UP { R1 * 5 }}
}
%%-------------------

Et en commentant les silences R1*X cela fonctionne
%%-------------------
\relative c' { \set Score.skipBars = ##t
%R1 * 5
\repeat volta 2
{
  %R1 * 21
\cueDuring #"toto" #UP { R1 * 5 }}
}
%%--------------------

Où est le bug s'il y a ? point ne sait
--
Martial

Voilà, j'ai isolé le problème : il ne peut pas y avoir de "\new Voice" dans la citation, même si cette new Voice tombe en dehors de la zone citée.

J'utilise le \new Voice dans la construction

<<{
    \voiceOne
    ...
}
\new Voice
{
    \voiceTwo
    ...
}>>
\oneVoice

Problème pas trop grave, évidemment, il suffira de reconstruire une copie de la voix citée en ne gardant que les citations et en comptant bien les mesures dans les trous.

Pourtant, il me semble être nécessaire de signaler ce bug à l'équipe de développement.

Je vais pouvoir aller dormir en paix :wink:

Bonne fin de soirée à tous,

Jean-François

2010/3/15 j-f.lucarelli <****@****> :

Voilà, j'ai isolé le problème : il ne peut pas y avoir de
"\new Voice" dans la citation, même si cette new Voice tombe en
dehors de la zone citée.

Content que tu aies trouvé ton problème. :slight_smile:

[...]

Pourtant, il me semble être nécessaire de signaler ce bug à l'équipe
de développement.

En fait le "bug" est déjà connu.
Cf. la doc, le lien que tu as donné :

un poil en dessous : "Problèmes connus et avertissements"

  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, music ne saurait comprendre de \new ou une instance
  context Voice qui la ferait passer à une autre voix.

Je ne suis pas entièrement satisfait du comportement de \cueDuring,
mais comme je ne sais pas comment je voudrais voir changé ce système de
citations, je n'ai pas encore fait de suggestions.
Si par hasard tu avais des idées pour l'améliorer, n'hésite pas à
envoyer tes suggestions...

Cordialement,
Xavier

···

--
Xavier Scheuer <****@****>

Je ne suis pas entièrement satisfait du comportement de \cueDuring,
mais comme je ne sais pas comment je voudrais voir changé ce système de
citations, je n'ai pas encore fait de suggestions.
Si par hasard tu avais des idées pour l'améliorer, n'hésite pas à
envoyer tes suggestions...

Cordialement,
Xavier

--
Xavier Scheuer <****@****>

Malheureusement, il a fallu faire des doublons des autres voix, en supprimant systématiquement les <<{ } \\ {}>> et les \new Voice.
Il faut également enlever le début des voix et ne garder que
citationXXXX = {
\relative c {
...
}
}

Il faut également synchroniser corectement la sortie de citation : si elle fait 3 mesures et 2 temps, il faut terminer par
R1 * 3 r4 r4 }
et supprimer les r4 r4 de la voix où on place la citation.

Voici l'exemple de code utilisé :

\cueDuring #"SaMaViolineI" #UP {\once \override Score.RehearsalMark #'self-alignment-X = #left \mark \markup {\fontsize #-4 "Violine I"} R1 * 3 r2}

Autre bug : impossible de déplacer verticalement les silences de la voix principale, d'où collisions fréquentes.
Dans ce cas, j'utilise
\transposedCueDuring #"SaMaViolineI" #UP c'' {\once \override Score.RehearsalMark #'self-alignment-X = #left \mark \markup {\fontsize #-4 "Violine I"} R1 * 3 r2} % petite tricherie

Autre souhait : que l'on puisse placer sur la voix citée, une liaison de prolongation à gauche de la première note, et donc, venant de rien.
Particulièrement chez Brahms, spécialiste de la syncope, il y a parfois 20 mesures commençant toutes par des liaisons de prolongation. Il faut bien choisir et couper l'une des notes pour démarrer la citation ...

Ceci dit, le principe est génial : pas besoin de se soucier de la synchronisation : la citation provient de l'entièreté de la voix et Lilypond va chercher automatiquement l'extrait à citer, sans aucun calcul de mesure à faire par le copiste.

Je retourne maintenant à mes citations, car c'est tout de même vraiment très long comme travail :wink:

Amicalement,

Jean-François

2010/3/16 j-f.lucarelli <****@****> :

Malheureusement, il a fallu faire des doublons des autres voix, en
supprimant systématiquement les <<{ } \\ {}>> et les \new Voice.

Kieren a prévu de revoir le système << { ... } \\ { ... } >>.
Je lui ai suggéré que le nom de la voix dans les premières { ... } soit
le même que la voix principale en dehors de la construction
polyphonique et que la seconde voix soit nommée voixPrincipale2 (i.e.
le même nom que la voix principale mais avec un suffixe (2)).
Il m'a dit que ça devait être possible et qu'il devrait le faire.

Je suis impatient qu'il commence effectivement à retravailler cette
fonctionnalité (il a parlé aussi de réécrire \partcombine) ! :smiley:

Il faut également synchroniser corectement la sortie de citation :
si elle fait 3 mesures et 2 temps, il faut terminer par
R1 * 3 r4 r4 }
et supprimer les r4 r4 de la voix où on place la citation.

Je n'ai pas encore été confronté à des citations si "compliquées".
Par contre je ne suis pas arrivé à faire quelque chose de simple :
la voix citée en bas (#DOWN) avec les hampes vers le HAUT !
C'est portant assez courant mais j'ai posté un message à ce sujet il
y a 6 mois et je n'ai pas eu de réponse...
http://lists.gnu.org/archive/html/lilypond-user/2009-09/msg00762.html

L'affichage du nom de l'instrument cité est également à revoir.

Autre bug : impossible de déplacer verticalement les silences de la
voix principale, d'où collisions fréquentes.

Tu n'aurais pas un exemple minimal que je puisse _voir_ le bug en
question ?

Autre souhait : que l'on puisse placer sur la voix citée, une liaison
de prolongation à gauche de la première note, et donc, venant de rien.
Particulièrement chez Brahms, spécialiste de la syncope, il y a
parfois 20 mesures commençant toutes par des liaisons de prolongation
Il faut bien choisir et couper l'une des notes pour démarrer la
citation ...

Un truc du style

  \set Score.quotedEventTypes = #'(note-event rest-event tie-event)

ne résout-il pas le problème (pas sûr que "tie-event" soit repris par
défaut) ?

Ceci dit, le principe est génial : pas besoin de se soucier de la
synchronisation : la citation provient de l'entièreté de la voix et
Lilypond va chercher automatiquement l'extrait à citer, sans aucun
calcul de mesure à faire par le copiste.

Ouais, quand ça marche et qu'on sait avoir le résultat que l'on veut
c'est génial ! :wink:

Je retourne maintenant à mes citations, car c'est tout de même
vraiment très long comme travail :wink:

Good luck,
Xavier

···

--
Xavier Scheuer <****@****>

Autre bug : impossible de déplacer verticalement les silences de la
voix principale, d'où collisions fréquentes.

Tu n'aurais pas un exemple minimal que je puisse _voir_ le bug en
question ?

Ben ... gros problème : mon projet actuel fait plus de 250 fichiers .ly
Alors, un exemple minimal, c'est difficile.
Dès la fin du projet (toute proche), je ferai un résumé des bugs, avec illustration.

Je devais envoyer un exemple musical de liaison qui occupait la hauteur de 3 portées, mais en corrigeant une autre erreur, cet exemple de bug a disparu.

Pas toujours évident de mettre en évidence des bugs dans des petits fichiers ...

Autre souhait : que l'on puisse placer sur la voix citée, une liaison
de prolongation à gauche de la première note, et donc, venant de rien.
Particulièrement chez Brahms, spécialiste de la syncope, il y a
parfois 20 mesures commençant toutes par des liaisons de prolongation
Il faut bien choisir et couper l'une des notes pour démarrer la
citation ...

Un truc du style

\set Score.quotedEventTypes = #'(note-event rest-event tie-event)

ne résout-il pas le problème (pas sûr que "tie-event" soit repris par
défaut) ?

J'y ai pensé, mais pas encore testé.

Bonne journée,

Jean-François