Jump to content

Featured Replies

Posted

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)
)
  
(lh
     :length lh-lengths
     :pitch lh-chords
     :port "FROM Sibelius I"
     :channel 1
     :volume 100
     :pan 64
     :controllers (91 '((48)) 64 '((0))))
)


Which results into:

 

5abfd44793063_ScreenShot2018-03-31at20_31_43.png.c0fbfee3dbbd30ae3daa95e93a8fde43.png

 

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

  • Author

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

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

e4g4a4d5c6

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.

 

Create an account or sign in to comment


Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy