[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Scheme] Voix séparées ou ensemble - suite
From: |
Olivier Miakinen |
Subject: |
[Scheme] Voix séparées ou ensemble - suite |
Date: |
Sat, 11 Nov 2017 14:05:12 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 |
Bonjour,
Il y a quelques jours je demandais comment concilier l'affichage
d'une partition avec le rendu MIDI, dans le cas où une voix se
partage parfois en deux sur une seule portée, mais que je veux
faire deux fichiers MIDI séparés, un pour chaque voix.
J'en suis venu à créer quatre fonctions, \upSplit et \downSplit
pour saisir les notes du haut et du bas quand les voix se
séparent, et \upTogether et \downTogether quand elles se
rejoignent. Le résultat est ici : <http://lilybin.com/bw68to/3>.
Ce qui m'embête, c'est que la fonction \downTogether a besoin
de deux paramètres, l'un étant la musique à afficher, et l'autre
une série de \skip ou s de même durée.
Définition :
downTogether = #
(define-music-function
(parser location musique silence) (ly:music? ly:music?)
#{
\voiceTwo
\tag #'midi $musique
\tag #'print $silence
#})
Usage :
\downTogether { c''8 r f' r f'' r g' r } { s1 }
Aussi, je me demande s'il n'y a pas moyen en Scheme de lui passer une
expression musicale et qu'il remplace cette expression en une série
de \skip de durée équivalente.
Par exemple, en lui passant { c''8 r f' r f'' r g' r }, il pourrait
retourner { s1 } ou (ce qui revient au même) { s8 s s s s s s s }.
Cordialement,
--
Olivier Miakinen
- [Scheme] Voix séparées ou ensemble - suite,
Olivier Miakinen <=