Jump to content
Sign in to follow this  
AM

mapping <gen-sort> by <tonality-map>

Recommended Posts

like this (?)...

 

;;; mapping to MAJOR

(setf sort-seq (integer-to-pitch (flatten (gen-sort (rnd-order (gen-integer 24)) :type 'selection))))

(def-score example-score
           (:key-signature 'atonal
                           :time-signature '(4 4)
                           :tempo 90
                           :layout (treble-layout 'seq))
  
  (seq :omn (make-omn :pitch (setf n (tonality-map '(major :map step :root 'c4) sort-seq))
                      :length (gen-repeat (length (flatten n)) '(t)))))


;;; mapping to MESSIAEN-mode

(setf sort-seq (integer-to-pitch (flatten (gen-sort (rnd-order (gen-integer 24)) :type 'insertion))))

(def-score example-score
           (:key-signature 'atonal
                           :time-signature '(4 4)
                           :tempo 90
                           :layout (treble-layout 'seq))
  
  (seq :omn (make-omn :pitch (setf n (tonality-map '(messiaen-mode5 :map step :root 'c4) sort-seq))
                      :length (gen-repeat (length (flatten n)) '(t)))))


;;; mapping to a XENAKIS-SIEVE -> how can i do that with TONALITY-MAP? (but not necessary)

(setf sieve (gen-sieve '((c4 g7) (c1 g7)) '((2 1 12) (3 5)) :type :pitch))
(setf sort-seq (flatten (gen-sort (rnd-order (gen-integer (length sieve))) :type 'insertion :sort '?)))

(def-score example-score
           (:key-signature 'atonal
                           :time-signature '(4 4)
                           :tempo 90
                           :layout (treble-layout 'seq))
  
  (seq :omn (make-omn :pitch (setf n (loop 
                                       for i in sort-seq
                                       collect (nth i sieve)))
                      :length (gen-repeat (length (flatten n)) '(t)))))

 

Share this post


Link to post
Share on other sites

You can use the :span :pitch option if the master is the pitch:

 

Example:

 

(make-omn
 :pitch (tonality-map '(messiaen-mode5 :map step :root 'c4) sort-seq)
 :length '(t)
 :span :pitch)

(make-omn
 :pitch (loop for i in sort-seq collect (nth i sieve))
 :length '(t)
 :span :pitch)


 

 

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  

×