rncbc / qtractor

Qtractor - An Audio/MIDI multi-track sequencer
https://qtractor.org
GNU General Public License v2.0
509 stars 88 forks source link

Feature Request: Customizable piano roll for microtonal scales #236

Open tm512 opened 4 years ago

tm512 commented 4 years ago

Many synth plugins that work with qtractor, such as ZynAddSubFX and amsynth, support loading arbitrary tunings. However, when using a tuning with more or less than 12 notes per octave, qtractor's piano roll doesn't correspond at all with the notes in that tuning, forcing the user to ignore the piano roll altogether, or to memorize the convoluted mapping between the 12-note piano roll and each unique tuning. Sevish, a popular microtonal artist, wrote a blog post that goes into some more detail about this issue.

It'd be great if qtractor's piano roll could be customized (ideally per-project) to support any number of notes in a scale, with the ability to set the name and color of each note, facilitating the exploration of arbitrary scales without having to work around the piano roll. It would set qtractor apart from every other free software DAW out there, and even from most non-free DAWs.

rncbc commented 4 years ago

hi, thanks for asking

as you might reckon from the project title, qtractor is a standard MIDI sequencer, and that is, was and will be its stance--no more no less.

now, MIDI has 128 notes to map with, true; and you won't ever get to say this note is one half, or a third or whatever, between the next... never. you have 128 and that's it. again, no more no less.

are you still following me?

the way the piano-roll is displayed just follows the, you guess it straight, after a piano keyboard, what else? but that doesn't mean you have to stick with equal-temperament scale or whatever: they are just key notes, numbered from 0 to 127 (128 in total), spanning over 10 octaves, again that only makes sense on the 12tone scale.

considering you're set to micro-tonal, and that you'll have to make it up at the sound generator side anyhow (synth, sampler, w/e), whether you like the standard piano keyboard layout--meaning by that the dang white and black keys--or not is just a red-herring here.

you may ask to draw for a different one that fits to your particular tuning, for which also I quite frankly can't figure out in any way conceivable... which design will fit you and/or everyone else? is there a standard here? i think there isn't none but yet some alternate keyboards which don't always match whatever you're after.

anyway

bottom line is: you have 128 slots to fit whatever your scale is: live with it; if you don't like, or you think it maybe misleading for you, then you might just opt to hide the piano keyboard altogether (and just because you can:))

hth. cheers

tm512 commented 4 years ago

The mapping between MIDI notes and pitches is all handled synth-side. You set the base note and pitch, and then the various scale degrees in cents or intervals. The synth then takes that scale and repeats it on both sides of the base note. Using more than 12 notes per scale does reduce the number of octaves available over the notes MIDI provides, but I know that's a limitation of MIDI itself and that qtractor can't do anything about it, it's not really the issue here.

Being stuck with the 12-tone piano roll, if I was using 22-tone equal temperament for example, the note an octave above C4 would appear to be Bb5, and an octave above that would appear to be Ab6, even though the notes would actually sound like C5 and C6 respectively. Likewise, for 13-tone equal temperament, the note an octave above C4 would appear to be Db5, then D6. A constant 12-note piano roll leads to a different misleading mapping depending on the number of notes the scale repeats at.

The piano roll provides a visual aid for the mapping of MIDI notes to pitches. If my request were implemented, the sequencer would still span MIDI notes 0-127, but the appearance of the piano roll could be configured on a per-project basis, so that it would still be a useful visual aid just like it is for 12-tone scales. Something like being able to specify how many notes the piano roll has, and being able to specify the name and color of each key, like the Reaper developers have implemented in their DAW, would be a huge step forward in improving ease of use for microtonal artists.