Jump to content

Chord Inversions & Arpeggios

Recommended Posts

Please excuse the slightly misleading terminology in the title of this post, but I am looking for a straightforward method to experiment with different chord rhythms and patterns for the left hand in a keyboard style arrangement.
As an example, I have this simple arrangement:

(setf lh-chords 
      '(  #|1|# (c2 c3e3g3 c3e3g3 c3e3g3) 
          #|2|# (f2 c3f3a3 c3f3a3 c3f3a3) 
          #|3|# (e2 e3g3c4 e3g3c4 e3g3c4) 
          #|4|# (gs2 e3b3 e3b3 e3b3 g2 d3g3b3 d3g3b3 d3g3b3)

(setf lh-lengths
          #|1|# (e e e e e e e e) ;i
          #|2|# (e e e e e e e e) ;i
          #|3|# (e e e e e e e e) ;i
          #|4|# (e e e e e e e e) ;i


(def-score Simple-Period
    (:title "Simple-Period"
     :key-signature '((c maj))
     :rewrite-lengths 't
     :time-signature '((4 4 8)) 
     :tempo '(60)
     :length lh-lengths
     :pitch lh-chords
     :port "FROM Sibelius I"
     :channel 1
     :volume 100
     :pan 64
     :controllers (91 '((48)) 64 '((0))))

Which results into:




I'm pretty sure there are much easier ways to write something like this, are there any functions I can look into that make it easier to experiment with different chord inversions, arpeggio's, etc. ?
It would be great if I could just write the chords first and then later in the score experiment with them, including the ability to subtract notes and alternate between bass notes and other chord tones.
I've learned about gen-repeat already, which seems like it could be useful for this specific example, are any other functions I should check out?

Thank you once again!
- Jor

Link to comment
Share on other sites

For example:

This syntax
(expand-chord '(c4 69))

will give you a C(6,9) chord. Evaluate the expression via CMD+1 to get the snippet in notation.


added 5 minutes later

Maybe Janusz can help me here:


When I evaluate this:

(chord-inversion 1 (expand-chord '(c4 69)))

I get this


However, when I try to get the snippet, via CMD+1, I get an error:


> Error: The value e4g4a4d5c6 is not of the expected type list.
> While executing: parse-chord-form-from-stream, in process Listener-1(6).
> Type cmd-. to abort, cmd-\ for a list of available restarts.
> Type :? for other options.


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

Terms of Use Privacy Policy