lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Score en ut et parties séparées transpo sées


From: Nicolas Sceaux
Subject: Re: Score en ut et parties séparées transpo sées
Date: Fri, 1 Oct 2010 21:26:46 +0200

Le 1 oct. 2010 à 12:41, flup a écrit :

> 
> Bonjour,
> 
> Je réalise en général mes scores selon le principe suivant : 
> - le score est en ut
> - les parties sont transposées
> 
> J'encode tous les notes en sons réels; lors de la création d'une partie
> séparée, j'ajoute un \transpose c d après le \new Staff.
> 
> Le problème se pose avec les instruments qui s'écrivent dans une clé (sur
> leur partie) mais dont la tessiture entendue nécessiterait parfois une
> écriture dans une autre clé, comme c'est le cas des saxophones graves. Je me
> retrouve donc avec un score "sons réels" avec de nombreuses lignes
> supplémentaires.
> 
> J'ai pensé à inclure dans mon code des variables qui seraient définies comme
> vides dans la partie (fakeclefFa = { }) mais qui, dans le fichier de score
> ressembleraient à ceci : fakeclefFa = {\clef "bass"}.

On peut utiliser une technique du type :

#(define (make-ancient-or-modern-clef clef-name)
   (let* ((match (string-match "^(.*)/(.*)$" clef-name))
          (ancient-clef (if match
                            (match:substring match 1)
                            clef-name))
          (modern-clef (if match
                           (match:substring match 2)
                           clef-name)))
     (if (eqv? #t (ly:get-option 'ancient-clef-style))
         (make-clef-set ancient-clef)
         (make-clef-set modern-clef))))

clef =
#(define-music-function (parser location clef-name) (string?)
   (make-ancient-or-modern-clef clef-name))


#(ly:set-option 'ancient-clef-style #f)

{
  \clef "varbaritone/bass" g1
  \clef "bass" c1
  \clef "varbaritone/bass" g1
}

#(ly:set-option 'ancient-clef-style #t)

{
  \clef "varbaritone/bass" g1
  \clef "bass" c1
  \clef "varbaritone/bass" g1
}






reply via email to

[Prev in Thread] Current Thread [Next in Thread]