[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Répétition «octave en accord»
From: |
Gilles Thibault |
Subject: |
Re: Répétition «octave en accord» |
Date: |
Mon, 09 Jul 2018 23:09:28 +0200 |
User-agent: |
Webmail Free/1.3.3 |
%%
\version "2.19.65"
music = \relative { c'4-. d-. r g( f e f g) <e g c>1-> }
\new Voice << \music \transpose c c' \music >>
%%
Pour la fonction correspondante, ça donnerait (en reprenant le nom de la
fonction du snippet http://lsr.di.unimi.it/LSR/Item?id=445) :
%%
music = \relative { c'4-. d-. r g( f e f g) <e g c>1-> }
makeOctaves = #(define-music-function (parser location arg mus)
(integer? ly:music?)
(let ((p1 (ly:make-pitch 0 0 0))
(p2 (ly:make-pitch arg 0 0)))
#{ << $mus \transpose $p1 $p2 $mus >> #}))
\new Voice \makeOctaves #1 \music
\new Voice \makeOctaves #-1 \music
%%
Si on préfère tout en scheme (légérement plus court ici)
%%
makeOctaves = #(define-music-function (parser location arg mus)
(integer? ly:music?)
(make-simultaneous-music (list
mus
(ly:music-transpose (ly:music-deep-copy mus)
(ly:make-pitch arg 0 0)))))
\new Voice \makeOctaves #1 \music
\new Voice \makeOctaves #-1 \music
%%
--
Gilles