Note Names / Pitch Classes

I would like to say something related to the topic of this thread with a slightly broader and extended perspective. It would involve some radical changes, but I am sure that this change is beneficial to make SuperCollider more accessible to newcomers and also more intuitive for existing users.

Since this summer I have been trying to get musicXML out of SuperCollider. It should of course be accompanied by the concepts of music-score-similar representation in sclang, interval, pitch and so on. However, I found some conflicts with the following existing classes in SuperCollider:

  • Score
  • Interval
  • Pitch

I had no problems with these classes before I tried to implement musicXML export from the score-like representation in SuperCollider, but now it becomes a problem.

As a teacher, I should also consider that SC newbies expect an equivalent functionality to score in SuperCollider.

So it would be nice if Score could be renamed to ScoreOSC, because then ScoreSheet or ScoreMusic could be implemented as equivalent functionality as a score for musicians.

The same concept can be applied to other class names:

Interval could be renamed to IntervalInteger or IntegerRange, because then IntervalPitch may be introduced as the equivalent of interval in music theory.

If Pitch is renamed to PitchFollower, then PitchAbs and PitchRel could be provided in conjunction with PitchClassSet. The names PitchAbs and PitchRel are the slightly varied names of the classes which suggested @semiquaver.

In Quarks, there is a Note class which represents notes in ABC notation, and a PitchClass class which performs some specific functionality internally in CTK Quarks. When adding the concepts and functionalities mentioned in this post as Quarks, there may be some duplication or inconsistencies with the Note and PitchClass classes. Actually, my PitchClassSet is renamed from PitchClass to avoid such problems. This is why I think such things should be centrally organised. At the moment I am working with the class name Notator, but it would be ideal if the developers could think together and come to an agreement.