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

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

Re: rythme répétitif : automatisation pos sible ?


From: Nicolas Sceaux
Subject: Re: rythme répétitif : automatisation pos sible ?
Date: Fri, 7 May 2010 23:03:53 +0200

Le 7 mai 2010 à 22:41, Céladon a écrit :

> 
> Bonsoir à tous !
> Je me posais une question. Je viens de taper toute une partie dans laquelle
> les mesures sont presque toutes semblables à (les notes changent) :
> fis4. \times 4/3 { fis32 fis fis } a4. \times 4/3 { a32 a a } |
> 
> Est-ce qu'il y a un moyen, sait-on jamais, de simplifier la saisie de ce
> genre de choses ? C'est surtout le rythme qui est contraignant...
> Au milieux, il y a une mesure un tout petit peu différente :
> cis4. \times 4/3 { cis32 cis cis } cis4. \times 4/3 { cis32 cis dis } |
> Et ça finit par
> e,2 f | e e4.-+ d8 | d1
> Il faudrait donc que la règle, si on crée une règle, ne s'applique que
> localement, du moins qu'on puisse en stopper l'application.
> Merci d'avance ! C'est un peu à titre indicatif... Je rencontre de temps en
> temps ce genre de choses.

Pour un passage au rythme répétitif, j'avais écrit une fonction qui évite
de saisir le rythme.

%%%
%% double pointée triple x2
dpts =
#(define-music-function (parser location chords) (ly:music?)
   (define (make-16.-32-16.-32 chord)
     (let ((pitches '()))
       (music-map (lambda (m)
                    (if (eqv? (ly:music-property m 'name) 'NoteEvent)
                        (set! pitches (cons (ly:music-property m 'pitch) 
pitches))))
                  chord)
       (let ((chord16. (make-music 'EventChord
                         'elements (map (lambda (pitch)
                                          (make-music 'NoteEvent
                                           'duration (ly:make-duration 4 1 1 1)
                                           'pitch pitch))
                                        pitches)))
             (chord32  (make-music 'EventChord
                         'elements (map (lambda (pitch)
                                          (make-music 'NoteEvent
                                           'duration (ly:make-duration 5 0 1 1)
                                           'pitch pitch))
                                        pitches))))
         (make-music 'SequentialMusic 'elements (list chord16. chord32 chord16. 
chord32)))))
   (make-music 'SequentialMusic 'elements (map make-16.-32-16.-32 
(ly:music-property chords 'elements))))






reply via email to

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