Jump to content
Sign in to follow this  
Stephane Boussuge

Pattern for Piano

Recommended Posts

Sounds Great, Stephane! Somewhat jazzy and groovy in my perception. 

Any hint of the code/method used? 

Best! 

 

Share this post


Link to post
Share on other sites

The chords are also derived from the slonimsky patterns?  Do you remember  wich slonimsky pattern you used?  Im teaching slonimsky patterns to my students and using opusmodus in the class. This is Great! Best Julio 

Share this post


Link to post
Share on other sites

No, chords are rotational intervals addition, dependant to the type of lentgh.

I've used for that my function: add-interval-if-length revised by Torsten.

Here it is:

 

;;; ==============================================
;;; UTILITY FUNCTIONS
;;;
(defun add-interval-if-length-aux (omn &key (test #'>) (length-val 1/8) (interval-list '(4 3 4 7 4 3 5 4 7 3)))
  (let ((s-events (single-events omn)))
    (loop 
      for e in s-events
      for i in (gen-trim (length s-events) interval-list)
      when (funcall test (omn-encode (first e)) length-val)
      append (omn-replace :pitch (chord-interval-add (list i) (list (second e))) e)
      else append e)))

;(add-interval-if-length-aux '(q c4 d4 e4 f4 e g4 a4) :interval-list '(10 11))

;;; =============================
;;; MAIN FUNCTION
(defun add-interval-if-length (omn &key (test #'>) (length-val 1/8) (interval-list '(4 3 4 7 4 3 5 4 7 3)))
  (do-verbose ("add-interval-if-length")
    (let ((test-fn (case test
                     (> #'>)
                     (< #'<)
                     (= #'=)
                     (otherwise test))))
      (if (listp (car omn))
        (mapcar #'(lambda (x) 
                    (add-interval-if-length-aux x :test test-fn :length-val (omn-encode length-val) :interval-list interval-list)) 
                omn)
        (add-interval-if-length-aux omn :test test-fn :length-val (omn-encode length-val) :interval-list interval-list)))))
  

;(add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 f4)) :interval-list '(10 11))
;(add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 h f4)) :interval-list '(3 4) :test #'>= :length-val 'q)

All the best

 

S.

 

Share this post


Link to post
Share on other sites

Dear Janusz,

 

It would be great to have this function in the core functions of version 1.3

 

Best,

Julio

 

Dear Stephane,

 

Can we use this function to add more than one interval to each note ?

This can add one  interval, but I'm refering to add also two intervals, forming a trichord.

1) So the interval list would look like this, for adding intervals:

 

(add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 f4)) :interval-list '(5 4))

2) And like this, to alternate beetween a major triad and a perfect fourth:

(add-interval-if-length '((q c4 d4 e4 f4 e g4 a4) (e f4 e4 q d4 c4 a4 g4 f4)) :interval-list '((4 3) 5))

Is it possible ?

Any suggestion ?

 

Best,

Julio

Share this post


Link to post
Share on other sites

Yes, we can add the function to our system. I will try to make it happen for 1.3

Share this post


Link to post
Share on other sites
2 hours ago, Stephane Boussuge said:

Now, finally it's done by myself.

 

.

SB

 

Thanks, Stephane !!

Best !

Julio

Share this post


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

Guest
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.

Sign in to follow this  

  • Similar Topics

    • By Stephane Boussuge
      Hi, here's a new piece with score.
       
         
       
      All the best to all of the Opusmodus users !
      S.B.
       
      18/07/19 => Small update, missing function added.
       
      PolygonsV1-05-Forum.opmo
      Polygons1-05.mp3
    • By Stephane Boussuge
      Hi,
       
      Here's a score for 4 hands recently finished.
      SB.
       
      PourEtContre1Edit2.opmo
      PourEtContre1-4Hands.mp3
    • By JulioHerrlein
      Dear Friends,
       
      I'm happy to announce that my doctoral dissertation in music composition will have many Opusmodus examples !
       
      I'd like to know how the best way to export plots, and midi piano roll (assistants) 
      for using as examples in Microsoft Word, PDF applications, vectorial graphic software (like Corel), etc
      I was just snapshoting the screen with built in mac snapshot function (CMN + CTRL + SHIFT + 4) but wondering if
       there are some method for saving the output.
       
      Best,
      Julio
×
×
  • Create New...