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

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

Re: Fonction scheme pour mordant explicite


From: Christophe Pochon
Subject: Re: Fonction scheme pour mordant explicite
Date: Wed, 13 Jul 2016 04:35:31 +0200

Bonjour !

Je ne comprends pas très bien. Tu voudrais que ta fonction s'adapte automatiquement à la tonalité et devine ainsi quand la deuxième note doit être un ton ou un demi-ton en-dessus de la première ?


Christophe


Le 13 juillet 2016 à 00:18, Simon Froger <address@hidden> a écrit :
Bonjour.

Je suis en train de bricoler une fonction scheme pour automatiser l'écriture d'un mordant explicite : le principe consiste à extraire le pitch de la note sur laquelle s'applique la fonction, de créer une petite note avec ce même pitch, suivie d'une autre petite note 1 ton plus haut.

Problème : ça marche quand les deux notes sont séparées d'un ton, mais lorsqu'elles sont séparées d'un demi-ton, ça met des altérations non désirées... Il faudrait donc transposer non pas d'un ton, mais d'un degré dans l'échelle du morceau. Comment faire ?

Mon exemple :

\version "2.18.2"
\language "english"

mord = #(define-music-function (parser location myNote)
            (ly:music?)
            (define myGnote
                (make-music 'NoteEvent
                    'duration (ly:make-duration 5 0)
                    'pitch (ly:music-property myNote 'pitch)
                )
            )
            (define myOtherGnote
                (make-music 'NoteEvent
                    'duration (ly:make-duration 5 0)
                    'pitch (ly:pitch-transpose
                            (ly:music-property myNote 'pitch) (ly:make-pitch 0 1 0))
                )
            )
            #{
                \acciaccatura {
                    #myGnote
                    #myOtherGnote
                }
                #myNote
            #}
        )


{
    \key c \minor
    \mord c'4 \mord d' ef'
}

_______________________________________________
liste de diffusion lilypond-user-fr
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr


reply via email to

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