Problèmes avec partcombine

Bonsoir à tous,

Je rencontre actuellement deux difficultés qui semblent venir de
\partcombine, en version 2.13.60 :

- un avertissement est généré lorsque je superpose des duolets dans les
deux expressions du \partcombine (1), mais le résultat est finalement
conforme ;

- plus préoccupant, sur une mesure (mesure 30 dans l'essai), je dois
superposer un silence normal et une série de doubles-croches à la première
voix, et un silence de mesure entière à la voix 2... le silence normal
n'apparaît pas et le silence mesure entière vient se superposer sur les
notes (2) ; le problème n'apparaît pas si je remplace le code entre mesure
20 et mesure 30 par R2.*10 dans les deux voix : le bug est peut-être avant
cette mesure 30 ; aucun avertissement n'est généré.

Auriez-vous une idée pour arranger tout ça ?

Merci d'avance,
Bonne soirée,
Nicolas Hussein

Essai1.ly (350 Bytes)

Essai2.ly (1.25 KB)

···

--
Professionnels et passionnés des transports publics
d'Île-de-France - <http://www.metro-pole.net>

Bonsoir à tous,

Je rencontre actuellement deux difficultés qui semblent venir de
\partcombine, en version 2.13.60 :

- un avertissement est généré lorsque je superpose des duolets dans les
deux expressions du \partcombine (1), mais le résultat est finalement
conforme ;

Bonsoir,

Le premier bug n'est pas propre à la version 2.13.60.
Il existe depuis bien plus longtemps : plus de 4 ans d'après le tracker.
http://code.google.com/p/lilypond/issues/detail?id=245

- plus préoccupant, sur une mesure (mesure 30 dans l'essai), je dois
superposer un silence normal et une série de doubles-croches à la première
voix, et un silence de mesure entière à la voix 2... le silence normal
n'apparaît pas et le silence mesure entière vient se superposer sur les
notes (2) ; le problème n'apparaît pas si je remplace le code entre mesure
20 et mesure 30 par R2.*10 dans les deux voix : le bug est peut-être avant
cette mesure 30 ; aucun avertissement n'est généré.

Bug reporté il y a plus de 4 ans également.
http://code.google.com/p/lilypond/issues/detail?id=261

Mais ici bonne nouvelle, il y a moyen — depuis peu — de faire apparaître
les deux silences en mettant \partcombineApartOnce au début de la
mesure 30 de "clarinetteI" et "clarinetteI".

Cela dit le résultat n'est pas encore au top et je conseillerais de
jouer avec
  \once \override Rest #'staff-position = #0
et
  \once \override MultiMeasureRest #'staff-position = #-6

Auriez-vous une idée pour arranger tout ça ?

Le système de \partcombine reste assez rudimentaire, même si certaines
nouvelles fonctionnalités utiles ont été ajoutées il y a peu.

L'idéal serait qu'un développeur s'attarde sur ce problème et développe
un tout nouveau "partcombine" avec un mécanisme bien plus puissant,
comme le nouveau système d'espacement vertical a été réécrit récemment.
Des volontaires ? Non ? Des généreux mécènes peut-être ? Non plus ?

Cordialement,
Xavier

···

2011/4/18 Nicolas Hussein <****@****>:

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

Bonjour.

En plein dedans itou. Fonctionne très bien avec les regroupements de 2 parties, et les trucs indiqués par Xavier. Erreur aussi du n-olet, mais finalement, on s'en fiche :stuck_out_tongue:

J'ai tenté aussi la combine à 3 de plusieurs façons, y compris avec partcombine de la façon suivante :

\new Voice {\voiceOne \voixI}
\new Voice \voiceTwo {\partcombine{\voixII}{v\voixIII}}

avec l'inconvénient rédhibitoire suivant : quand voixIII se tait, voix I se combine avec voixI et c'est affreux...

Pour conclure avec un traditionnel :

<<
\new Voice {\fonctionVoixHaut \voixI}
\new Voice {\fonctionVoixMilieu \voixII}
\new Voice {\fonctionVoixBas \voixIII}
>>

(le détail dans le fil précédent sur un sujet similaire, quand j'aurai fini ce post)

qui ma fois, fonctionne très bien.

J'aimerais pouvoir faire ce que suggère Xavier, mais il me faut comprendre le contenu de ../current/scm/part-combiner.scm, (9 pages de Scheme et très peui de commentaires...) et là, j'ai de francs doutes sur mes capacités... :-[

A bientôt !
JMarc

···

Le système de \partcombine reste assez rudimentaire, même si certaines
nouvelles fonctionnalités utiles ont été ajoutées il y a peu.

L'idéal serait qu'un développeur s'attarde sur ce problème et développe
un tout nouveau "partcombine" avec un mécanisme bien plus puissant,
comme le nouveau système d'espacement vertical a été réécrit récemment.
Des volontaires ? Non ? Des généreux mécènes peut-être ? Non plus ?

Cordialement,
Xavier

Bonjour,

Merci pour ces explications et pistes intéressantes.

J'ai finalement appliqué partcombineApartOnce, remis le soupir pointé à sa
place avec staff-position = 0, et au lieu de décaler la pause en dessous
je l'ai effacée avec stencil = ##f (puisque Lilypond indique "solo" pour
la clarinette I).

Tout fonctionne parfaitement, j'ai exactement le rendu souhaité.

Merci à la liste !
Nicolas

···

--
Professionnels et passionnés des transports publics
d'Île-de-France - <http://www.metro-pole.net>

2011/4/18 Nicolas Hussein <****@****>:

Bonsoir à tous,

Je rencontre actuellement deux difficultés qui semblent venir de
\partcombine, en version 2.13.60 :

- un avertissement est généré lorsque je superpose des duolets dans
les
deux expressions du \partcombine (1), mais le résultat est finalement
conforme ;

Bonsoir,

Le premier bug n'est pas propre à la version 2.13.60.
Il existe depuis bien plus longtemps : plus de 4 ans d'après le tracker.
http://code.google.com/p/lilypond/issues/detail?id=245

- plus préoccupant, sur une mesure (mesure 30 dans l'essai), je dois
superposer un silence normal et une série de doubles-croches à la
première
voix, et un silence de mesure entière à la voix 2... le silence normal
n'apparaît pas et le silence mesure entière vient se superposer sur
les
notes (2) ; le problème n'apparaît pas si je remplace le code entre
mesure
20 et mesure 30 par R2.*10 dans les deux voix : le bug est peut-être
avant
cette mesure 30 ; aucun avertissement n'est généré.

Bug reporté il y a plus de 4 ans également.
Google Code Archive - Long-term storage for Google Code Project Hosting.

Mais ici bonne nouvelle, il y a moyen — depuis peu — de faire
apparaître
les deux silences en mettant \partcombineApartOnce au début de la
mesure 30 de "clarinetteI" et "clarinetteI".

Cela dit le résultat n'est pas encore au top et je conseillerais de
jouer avec
  \once \override Rest #'staff-position = #0
et
  \once \override MultiMeasureRest #'staff-position = #-6

Auriez-vous une idée pour arranger tout ça ?

Le système de \partcombine reste assez rudimentaire, même si certaines
nouvelles fonctionnalités utiles ont été ajoutées il y a peu.

L'idéal serait qu'un développeur s'attarde sur ce problème et
développe
un tout nouveau "partcombine" avec un mécanisme bien plus puissant,
comme le nouveau système d'espacement vertical a été réécrit
récemment.
Des volontaires ? Non ? Des généreux mécènes peut-être ? Non plus
?

Cordialement,
Xavier

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

Si tu voulais uniquement le soupir pointé à sa place et ne pas imprimer
la pause en dessous, alors un simple

  \partcombineSoloIOnce

dans la partie de "clarinetteI" (mesure 30), rien dans la partie
"clarinetteII" et plus besoin ni de #'staff-position = #0 , ni de
#'stencil = ##f .

Cordialement,
Xavier

···

2011/4/19 Nicolas Hussein <****@****>:

Bonjour,

Merci pour ces explications et pistes intéressantes.

J'ai finalement appliqué partcombineApartOnce, remis le soupir pointé à sa
place avec staff-position = 0, et au lieu de décaler la pause en dessous
je l'ai effacée avec stencil = ##f (puisque Lilypond indique "solo" pour
la clarinette I).

Tout fonctionne parfaitement, j'ai exactement le rendu souhaité.

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

Pour un \partCombine idéal, je verrais les propositions suivantes :

- en mode "A 2", pouvoir forcer l'écriture polyphonique (même si le
rythme est identique ou même les notes identiques)

Je pense que la nouvelle commande \partcombineApart fait exactement
cela.

- garder évidemment le mode "1" ou "2" (et les remplacer
éventuellement par "3" ou "4", mais ça, c'est possible sans soucis)

Tu entends quoi par mode "1" et "2" ("3" et "4") ?

- forcer les silences sur une voix qui se tait (en mode "A 2")

Il faut corriger le bug #261 mais les nouvelles commandes permettent des
"workarounds" en attendant.

- si les voix se croisent, passer automatiquement en mode polyphonique
(il est possible que ça fonctionne actuellement, je n'ai jamais essayé)

Je n'ai pas essayé non plus.

- cerise sur le gâteau, mais conformément aux partitions modernes,
faire un rappel du "1", "2" ou "A 2" lors d'un saut de système.

OK, ça ça n'y est pas.

Qu'en pensez-vous ? Il me semble qu'avec ça, toutes les solutions
classiques seraient faisables. Et surtout, ça éviterait de devoir
réécrire complètement les parties, vu la faiblesse actuelle de cette
instruction.

Sais pas.
Je n'ai pas encore vraiment regardé tout ce qu'il était possible de
faire avec les nouvelles commandes. Ni ce qui pose toujours problème.

Malheureusement, il faudrait un as du Scheme pour implémenter tout ça :-/

Avant d'implémenter une discussion avec les utilisateurs de la liste
internationale pour savoir ce que veulent les utilisateurs en terme de
fonctionnalités (et comment) ainsi qu'une discussion sur lilypond-devel
serait une bonne idée.

Mais avant bien regarder ce qui existe pour le moment.
NR 1.5.2 Multiple voices > Automatic part combining
EN ANGLAIS !!! (pas encore traduit en FR pour les nouvelles commandes)
\partcombineApart, \partcombineApartOnce
\partcombineChords, \partcombineChordsOnce
\partcombineUnisono, \partcombineUnisonoOnce
\partcombineSoloI, \partcombineSoloIOnce
\partcombineSoloII, \partcombineSoloIIOnce
\partcombineAutomatic, \partcombineAutomaticOnce

Je savais que ma demande pour que ces commandes soient documentées dans
le manuel de notation serait utile ! :smiley:

Cordialement,
Xavier

···

2011/4/19 j-f.lucarelli <****@****>:

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

Ah ben oui, c'est encore plus simple ! Merci beaucoup !

···

--
Professionnels et passionnés des transports publics
d'Île-de-France - <http://www.metro-pole.net>

2011/4/19 Nicolas Hussein <****@****>:

Bonjour,

Merci pour ces explications et pistes intéressantes.

J'ai finalement appliqué partcombineApartOnce, remis le soupir pointé
à sa
place avec staff-position = 0, et au lieu de décaler la pause en
dessous
je l'ai effacée avec stencil = ##f (puisque Lilypond indique "solo"
pour
la clarinette I).

Tout fonctionne parfaitement, j'ai exactement le rendu souhaité.

Si tu voulais uniquement le soupir pointé à sa place et ne pas imprimer
la pause en dessous, alors un simple

  \partcombineSoloIOnce

dans la partie de "clarinetteI" (mesure 30), rien dans la partie
"clarinetteII" et plus besoin ni de #'staff-position = #0 , ni de
#'stencil = ##f .

Cordialement,
Xavier

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

Bonsoir à tous,

Voilà, je me suis remis à l'utilisation de partcombine, et il faut dire que
la version 2.16 offre des fonctionnalités vraiment nouvelles et bien utiles,
... quand elles fonctionnent.

Malheureusement, il reste des bugs, particulièrement difficiles à cerner,
car ils arrivent un peu aléatoirement. Des notes sont oubliées, des voix se
taisent momentanément ...

En cause, fréquemment, les \tag (pour spécifier un détail qui diffère entre
les parties et la directrice).

Pour l'instant, une solution : découper la partition en morceaux plus
petits. Parfois 50 ou 100 mesures, parfois 2 mesures.

Ce qui donne comme squelette quelque chose comme ceci :

VoixIA = ...
VoixIB = ...
VoixIC = ...

VoixIIA = ...
VoixIIB = ...
VoixIIC = ...

%{

···

****************************************
* Création des voix *
****************************************
%}

VoixA = \partcombine \VoixIA \VoixIIA
VoixB = \partcombine \VoixIB \VoixIIB
VoixC = \partcombine \VoixIC \VoixIIC

VoixI = {
  \VoixIA
  \VoixIB
  \VoixIC
}

VoixII = {
  \VoixIIA
  \VoixIIB
  \VoixIIC
}

% Parties séparées

voiceVoixI = \new Voice {
  % caractéristiques (mesure, clef, nom, instrument Midi ...
  \VoixI
}

voiceVoixII = \new Voice {
  % caractéristiques (mesure, clef, nom, instrument Midi ...
  \VoixII
}

% voix à insérer dans la directrice

voiceVoixIAII = \new Voice {
  % caractéristiques (mesure, clef, nom, instrument Midi ...
  {\VoixA \VoixB \VoixC}
}

J'essaye dans les jours à venirde voir de plus près les causes de ces bugs,
mais déjà, les progrès sont énormes par rapport à la version 2.14. Inutile
de reconstruire complètement les voix, vérification automatique d'erreurs de
synchronisation, et souplesse grâce au jeu d'instructions \partcombineApart
et similaires.

Cordialement,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Problemes-avec-partcombine-tp6284930p7578918.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.