Subject: Problèmes d'octaviation dans l'instruction \transpose

From: Seventies <[email-masked]>
Date: Thu, 10 Mar 2011 12:19:07 -0800 (PST)

Bonsoir à l'équipe,

Les instruments transpositeurs n'ont pas fini de faire couler de l'encre.
Bien que les professionnels préfèrent la partition originale et transposent
à vue, l'amateur préfère utiliser une partition écrite dans la tonalité de
son instrument.
Mais voilà, il peut arriver que les altérations se bousculent. Pour éviter
cela, j'utilise quelques artifices, mais qui donnent des résultats ...
inattendus. Bug, erreur de ma part, les erreurs semblent presqu'aléatoires,
je pencherais pour un bug.

Exemple minimal de départ : clarinette en La, partition en Ré majeur, donc
une armure de fa majeur.
Puis la partition bascule en ré bémol majeur. Pour éviter trop de bémols à
la clarinette en La, le compositeur l'écrit en Mi majeur (au lieu de Fa
bémol majeur - c'est une démarche courante).

Voici donc la partition de départ, correcte :

\version "2.13.52"

\new Voice {
	\time 2/2
	\set Staff.instrumentName = "Clar. en La"
	\key f \major
	\clef treble
	\relative c'' {
		g2. fis4
		fis r r2 |
		\bar "||"
		\key e \major
		gis'2. e4
		gis2. e4
		gis e e d!
		cis e d2
		fis2. dis!4
		fis2. dis!4 |
		fis dis b a
		gis b a2
		r4 cis2 ais!4 |
		r dis2 b4
		r dis2 gis4
	}
}

Je désire maintenant passer à la clarinette en si bémol, la seule utilisée
dans les orchestres amateurs.

Voici le code :
\new Voice {
	\time 2/2
	\set Staff.instrumentName = \markup {"Clar. en Si" \flat}
	\key e \major
	\clef treble
	\transpose bes a	% pour passer de la clarinette en La vers Si bémol
	\relative c'' {
		g2. fis4
		fis r r2 |
		\bar "||"
		\key fes \major		% pour simplifier l'armure ( == mi majeur)
		\transpose c deses' {	% pour éviter trop de dièses et doubles dièses
			gis'2. e4
			gis2. e4
			gis e e d!
			cis e d2
			fis2. dis!4
			fis2. dis!4 |
			fis dis b a
			gis b a2
			r4 cis2 ais!4 |
			r dis2 b4
			r dis2 gis4
		}
	}
}

Le "\transpose bes a" devrait à lui tout seul résoudre tous les problèmes.
Tous ? Non, pas tout à fait, car à la modulation, j'obtiens 9 dièses. Je
change donc le \key e \major par \key fes \major
fa bémol vaut mi (très vilain jeu de mots), et ça fonctionne, sinon que la
partition est surchargée de dièses, doubles dièses, avec une armure en
bémols, tout à fait illisible, même si c'est correct.
Il faut réaliser l'enharmonie du passage, ce que je fais par \transpose c
deses' { } (ré double bémol vaut do)

Et là, c'est la catastrophe.
- remarquez le ' sur le deses : sans lui, toute la voix se retrouve une
octave plus bas.
- regardez les mesures 3, 9, 11 et 12. Il y a des erreurs d'octaviation
alors que le code n'a pas changé.

Si j'enlève le \transpose c deses' tout redevient 'normal' même si
illisible.

La partition a été simplifiée pour ne garder que 4 erreurs, mais en
s'arrêtant à la mesure 3, on a déjà l'erreur, et si on continue, ces erreurs
d'octaviations reviennent de manière récurrente.

Votre avis ? Est-ce un bug (j'utilise la version 2.13.52) ? A-t-il déjà été
signalé ?

D'avance, merci de vos conseils,

Jean-François

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Problemes-d-octaviation-dans-l-instruction-transpose-tp6159180p6159180.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.

---

From: Xavier Scheuer <[email-masked]>
Date: Thu, 10 Mar 2011 21:53:42 +0100

2011/3/10 Seventies <[email-masked]>:
> [...]

Bonsoir,

Non, je ne dirais pas un bug : une limitation.

Un  \transpose  dans un  \transpose  ça ne sent pas bon.
Et différents  \transpose  dans un seul  \relative c''  ça ne va pas
(d'où le fait que je qualifierais ça de limitation).

Je séparerais la musique en deux blocs  \relative c''  avec des
 \transpose  différents.

\new Voice {
  \time 2/2
  \transpose bes a
  \relative c'' {
    \key f \major
    g2. fis4
    fis r r2 |
    \bar "||"
  }
  \transpose e ees
  \relative c'' {
    \key e \major
    gis'2. e4
    gis2. e4
    gis e e d!
    cis e d2
    fis2. dis!4
    fis2. dis!4 |
    fis dis b a
    gis b a2
    r4 cis2 ais!4 |
    r dis2 b4
    r dis2 gis4
  }
}

Sinon tu peux essayer de bricoler le "Smart" transpose, mais il faut
aimer le Scheme (et moi je suis largué).
http://lsr.dsi.unimi.it/LSR/Item?id=266

Cordialement,
Xavier

-- 
Xavier Scheuer <[email-masked]>

---

From: "j-f.lucarelli" <[email-masked]>
Date: Thu, 10 Mar 2011 22:40:24 +0100

=================================
  
== En réponse au message du 10-03-2011, 21:54:04 ==

>http://lsr.dsi.unimi.it/LSR/Item?id=266

Merci, c'est une solution fort élégante et acceptable. Ce qui me plaisait moins, c'était de réaliser l'enharmonie manuellement.
Ainsi, je peux garder un fichier qui ressemble correctement au fichier de départ. Ça facilite la maintenance ultérieure.

Grand merci,

Jean-François

========================================