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

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

Fonction scheme pour mordant explicite


From: Simon Froger
Subject: Fonction scheme pour mordant explicite
Date: Wed, 13 Jul 2016 00:18:19 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0

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'
}



reply via email to

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