I’ve always found the Scale and Tuning classes weird as hell and I just roll my own scale logic for every piece. Here’s how to do it.
Here’s a simple EDO:
var edo, degreeToFreq;
degreeToFreq = { |n|
reference * (2 ** (n / edo))
};
Here, reference
is the frequency in Hz of the note that you get when n is 0. Really this isn’t a “degree” but rather a pitch index analogous to MIDI note numbers.
Here’s a scale:
var scale, edo, degreeToFreq;
scale = [0, 2, 4, 5, 7, 9, 11];
degreeToFreq = { |n|
reference * (2 ** ((scale.wrapAt(n) / edo) + floor(n / scale.size)))
};
If you want an equal tuning that’s not at the octave, replace 2 with whatever the period is. Dunno why anyone thinks Bohlen-Pierce sounds good, but it’s not my place to judge.
Not using equal temperaments? Here’s a scale with JI ratios:
var scale, degreeToFreq;
scale = [1, 9 / 8, 5 / 4, 4 / 3, 3 / 2, 13 / 8, 9 / 4];
degreeToFreq = { |n|
432 * scale.wrapAt(n) * (2 ** floor(n / scale.size))
};
Chakras aligned, baby! Behold the power of binaural Ayurvedic quantum mindfulness!
If you use Scale or Tuning and you’re making great music, then you do you! If you use Scale or Tuning and you will ardently defend all their design decisions in the replies, then please leave me alone!