Saisie des notes dans les tonalités chargées en # ou en b ?

Existe-t-il une facilité de saisie des notes dans les tonalités chargées en #
ou en b qui éviterait de devoir saisir systématiquement les altérations qui
figurent déjà dans l'armure de la tonalité ?

Je comprends bien que le compilateur de Lilypond attend que le code source
contienne les vraies notes quelle que soit l'armure, mais il devrait être
possible d'implémenter 2 solutions :

• soit au niveau du compilateur de Lilypond (la meilleure)

une instruction placée dans le code source, p.ex. \key_signature <nom de la

indiquerait au compilateur qu'il doit interpréter une note placée

après cette instruction dans le code source en lui ajoutant automatiquement
l'altération donnée par l'armure avant de la compiler (en tenant compte des
altérations accidentelles ; pour cela il faudrait créer un suffixe indiquant
un bécarre, p.ex. "n" pour naturel, les autres altérations accidentelles
étant interprétées de manière absolue, c.à.d sans tenir compte de l'armure)

exemple :

\key_signature ees \major
{ e g b bn g a fis f e } % le "n" qui suit le "b" indique un bécarre

serait interprété comme :

{ ees g bes b g aes fis f ees }

• soit au niveau de l'éditeur Frescobaldi

ce serait Frescobaldi qui traduirait automatiquement le code source
introduit par l'utilisateur sans les altérations de l'armure au moment de le
transmettre à Lilypond pour compilation (de manière transparente pour
l'utilisateur)

···

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

L'algorithme serait même très simple :

• initialiser la liste des notes altérées par l’armure
% nécessaire pour le cas où le code ne comporte aucune instruction
\key-signature

• quand on rencontre une instruction \key-signature :

réinitialiser la liste des notes altérées par l’armure
ajouter dans la liste l’altération (# ou b) et les notes à altérer

• quand on rencontre une note :

la note du code source comporte-t-elle un suffixe d'altération?
si oui (
  le suffixe est-il un bécarre ?
  si oui (enlever le suffixe puis la transmettre au compilateur)
  sinon (la transmettre telle quelle au compilateur)
)
sinon (
  la note figure-t-elle dans la liste des notes altérées par l'armure ?
  si oui (lui ajouter l'altération de l'armure puis la transmettre au
compilateur)
  sinon (la transmettre telle quelle au compilateur)
)

C'est peut-être un peu plus compliqué au niveau de la gestion de l'armure à
cause des doubles # ou b, mais le principe reste le même.

···

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

Bonjour,

Et comment feriez-vous si au lieu d'un bécarre, c'est un dièse ou un bémol "accidentel" qui survient ?

···

Christophe Pochon

"Et comment feriez-vous si au lieu d'un bécarre, c'est un dièse ou un

bémol "accidentel" qui survient ?"

Relisez bien mon 1er post :

"[...] un bécarre, p.ex. "n" pour naturel, les autres altérations
accidentelles étant interprétées de manière absolue, c.à.d sans tenir compte
de l'armure"

ainsi que l'algo :

"le suffixe est-il un bécarre ?
si oui (enlever le suffixe puis la transmettre au compilateur)
sinon (la transmettre telle quelle au compilateur)"

···

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

On peut encore simplifier l'algorithme indiqué dans mon 2e post :

···

=======================
ANNULE ET REMPLACE LE 2E POST

► L'algorithme :

Il se base sur une liste de substitution formée de paires (note lue, note à
compiler)

Exemple :

En Ut maj ou en l'absence de \Key_signature : ([c,c] , [d,d] , [e,e] , [f,f]
, [g,g] , [a,a] , [b,b])
En Ré majeur : ([c,cis] , [d,d] , [e,e] , [f,fis] , [g,g] , [a,a] , [b,b])
En La b majeur ([c,c] , [d,des] , [e,ees] , [f,f] , [g,g] , [a,aes] ,
[b,bes])

Algorithme :

• initialiser la liste
% nécessaire pour le cas où le code ne comporte aucune instruction
\key-signature

• quand on rencontre une instruction \key-signature <tonalité> :
réinitialiser la liste selon la tonalité

• quand on rencontre une note :

la note du code source comporte-t-elle un suffixe d'altération?

si oui (
  le suffixe est-il un bécarre ?
  si oui (enlever le suffixe puis transmettre la note au compilateur)
  sinon (la transmettre telle quelle au compilateur
)

sinon (transmettre au compilateur la note à compiler donnée par la liste de
substitution)

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

On peut tout faire évidemment… Mais bon, c’est moche.

%%%%%%%%%%%%%%%

\version "2.19.82" % obligatoire (pas 2.18)

sloppy =
#(define-music-function (music) (ly:music?)
   (let ((alts '()))
     #{ \applyContext
        #(lambda (c)
           (set! alts
                 (ly:context-property c 'keyAlterations))
           (music-map
            (lambda (m)
              (let ((p (ly:music-property m 'pitch))
                    (force (ly:music-property m 'force-accidental)))
                (if (and
                     (not (eq? force #t))
                     (not (null? p)))
                    (let* ((note (ly:pitch-notename p))
                           (alt (ly:assoc-get note alts)))
                      (if alt
                          (ly:music-set-property! m 'pitch
                            (ly:make-pitch
                             (ly:pitch-octave p)
                             note
                             alt)))))
                m))
            music))
        #music
     #}))

{\key es \major
\sloppy {
   bes1 b!1 c' b' cis' e''
}
}

%%%%%%%%%%%%%%%

V.

···

On 1/25/19, Christophe Pochon <****@****> wrote:

Et comment feriez-vous si au lieu d'un bécarre, c'est un dièse ou un bémol
"accidentel" qui survient ?

Dans Frescobaldi, il y a un outil qui te permet de faire ça.

Prenons cette partition en exemple :

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.18.2"
\language "italiano"

global = {
  \key do \major
}

\relative do' {
  \global
  do4 re mi fa sol la si do
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Outils > Hauteurs > Changement de mode
Tonalité : do
Mode : Minor (natural)

Résultat :
  do4 re mib fa sol lab sib do

Outils > Hauteurs > Changement de mode
Tonalité : sol
Mode : Major

Résultat :
  do4 re mi fad sol la si do

···

Le 25/01/2019 13:23, Monteverdi a écrit :

Existe-t-il une facilité de saisie des notes dans les tonalités chargées en #
ou en b qui éviterait de devoir saisir systématiquement les altérations qui
figurent déjà dans l'armure de la tonalité ?

Olivier Miakinen-3 wrote

Dans Frescobaldi, il y a un outil qui te permet de faire ça.

Outils > Hauteurs > Changement de mode

Merci beaucoup pour cette information !

Ce n'est pas l'outil parfait (ça ne gère pas bien les altérations
accidentelles), mais c'est une aide appréciable.

···

--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/