I’m trying to figure out some of the theory behind the SuperCollider pitch model in order to update my sampler to play in other-than-western tuning-systems.
At the moment I’m quite confused by the concept of steps-per-octave and, particularly, I’m not able to understand what’s the difference between it and pitches-per-octave.
Let’s say I want to model an equiheptatonic scale, so, proceeding step by step and from the general to the particular,
- I create an ET7 tuning first:
t = Tuning.et(7);
- then I use it as the tuning for my scale:
a = Scale.new([0,1,2,3,4,5,6], 7, tuning:t);
a.pitchesPerOctave I get 7 (which is ok to me, the tuning the scale is based on, contains, indeed, seven pitches) but, evaluating
a.stepsPerOctave, I get 12.0
I have read in some tutorials and help files (link, link) that, within Event Patterns, when dealing with equal temperaments other than ET12, the use of the key \stepsPerOctaves is recommended (precisely to specify, at least I think, values for steps per octave other than 12 in case it is needed).
I thought my scale fell right into this case, however, I find that evaluating the
stepsPerOctave method on the scale does not return 7 as I would have expected but 12. Why? What am I missing?