Bear with me.
I have been complaining for more than a decade of the lack of support for precise tuning in audio software. Today, 64-bit audio samples are standard… and 7-bit pitch information!
Yes, we have pitch bend, which means you can use 1 note per channel. Yes, we have .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).
The reasons I think floating-point note numbers would be a good solution:
-
You wouldn’t have to change the code that calculates pitch. It could still be 440*(2**((NN-69)/12), for example. 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. In C++, that could coexist alongside the original limited byte/int version. 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.
-
There would be practically no limit to the number of possible pitches. You could play 100 pitches at the same time, all within 1 cent of each other.
I have my own program that needs unlimited pitch precision, and I would love to use this as the means. 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. Most DAWs already have this option, to snap or not to snap, for rhythm, but not for pitch.
Of course, the same would need to be done / could just as easily be done for plugins.
The only reason I’m suggesting this is because I think it would be fairly simple code-wise. I have begun to browse through some of the code, but it will take me a while. Just thought I’d put this out there in case someone who is more familiar finds it interesting. This is functionality that no other DAW has. There is very little music software out there that allows complete per-note tuning freedom. I believe the only reason no one is asking for it is because they haven’t tried it yet.
-Chuckk