lilypond-user
[Top][All Lists]
Advanced

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

Re: Arpeggios from chordmode?


From: Basso Ridiculoso
Subject: Re: Arpeggios from chordmode?
Date: Tue, 2 Aug 2011 20:10:11 -0700

HA!!

Yes! That is very close indeed.

Now I can enter in chord changes, and with just a very simple search/replace make an arpeggio sheet for them.

See enclosed file for example (requires Giles code below as an \include)

 To get the chord changes and the arps, I just double the chord progression with a longer duration. It still is less typing than what I was doing.

And can I just say, this list is *always* helpful. I wish some software that I have paid for had people as responsive as this list has. Every time I have asked a question it has been answered!

Thank you Giles!

Daniel

------------------------------

Message: 8
Date: Mon, 01 Aug 2011 17:00:29 +0200
From: Gilles <address@hidden>
To: address@hidden
Subject: Re: Arpeggios from chordmode?
Message-ID: <address@hidden>
Content-Type: text/plain; charset="iso-8859-15"; Format="flowed";
       DelSp="yes"


> Is there as simple way to get chord mode to return:
>
> c4 e g
>
> instead of
>
> <c e g>4
>

Is something like that what you wanted ?

%%%%%%%%%%%%%%%%%%%%%%%%
#(use-modules (ice-9 receive))
%% see http://www.gnu.org/software/guile/manual/guile.html#Multiple-Values

#(define (chords-list->seq-list lst)
(receive (notes others)
         (partition (lambda(x) (ly:duration? (ly:music-property x
'duration)))
lst)
     (map (lambda(x)
            (let ((elts (list x)))
              (if (pair? others)(begin
                 (set! elts (append elts others))
                 (set! others '())))
              (make-music 'EventChord 'elements elts)))
           notes)))

chordsToSeq = #(define-music-function (parser location music)(ly:music?)
(music-map
        (lambda (x)
          (if (eq? 'EventChord (ly:music-property x 'name))
            (make-music 'SequentialMusic 'elements
                (chords-list->seq-list (ly:music-property x 'elements)))
            x))
        music))


music = \chordmode {d4:min7\f g:7 c:maj7}

\new Voice \chordsToSeq \music
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Gilles
-------------- next part --------------
A non-text attachment was scrubbed...
Name: chordsToSeq.png
Type: image/png
Size: 906 bytes
Desc: not available
URL: </archive/html/lilypond-user/attachments/20110801/094c80c9/attachment.png>

------------------------------

Attachment: Arpblueschart.ly
Description: Binary data


reply via email to

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