I am trying to understand what the pitch_to_degree function should produce for a given scale. For example:
from scamp import *
from scamp_extensions.pitch import Scale
CScale = [60,62,64,65,67,69,71,72]
scale = Scale.major(60,True)
for note in range(8):
print("Degree {} Pitch {} ".format(note,scale.degree_to_pitch(note)))
for note in CScale:
print("pitch {} Degree {} ".format(note,scale.pitch_to_degree(note)))
Produces the following
Degree 0 Pitch 60.0
Degree 1 Pitch 62.0
Degree 2 Pitch 63.0
Degree 3 Pitch 65.0
Degree 4 Pitch 67.0
Degree 5 Pitch 69.0
Degree 6 Pitch 70.0
Degree 7 Pitch 72.0
pitch 60 Degree 0
pitch 62 Degree 1
pitch 64 Degree 2.5
pitch 65 Degree 3
pitch 67 Degree 4
pitch 69 Degree 5
pitch 71 Degree 6.5
pitch 72 Degree 7
I would have thought that 64 (the note E) was the third degree of the scale as indicated here, but Scamp is indicating that the third degree is 65 which is an (F).
Can someone explain how to interpret the output?