# Harmonizing a major scale using 4-part-drop-2 inversion x

## Recommended Posts

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 inversion)
(loop for chord in chords
collect
(chordize
(pitch-transpose-n '(0 0 -12 0)
(pitch-melodize
(list
(chord-inversion inversion chord)
)
)
)
)
)
)
;; usage:
(4PartDrop2 (harmonizeMajorScale 'c4) 3)```

Kind regards,

Wim Dijkgraaf

##### Share on other sites

```(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
))```

SB.

##### Share on other sites

If I'm not mistaken, your solution doesn't include the Drop 2 (transpose second voice from the top an octave down). Any idea how to incorporate that into this approach?

Kind regards,

Wim Dijkgraaf

##### Share on other sites

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-list
(pitch-transpose-n
'(0 0 -12 0)
(pitch-melodize chords))))```

SB.

##### Share on other sites

• 2 years later...

Dear Wim,

Best,

Julio

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
• #### Browser

• Video Gallery

• Lessons