amélioration en vue ?

Bonsoir ou bonne nuit car finalement il est bien tard déjà...

J'ai travaillé sur cette partition un long moment car j'ai été confronté à plusieurs problèmes essentiellement liés à la polyphonie.

- Avec mes histoires de polyphonie, à partir de la mesure 10, je n'arrivais pas à obtenir des silences au milieu de la portée (ils se retrouvaient en haut quoi que je fasse), j'ai donc dû scinder l'affaire en 4 parties :
mes 10 -> début 11
silences
mesure 12 -> début mesure 13
silences

Il doit y avoir moyen de faire mieux...

A partir de la mesure 10, je voulais différencier, par la taille des notes, la voix principale (la plus grave) des deux autres ; en m'aidant de la doc sur la polyphonie j'ai opté pour "identité rythmique" concernant les deux voix supérieures, enchâssée dans une "polyphonie temporaire l'. Y-a-t-il une solution plus élégante ? Surtout que, les deux sol de la deuxième voix des troisièmes temps des mesures 10 et 12 disparaissent sous le "gros" sol de la voix principale (on ne voit que leurs hampes).

Enfin, j'ai mis un markup un peu alambiqué (en fait un détournement de la méthode pour mettre des paroles additionnelles) pour indiquer que c'était fait avec Lilypond ; plus simple, ça existe ?

Enfin (je sais, c'est la deuxième fois :slight_smile: ), j'aimerais imprimer deux fois la partition sur la même page (en supprimant donc le copyright de bas de page devenu redondant) , on fait comment ?

Voilà, si quelqu'un n'est pas trop effrayé par mon code et voulait bien jeter un coup d'œil à tout ça.....un grand merci à lui !

cordialement,

zomina.ly (2.19 KB)

A propos, je suggère une modification dans la doc concernant la polyphonie temporaire ; il est noté ceci :

En fait, la première expression d’une polyphonie temporaire reste dans le même contexte Voice que celui existant auparavant et qui perdurera après ce fragment. Les autres expressions entre doubles chevrons seront assignées à des voix temporaires distinctes. C’est la raison pour laquelle les paroles qui suivaient la voix avant la polyphonie continueront à le faire durant ce passage polyphonique et après lui...

J'aurais noté pour être plus clair ( enfin, il me semble...) :

En fait, la première expression suivant le double chevron d’une polyphonie temporaire reste dans le même contexte Voice que celui existant auparavant et qui perdurera après ce fragment. Les autres expressions de cette polyphonie seront assignées à des voix temporaires distinctes. C’est la raison pour laquelle les paroles qui suivaient la voix avant la polyphonie continueront à le faire durant ce passage polyphonique et après lui...

cordialement,

Bonsoir ou bonne nuit car finalement il est bien tard déjà...

Oui.
D'ailleurs si je dis des bêtises j'aurai l'excuse que j'étais fatigué.
:slight_smile:

J'ai travaillé sur cette partition un long moment car j'ai été confronté à
plusieurs problèmes essentiellement liés à la polyphonie.

- Avec mes histoires de polyphonie, à partir de la mesure 10, je n'arrivais
pas à obtenir des silences au milieu de la portée (ils se retrouvaient en
haut quoi que je fasse), j'ai donc dû scinder l'affaire en 4 parties :
mes 10 -> début 11
silences
mesure 12 -> début mesure 13
silences

Fonctionne très bien dans la voix principale (première expression après
les _premiers_ chevrons).

%----mesure 10 et 1er termps mesure 11 ------%
\repeat volta 2 {
<< { \voiceOne \teeny << {
       g8\( g16 g ~ g g g8 g g g4 g\) }
   {
   c8 c16 c ~ c c c8 c c b4 c

} >> \oneVoice \normalsize r4 r2 % XS: ICI !
}
\new Voice
{ \voiceTwo \normalsize { e,8 e16 e ~ e e e8 g g d4 e }
   s4 s2
    }

Tu ne fais pas simple en utilisant des chevrons sans instanciation
explicite des voix _à l'intérieur_ de chevrons _avec_ création d'une
nouvelle voix !
Pourquoi pas des accords à la place (<c g'>8\( <c g'>16 ...) ?

J'ignorais que \teeny fonctionnait pour changer la taille des notes !
(bon, en fait j'avais oublié, je n'utilise ces commandes que pour du
texte, je ne trouve pas ça pratique pour autre chose, cf. ci-dessous)
Par contre ça ne modifie que la taille des têtes de notes (NoteHead),
non ? Pas envie de diminuer la taille des hampes aussi ?
  \override Stem #'length-fraction = #(magstep -2)

Il doit y avoir moyen de faire mieux...

A partir de la mesure 10, je voulais différencier, par la taille des notes,
la voix principale (la plus grave) des deux autres ; en m'aidant de la doc
sur la polyphonie j'ai opté pour "identité rythmique" concernant les deux
voix supérieures, enchâssée dans une "polyphonie temporaire l". Y-a-t-il une
solution plus élégante ?

Je mettrais la voix principale (taille normale) en premier dans les
doubles chevrons. Puis une (deux) nouvelle(s) voix pour les plus
petites. Plus logique (et plus simple), non ?

Surtout que, les deux sol de la deuxième voix des troisièmes temps des
mesures 10 et 12 disparaissent sous le "gros" sol de la voix principale
(on ne voit que leurs hampes).

Utiliser \shiftOn . Si cela ne fonctionne pas
  \once \override NoteColumn #'force-hshift = #0.7
devant la note à décaler.
Cf. NR 1.5.2 Plusieurs voix > Résolution des collisions
http://lilypond.org/doc/v2.13/Documentation/notation/multiple-voices#collision-resolution

Enfin, j'ai mis un markup un peu alambiqué (en fait un détournement de la
méthode pour mettre des paroles additionnelles) pour indiquer que c'était
fait avec Lilypond ; plus simple, ça existe ?

Euh...
Utiliser

\header {
  copyright = "Gravé à l'aide de Lilypond/Linux, logiciel libre"
}

ou bien (toujours dans \header ) la variable tagline (copyright = bas
de première page, tagline = bas de dernière page).
La tagline par défaut (i.e. si tu ne définis pas de tagline = ...) est
bien aussi (mais en anglais).
Cf. en bas de ta page avec le code que tu as envoyé...

Enfin (je sais, c'est la deuxième fois :slight_smile: ), j'aimerais imprimer deux fois
la partition sur la même page (en supprimant donc le copyright de bas de
page devenu redondant) , on fait comment ?

Deux fois l'un en-dessous de l'autre sur une page A4 ?
Bah simplement deux bloc \score identiques l'un en-dessous de l'autre.
Et puis utiliser ce dont j'ai parlé juste ci-dessus au lieu de ton
markup "détournement" un peu alambiqué. :wink:

Voilà, si quelqu'un n'est pas trop effrayé par mon code et voulait bien
jeter un coup d'œil à tout ça.....un grand merci à lui !

Sinon c'est pas mal ! :smiley:

Cordialement,
Xavier

···

2010/11/5 moebius <****@****>:

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

OK, voici ci-joint +/- comment j'aurais encodé ton fichier.
Mes commentaires commencent par XS: .

J'ai utilisé une demande de fonctionnalité que j'ai faite mais dont la
solution n'a pas encore été implémentée.
Cf. issue #1228
http://code.google.com/p/lilypond/issues/detail?id=1228

Si tu as des questions, n'hésite pas.

Cordialement,
Xavier

zomina_mod.ly (6.24 KB)

···

2010/11/5 moebius <****@****>:

- Avec mes histoires de polyphonie, à partir de la mesure 10, je n'arrivais
pas à obtenir des silences au milieu de la portée (ils se retrouvaient en
haut quoi que je fasse)

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

Tu ne fais pas simple en utilisant des chevrons sans instanciation
explicite des voix _à l'intérieur_ de chevrons _avec_ création d'une
nouvelle voix !

Xavier, je n'ai rien compris à ta phrase :slight_smile:

Quelques commentaires de plus :
- attention à l'indentation ! En général, je reviens à la ligne après
chaque accolade ouvrante, et j'indente de deux espaces supplémentaires
au début de chaque ligne. De plus je fais des lignes de code très
courtes (une vingtaine de caractères en moyenne, en tout cas jamais
au-delà de 60 caractères) ; vous avez quelques lignes de code qui sont
franchement longues.

- il n'est pas nécessaire de rajouter des accolades autour du bloc
\relative {}. On peut définir une voix directement comme un bloc
\relative :

mamusique =
\relative c' {
  c d e
}

- il n'est pas nécessaire de préciser \oneVoice après une section
polyphonique. Ça se fait tout seul.

- pas besoin de sortir de la polyphonie pour faire des silences
centrés : il suffit juste de passer en mode \oneVoice pendant un
instant, et ne pas oublier de mettre des "s" à l'autre voix pendant ce
temps :

<<
  {
    b a \oneVoice r \voiceOne b
  } \\ {
    \voiceTwo g g s g
  }

- en général j'utilise les liaisons de phrasé uniquement lorsque j'ai
besoin d'enjamber des liaisons normales. Par défaut, j'utilise les
liaisons simples (parenthèses).

- l'utilisation d'un markup pour le copyright ne me choque pas du tout
(ça permet de l'avoir très près du système, c'est pas vilain). En
revanche, c'est "LilyPond" et non "Lilypond", et c'est "GNU/Linux" et
non "Linux" (Linux n'est que le noyau du système, tout le reste y
compris LilyPond, c'est au projet GNU qu'on le doit) !

Cordialement,
V. Villenave

···

2010/11/5 Xavier Scheuer <****@****>:

Bonsoir,

D'abord merci pour vos conseils avisés, c'est vraiment gentil de votre part.

J'ai essayé le code proposé par Xavier qui, une fois débarrassé d'une redondance de chevrons heureusement bien visible, s'est bien comporté.
Il me reste à régler cette histoire d'obtenir deux fois la partition sur la même page ; les deux \score proposés ne remettent pas l'entête (titre et sous-titre) la deuxième fois.

D'autre part, les sols de la deuxième voix, mes 10 et suivantes , disparaissent tjrs sous les "gros" sols de la première voix. Mais une solution m'a déjà été suggérée, il faut que je la regarde de près (\shiftOn et le reste).

Je n'ai, bien sûr, absolument rien compris au code qui concerne la fonctionnalité mentionnée, mais c'est tout-à-fait normal :slight_smile:

Cent fois sur le métier....

cordialement,

Bonsoir,

D'abord merci pour vos conseils avisés, c'est vraiment gentil de votre
part.

J'ai essayé le code proposé par Xavier qui, une fois débarrassé d'une
redondance de chevrons heureusement bien visible, s'est bien comporté.
Il me reste à régler cette histoire d'obtenir deux fois la partition sur la
même page ; les deux \score proposés ne remettent pas l'entête (titre et
sous-titre) la deuxième fois.

Il existe toujours une solution.
Et en général elle est même mentionnée dans la doc.

  \paper{
    print-all-headers = ##t
  }

NR 3.2 Titles and headers > 3.2.1 Creating titles
http://lilypond.org/doc/v2.13/Documentation/notation/creating-titles

D'autre part, les sols de la deuxième voix, mes 10 et suivantes ,
disparaissent tjrs sous les "gros" sols de la première voix. Mais une
solution m'a déjà été suggérée, il faut que je la regarde de près (\shiftOn
et le reste).

Yep, regarder la doc (lien donné dans le message précédent).
En plus cette partie (NR 1.5.2) est traduite, merci Jean-Charles.

Xavier, je n'ai rien compris à ta phrase :slight_smile:

J'étais fatigué. :smiley:
(pratique les excuses préintroduites à l'avance)

Cordialement,
Xavier

···

2010/11/5 moebius <****@****>:

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

Bonsoir,

J'ai bien essayé ce print-all-headers, mais LilyPond refuse sa position dans le score après la musique comme mentionné dans la doc en faisant cela :

\score {
   <<
     \new Voice = "chant" \melodie
     \header {
   title = "Zomina"
   subtitle = "Traditionnel africain"
   tagline = ""
    }
     \new Lyrics \lyricsto "chant" \coupletun
   >>

}

mais Lily se plaint, :
Analyse...
music.ly:228:4: Erreur : syntax error, unexpected \header

     \header {
music.ly:226:2: Erreur : suite à des erreurs répétées, l'expression musicale sera ignorée

Voilà où j'en suis....bon il ne s'agit que de mettre deux fois la même chose sur une page.....

Si je laisse le Header à sa place, hors des blocs score, cela fonctionne, mais j'obtiens alors le header deux fois de suite au début de la page lorsque j'utilise print-all-header....la vie n'est pas simple ! :slight_smile:

cordialement,

···

Le 05/11/2010 22:06, Xavier Scheuer a écrit :

2010/11/5 moebius<****@****>:

Bonsoir,

D'abord merci pour vos conseils avisés, c'est vraiment gentil de votre
part.

J'ai essayé le code proposé par Xavier qui, une fois débarrassé d'une
redondance de chevrons heureusement bien visible, s'est bien comporté.
Il me reste à régler cette histoire d'obtenir deux fois la partition sur la
même page ; les deux \score proposés ne remettent pas l'entête (titre et
sous-titre) la deuxième fois.

Il existe toujours une solution.
Et en général elle est même mentionnée dans la doc.

   \paper{
     print-all-headers = ##t
   }

NR 3.2 Titles and headers> 3.2.1 Creating titles
http://lilypond.org/doc/v2.13/Documentation/notation/creating-titles

D'autre part, les sols de la deuxième voix, mes 10 et suivantes ,
disparaissent tjrs sous les "gros" sols de la première voix. Mais une
solution m'a déjà été suggérée, il faut que je la regarde de près (\shiftOn
et le reste).

Yep, regarder la doc (lien donné dans le message précédent).
En plus cette partie (NR 1.5.2) est traduite, merci Jean-Charles.

Xavier, je n'ai rien compris à ta phrase :slight_smile:

J'étais fatigué. :smiley:
(pratique les excuses préintroduites à l'avance)

Cordialement,
Xavier

Bonsoir,

J'ai bien essayé ce print-all-headers, mais LilyPond refuse sa position dans
le score après la musique comme mentionné dans la doc en faisant cela :

\score {
<<
\new Voice = "chant" \melodie
\header {
title = "Zomina"
subtitle = "Traditionnel africain"
tagline = ""
}
\new Lyrics \lyricsto "chant" \coupletun
>>

}

mais Lily se plaint, :
Analyse...
music.ly:228:4: Erreur : syntax error, unexpected \header

\header {
music.ly:226:2: Erreur : suite à des erreurs répétées, l'expression musicale
sera ignorée

Voilà où j'en suis....bon il ne s'agit que de mettre deux fois la même chose
sur une page.....

Si je laisse le Header à sa place, hors des blocs score, cela fonctionne,
mais j'obtiens alors le header deux fois de suite au début de la page
lorsque j'utilise print-all-header....la vie n'est pas simple ! :slight_smile:

Tu dois mettre le \header après toute l'expressions musicale dans le
bloc \score .
C'est indiqué dans la doc (de mémoire).

\score {
  <<
    \new Voice = "chant" \melodie
    \new Lyrics \lyricsto "chant" \coupletun
  >>
  \header {
    title = "Zomina"
    subtitle = "Traditionnel africain"
    tagline = ""
  }
}

Il y a un rapport de bug ouvert pour permettre de le mettre avant
aussi (j'y tiens), mais bon, paraît que c'est pas si facile ! ;-D

Cordialement,
Xavier

···

2010/11/6 moebius <****@****>:

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

Ah oui, je n'avais pas compris que les paroles faisaient partie de la musique ;

Tout baigne maintenant, y compris les collisions de notes.

Merci pour l'aide,

cordialement,

···

Le 06/11/2010 23:18, Xavier Scheuer a écrit :

2010/11/6 moebius<****@****>:

Bonsoir,

J'ai bien essayé ce print-all-headers, mais LilyPond refuse sa position dans
le score après la musique comme mentionné dans la doc en faisant cela :

\score {
  <<
    \new Voice = "chant" \melodie
    \header {
  title = "Zomina"
  subtitle = "Traditionnel africain"
  tagline = ""
                }
    \new Lyrics \lyricsto "chant" \coupletun
  >>

}

mais Lily se plaint, :
Analyse...
music.ly:228:4: Erreur : syntax error, unexpected \header

    \header {
music.ly:226:2: Erreur : suite à des erreurs répétées, l'expression musicale
sera ignorée

Voilà où j'en suis....bon il ne s'agit que de mettre deux fois la même chose
sur une page.....

Si je laisse le Header à sa place, hors des blocs score, cela fonctionne,
mais j'obtiens alors le header deux fois de suite au début de la page
lorsque j'utilise print-all-header....la vie n'est pas simple ! :slight_smile:

Tu dois mettre le \header après toute l'expressions musicale dans le
bloc \score .
C'est indiqué dans la doc (de mémoire).

\score {
   <<
     \new Voice = "chant" \melodie
     \new Lyrics \lyricsto "chant" \coupletun
   >>
   \header {
     title = "Zomina"
     subtitle = "Traditionnel africain"
     tagline = ""
   }
}

Il y a un rapport de bug ouvert pour permettre de le mettre avant
aussi (j'y tiens), mais bon, paraît que c'est pas si facile ! ;-D

Cordialement,
Xavier