Jump to content

New Tonality system: Few examples.


Recommended Posts

Here's some few examples of use of the recently updated tonality-system.

(complete opmo score attached to this post.)

 


;; Utility function useful for using
;; bass note of chords/scales as root
;; in tonality-series.

(defun get-lowest-chord-tone (chords)
  (do-verbose
      ("get-lowest-chord-tone")
    (integer-to-pitch (mapcar 'find-min (pitch-to-integer chords)))
    ))

#|
;;; USAGE
(setf chords '(d4f4a4 ab3d4eb4g4 f4eb3c5))
(get-lowest-chord-tone chords)
|#


It is better now to see the tonality as kind of PCS (pitch Class Set).
If you would express them in pitch, it is easier to work on C base.
Something interesting if the fact tonality can now be sorted or not.
It will be reflected in the output of tonality-map.

 

 

;; Some tests
(tonality-map '(d4e4f4g4a4b4) '(c4 d4 e4 f4 g4 a4 b4))
(tonality-map '(d4e4f4g4a4b4) '(c3 e4g4))
(tonality-map '(d4e4f4g4a4b4 :root d4) '(c3 e4g4))
(tonality-map '((0 2 3 5 7 9 10) :root d4) '(c3 e4g4))
(tonality-map '((0 2 3 5 7 9 10) :root d4 :closest 'down) '(c3 e4g4))


More extended test with use of bass note as root:

(setf row '(c4 e4 f4 b4 a4 bb4 cs4 gs4 fs4 g4 eb4 d4))
(setf modes1 (harmonic-progression
             '(0 1 2 3 4 5 6 7 8 9 10 11)
             row
             :step 1
             :size 8
             ))

(setf mtv '((s c4 d4 e4 f4 g4 a4 b4 c5)))

(setf test1 (tonality-map
             (mclist modes1)
             (gen-repeat 12 mtv)))

(setf path1 (tonality-series
             modes1
             :root (get-lowest-chord-tone modes1)
             ;:closest '(down)
             ))

(setf test2 (tonality-map
             path1
             (gen-repeat 12 mtv)))

(setf mtv2 '((s c4 cs4 d4 ds4 e4 f4 fs4 g4)))

(setf test3 (tonality-map
             (mclist modes1)
             (gen-repeat 12 mtv2)))

(setf test4 (tonality-map
             path1
             (gen-repeat 12 mtv2)))

(setf path2 (tonality-series
             modes1
             :root (get-lowest-chord-tone modes1)
             ;:closest '(down)
             :map '(step)
             ))


(setf test5 (tonality-map
             path2
             (gen-repeat 12 mtv)))

(setf test6 (tonality-map
             path2
             (gen-repeat 12 mtv2)))

(setf path3 (tonality-series
             modes1
             :root (get-lowest-chord-tone modes1)
             ;:closest '(down)
             :map '(step)
             :sort t
             ))

(setf test7 (tonality-map
             path3
             (gen-repeat 12 mtv2)))

(setf test8 (tonality-map
             path3
             (gen-repeat 12 mtv)))

SB.

 

NewTonalitySystemExamples.opmo

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

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy