I've made great progress on microtonality. The results are very satisfying, as is the ergonomics. I don't use the sequencer encoders to modify intervals—it turned out to be a bad idea. After testing, it's not practical at all because many microtonal scales, once mapped to the keyboard, don't use all the semitones. This makes the relationship between the encoder position and the interval being modified very unintuitive.
Instead, I opted for a solution with a mapped keyboard representation on the screen: you select the key to modify or play it on the keyboard and adjust its interval (in cents or fractions) using one or two encoders. It's much more practical this way! :)
Microtonality is channel-specific information. So, it's possible to work with 4 different microtonalities simultaneously in MONO or MIDI mode.
The biggest challenge was ensuring coherence between the analog and digital parts: keeping an instrument "well-tuned" between the digital and analog domains was no easy task. But the result lives up to expectations: the analog part shows nearly the same precision as the digital one.
For now, I'm offering classic mappings from 2 to 36 intervals on the keyboard, with or without filling (to avoid silent notes). I can also add any other mappings you suggest into the code.
Phew! :)
Yes! I love it!
If you want to create specific mappings, an Excel template is bellow.
Template Microtonal Mapping The Pool (https://www.baloran.com/ThePool/MICROTONAL%20MAPPING%20FOR%20THE%20POOL.xlsx)
In a Scala file, the first interval listed corresponds to number 2, because 1 is reserved for the reference note. For a Scala file with 7 intervals, number 8 will correspond to the start of the next mapping.
So, if I take the following SCALA file with 4 intervals in fractions:
9/8
9/7
4/3
2/1
It will be mapped to one octave since it has fewer than 13 intervals.
Thus, I can do:
C C# D D# E F F# G G# A A# B C
1 0 2 0 3 3 0 4 0 4 0 0 5
C = REF, D = REF*9/8, E & F =REF*9/7, G & A = REF*4/3, and C=REF*2/1 and new REF, etc.
Sorry, in French ... You can select subtitles with translation ;)