Jump to content
Sign in to follow this  

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

Share this post

Link to post
Share on other sites

I'm guessing that means there are too many answers to this question, I'll give that another go :) 

Share this post

Link to post
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.


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this