RST Posted June 21, 2016 Share Posted June 21, 2016 Greetings friends, I have a little project I am working on - to map a two-octave scale 12-tone scale. I want to be able to re-write pitches into this scale and to use the results in both harmonic and melodic contexts. However, I am finding some puzzlement! Here is a code fragment of what I am working on: (create-tonality 12-tone-2 '(0 1 3 4 7 8 10 11 14 17 18 21)) (tonality-map '(12-tone-2 :root c4 :shift t) '(c3 d3 e3 f3)) My thought is that it SHOULD result in: 0 1 3 4 - c cs ds e - as the result. Specifically: c4 cs4 ds4 e4 (or the enharmonic equivalent). But, the result is: c eb (ds) g gs !! Specifically: c3 ebb g3 gs3. Perhaps someone can help by pointing out my mistake? With thanks, Robert Quote Link to comment Share on other sites More sharing options...
opmo Posted June 21, 2016 Share Posted June 21, 2016 The output here is correct: (create-tonality 12-tone-2 '(0 1 3 4 7 8 10 11 14 17 18 21)) (tonality-map '(12-tone-2 :root c4 :shift t) '(c3 d3 e3 f3)) => (c3 eb3 g3 gs3) I think the function you are looking for is: (integer-to-pitch '(0 1 3 4 7 8 10 11 14 17 18 21)) => (c4 cs4 eb4 e4 g4 gs4 bb4 b4 d5 f5 fs5 a5) (harmonic-path '(c4 cs4 eb4 e4 g4 gs4 bb4 b4 d5 f5 fs5 a5) '(c3 d3 e3 f3)) => (c3 cs3 eb3 e3) Quote Link to comment Share on other sites More sharing options...
RST Posted June 22, 2016 Author Share Posted June 22, 2016 Brilliant! Thank you! Quote Link to comment Share on other sites More sharing options...
RST Posted June 23, 2016 Author Share Posted June 23, 2016 Finally, part of a solution. This tonality mapping copies the target 2-octave 12-tone collection. The important flag seems to be :fixed t, in this application. (setf nums '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21)) (setf orig (integer-to-pitch nums)) (setf map '(0 1 3 4 7 8 10 11 17 18 21)) (setf mapping (integer-to-pitch map)) (create-tonality 12T2 '(0 1 3 4 7 8 10 11 17 18 21)) (remove-duplicates (tonality-map '(12T2 :root c3 :fixed t) (integer-to-pitch nums))) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.