[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Coup de pouce Scheme
From: |
Jean Abou Samra |
Subject: |
Re: Coup de pouce Scheme |
Date: |
Mon, 5 Jul 2021 17:34:46 +0200 (CEST) |
Le 05/07/2021 17:01, Christophe Pochon <music@christophe-pochon.com> a écrit :
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
Bonjour,
Content que le café Lily en ait poussé plus d'un à se mettre à Scheme !
Ce filtrage n'est pas tout à fait la tâche la plus facile pour commencer… Cela dit, si vous y tenez, voici quelques indications sans une solution complète :
Bon courage, et n'hésitez pas à demander de l'aide !
Cordialement,
Jean