Jump to content
Sign in to follow this  
Stephane Boussuge

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×