Sign in to follow this  
Followers 0
opmo

Opusmodus 1.2.21994

1 post in this topic

New:

 

additional keyword :map in TEXT-TO-PITCH, LETTER-TO-INTEGER and INTEGER-TO-LETTER.

---------------------------------------------------

TEXT-TO-PITCH

Example with a defined :map

 

(setf map

      (gen-combine

       (make-alphabet)

       (gen-integer-step 0 26 '(1 -2 3 1))))

=> ((a 0) (b 1) (c -1) (d 2) (e 3) (f 4) (g 2) (h 5) (i 6)

    (j 7) (k 5) (l 8) (m 9) (n 10) (o 8) (p 11) (q 12) (r 13)

    (s 11) (t 14) (u 15) (v 16) (w 14) (x 17) (y 18) (z 19))

 

(text-to-pitch '("To be, or not to be, that is the question")

               :map map)

=> ((d5 gs4) (cs4 eb4) (gs4 cs5) (bb4 gs4 d5) (d5 gs4) (cs4 eb4)

    (d5 f4 c4 d5) (fs4 b4) (d5 f4 eb4) (c5 eb5 eb4 b4 d5 fs4 gs4 bb4))

 

---------------------------------------------------

LETTER-TO-INTEGER

 

(letter-to-integer '(a b c f g h)

                   :map '((a 0) (b 6) (c 13) (f -11) (g -13) (h 2)))

=> (0 6 13 -11 -13 2)

 

---------------------------------------------------

INTEGER-TO-LETTER

 

(integer-to-letter '(0 1 2 5)

                   :map '((0 a) (1 c) (2 e) (5 g)))

=> (a c e g)

 

---------------------------------------------------

Fix to MAKE-OMN length-symbol conversion.

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  
Followers 0