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

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

Coup de pouce Scheme


From: Christophe Pochon
Subject: Coup de pouce Scheme
Date: Mon, 5 Jul 2021 17:01:48 +0200

Bonjour,
Est-ce que quelqu'un pourrait m'aiguiller pour réaliser une fonction scheme de filtrage. L'idée est de réaliser une fonction qui me permettrait facilement de séparer les notes d'un instrument en fonction des articulations. Ainsi je pourrais, à partir d'une portée destinée à l'impression, générer 4-5 portées midi, une pour les notes normales, la deuxième pour les notes staccato, etc. Et ensuite je pourrais assigner ces pistes aux sons de l'instrument, avec une piste par articulation.

Exemple :

%%%%%%%%%%%

\version "2.20.0"

music = \relative c'
{
    c8 c-. d( e f) g4-- a8
}
% normal = \keepOnly "n" \music % générerait :
normal = \relative c'
{
    c8 r r4 r r8 a'
}
% dotted = \keepOnly "d" \music% générerait :
dotted = \relative c'
{
 r8 c r4 r2  
}
% slurred = \keepOnly "s" \music% générerait :
slurred = \relative c'
{
    r4 d8 e f r8 r4
}
\score {
    <<
\music
\normal
\dotted
\slurred
    >>
}
%%%%%%%

Je ne souhaite pas que quelqu'un me fasse tout ce travail, au contraire : j'ai envie de profiter de cette motivation pour progresser en scheme. Mais je ne sais pas trop comment m'y prendre.

Je présume que ma fonction commencera ainsi :

keepOnly = #(define-music-function (what music) (string ly:music?))

mais à l'intérieur, je ne sais pas comment commencer. Il y aura probablement une ligne avec (case what , mais ça m'énerve de pas m'en sortir.

Merci de votre aide !

Christophe Pochon

reply via email to

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