Is there a more elegant way to do this?
;; create major scale
(defun majorScale (root) (make-scale root 16 :alt '(2 2 1 2 2 2 1)))
;; usage:
(majorScale 'c4)
;; 4 part root position harmony of every degree of a major scale
(defun harmonizeMajorScale (root) (harmonic-progression '(0 1 2 3 4 5 6 7) (majorScale root) :size 4))
;; usage:
(harmonizeMajorScale 'c4)
;; 4 part drop 2 of every degree of a major scale, with every chord in a specific inversion
(defun 4PartDrop2 (chords inversi
Hi Wim,
a possible solution:
(setf chords (mclist
(mapcar
(lambda(x) ;; mapcar will apply the inversion to each chord
(chord-inversion 3 x))
(harmonic-progression ;; harmonic progression definition
(integer-transpose -1 '(1 2 3 4 5 6 7)) ;;degree for the chords
'(c4 major) ;; scale used
:size 4 ;; chords size
))))
(setf drop2 (chordize