Provide a Continuous Scale as input. Pressed x-values "snap" to a next consonant ratio. The minimum consonance could be set in real time by a parameter (controlled e.g. by a foot pedal).
Difficulties:
MIDI messages would need pitch bend which only works with a channel hack.
This takes massive amounts of cpu power for every frame as less can be precalculated.
The snapping is more of an (iterative?) optimization function taking much time. Also simultaneously pressed keys would either need a sequentialization or a multidimensional optimization is tried.
Provide a Continuous Scale as input. Pressed x-values "snap" to a next consonant ratio. The minimum consonance could be set in real time by a parameter (controlled e.g. by a foot pedal).
Difficulties: