As I found out recently, to my surprise, a scale degree behaves counterintuitive in patterns.
By adding +/- 0.1, you add/subtract a semitone.
What is the rationale for not making 0.5 the note that sounds exactly half-way 0 and 1 (which can be different depending on the scale, octave, tuning, ...)?
Because you can't assume that 2 will always be the largest number of chromatic divisions between scale degrees. For instance, in C harmonic minor, there's Ab (degree 5 in SC) and B-natural (degree 6). What would 5.5 be in this case?
It's really necessary to be able to distinguish between "up a chromatic unit" and "down a chromatic unit."
... although indeed it's less straightforward then to ask the system to raise something with a semitone. The convention of adding .1 still seems a bit random but if I understand correctly there are workarounds by first converting degrees to midi note numbers and then raising or lowering those with fractions to get the behavior I expected (I will have to try that out this evening).
1s // 1.1, up 1 chromatic degree from 1
1b // 0.9, down 1 chromatic degree from 1
1s150 // 1.15, up 1.50 chromatic degrees from 1
1b050 // 0.95, down 50 chromatic degrees from 1
Currently, these values are actually in absolute semitones, and so will
only be correct (in terms of chromatic degrees) for 12ET-based scales.
There is an active pull request that would update this for non-12ET and
What I'd intuitively expect is something microtonal in between Ab and B then:
Between Ab (5) and B (6) you have 3 semitones, so 5.5 would be halfway: 3/2=1.5 semitone above Ab, or
A quarter sharp.
But then, with this suggestion, to get chromatic semitones, you need to add a different fraction depending on the size of the scale interval... half step is +0.5 sometimes, +0.3333333 elsewhere. That complicates math on scale degrees.
This is one of those where, no matter how it's implemented, somebody isn't going to like it.
You might look at my ModalSpec (ddwCommon quark) -- it handles the notes in between scale degrees as you prefer. I'm still using ModalSpec in my work, but one side effect of this is that I don't use accidentals in my work very often, and I have to avoid gapped scales because a chromatic offset of 0.5 doesn't work everywhere. So, be careful what you wish for ;)