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

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

Re: Dictées en morceaux… en midi


From: Gilles THIBAULT
Subject: Re: Dictées en morceaux… en midi
Date: Sun, 14 Jun 2015 14:35:34 +0200
User-agent: KMail/4.12.5 (Linux/3.14.43-desktop-1.mga4; KDE/4.12.5; x86_64; ; )

Le samedi 13 juin 2015, 10:34:39 flup a écrit :
> Bonjour,
> L'idée serait de faire:
> 
> - un fichier "partition" (jusque là, pas de souci)
> 
> - un fichier midi dans lequel la dictée est découpée en tronçons de 2
> mesures

%%%%%%%%%%%%%%%%%%

\include "extractMusic.ly"
% voir http://lsr.di.unimi.it/LSR/Item?id=542
% et pour la doc et le fichier "extractMusic.ly" ici :
% http://gillesth.free.fr/Lilypond/extractMusic/

dictee = \relative c' { c2 d4 e | f g a b | c2 d4 e | f g a b |
                        c2 b4 a | g f e d | c2 b4 a | g f e d |
                        c1 }

splitDictee = #(define-music-function (parser location music)(ly:music?)
(let ((pause #{ r4 r2 R1 #}) ; on peut rallonger, mettre des "ding" de xylo...
      (len (ly:music-length music)))
  (let loop ((prev-pos #{ s1*0 #})
             (next-pos #{ s1*2 #})
             (res #{ #}))
    ;(display (ly:music-length next-pos))
    (if (moment>=? (ly:music-length next-pos) len)
       ; moment>=? est défini dans "extractMusic.ly"
       #{ $res \extractEnd $music $prev-pos #} 
       (loop #{ $next-pos #}
             #{ $next-pos s1*2 #} 
             #{ $res \extractMusic $music $prev-pos { s1*2 s4 } $pause #})))))

\markup "Partition"
\score { \dictee }
\markup "Midi"
\score { \splitDictee \dictee }

%%%%%%%%%%%%%%%%%%%

-- 
Gilles

Attachment: test.pdf
Description: Adobe PDF document


reply via email to

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