Jump to content

Featured Replies

Posted

1) main-idea: a little function (perhaps more interesting when  rhy-display-bugs are fixed)

...to use if you want to do "real-fractal-structures", or replace (with motif-map) a length-value with a rhythmical-substructure, or do "rhy-projections" on other lengths...

 

(defun gen-prop-rhythms (proportions main-length)
    (loop for i in proportions
      collect (* i (/ main-length (apply '+ (mapcar #'abs proportions))))))

(gen-prop-rhythms '(3 2 5) 4/4))

 

 

2) extension: replace a value from a sequence (generated with "gen-prop-rhythms") with a new gen-prop-seq, and merge it to a new rhy-layer.... repeat this x-times...


(defun merge-two-layers (main-layer sub-layer repl-val)
  (loop repeat (length main-layer)
    with cnt = 0
    when (= cnt (position repl-val main-layer))
    append sub-layer
    else collect (nth cnt main-layer)
    do (incf cnt)))
  


;;example-1:

(setq layer-1 (gen-prop-rhythms '(3 2 5) 4/4)) ; creates a rhy-structure in 4/4
(setq layer-2 (gen-prop-rhythms '(3 2 5) (second layer-1))) ; creates a rhy-structure on second length of layer1

(merge-two-layers layer-1 layer-2 (second layer-1)) ; merge this two "rhy-sequences"



;;example-2 (more complex example, but same thing)

(setq layer-1 (gen-prop-rhythms '(8 3 2 5) 9/4))
(setq layer-2 (gen-prop-rhythms '(5 2 3) (fourth layer-1)))
(setq layer-1+2 (merge-two-layers layer-1 layer-2 (fourth layer-1)))
(setq layer-3 (gen-prop-rhythms '(2 3 1) 1/4))

(setq layer-1+2+3 (merge-two-layers layer-1+2 layer-3 (third layer-1+2)))

 

greetings

andré

 

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