opmo Posted April 18, 2017 Share Posted April 18, 2017 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. Link to comment Share on other sites More sharing options...
Recommended Posts