I agree that a ratio is preferable, but it would have to be implemented from the ground up just for people who want to compose just intonation, and we’re few there are also people composing in, e.g. Other DAWs allow this via MPE, check out ROLI’s Seaboard and Bitwig for example. If you want seamless pitch you could use a CV value and a modular synth, perhaps. A 32bit integer for notes perhaps (a ratio is much preferable over floating point). Perhaps the upcoming MIDI 2.0 standard will help.
does not include this in their specification that vendors for both hardware and software use. I believe the only reason no one is asking for it is because they haven’t tried it yet. There is very little music software out there that allows complete per-note tuning freedom. This is functionality that no other DAW has. Just thought I’d put this out there in case someone who is more familiar finds it interesting.
I have begun to browse through some of the code, but it will take me a while. The only reason I’m suggesting this is because I think it would be fairly simple code-wise. Of course, the same would need to be done / could just as easily be done for plugins. Most DAWs already have this option, to snap or not to snap, for rhythm, but not for pitch. But, for other programs, even Ardour’s piano roll could do it - It would just need a hotkey or option to turn off snap-to-grid for pitch. I have my own program that needs unlimited pitch precision, and I would love to use this as the means. You could play 100 pitches at the same time, all within 1 cent of each other.
There would be practically no limit to the number of possible pitches. Then, programs that used integer note numbers could continue exactly the same, but others could have the option of sending floats and doubles for pitch information. In C++, that could coexist alongside the original limited byte/int version. But, in C++, every single function that treats MIDI note numbers could simply be copied and pasted, then the words “byte” or “int” replaced with “double” in the copy.
You wouldn’t have to change the code that calculates pitch. The reasons I think floating-point note numbers would be a good solution: scl files, which means you can set up 128 exact pitches for the duration of a piece (in Harry Partch’s famous 43-tone octave, which he insisted was not exhaustive, you could play ALMOST 3 octaves with 128 notes). Yes, we have pitch bend, which means you can use 1 note per channel. Today, 64-bit audio samples are standard… and 7-bit pitch information! I have been complaining for more than a decade of the lack of support for precise tuning in audio software.