helper:multiply_octaves   scheme


Defined in:  https://github.com/lambdamusic/extempore-extensions/blob/main/init/init_makers.xtm

Implementation

;
;
; helper:multiply_octaves
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; helper function: from a list, extend it by adding 12 to all elements (one octave)
;
; Args:
;
; Example:
; (helper:multiply_octaves (pc:scale 0 'ionian) 2)) 
;; => retuns 2 octaves of the scale
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define helper:multiply_octaves 
  (lambda (scale octaves)
    (if (= octaves 1)
      scale)
      (dotimes (i octaves)
        (if (> i 0)
          (set! scale (append scale (add (* 12 i) scale)))))
          scale))


Back to Index