Hi guys,

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);
```

Now, evaluating `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?