SwampFlux / tri-plus-ger

Alternative firmware for Qu-Bit Tri-ger
GNU General Public License v3.0
3 stars 0 forks source link

Quantizing Grid #3

Closed wraybowling closed 4 years ago

wraybowling commented 4 years ago

Instead of throwing out the slop completely, I'd like to meet qu-bit somewhere in-between completely sloppy beats and perfectly quantized beats. I think that the clock division input will be a good way of doing this. Internally, my plan is to create many beat grids with ever finer divisions. As you record, beats will be added to every layer which will result in finer detailed layers keeping slop and less detailed layers sounding time-quantized. This method will likely also greatly increase the quality of recorded slop since the memory grid can be scaled to match the incoming clock signals.

wraybowling commented 4 years ago

It seems that the most speed efficient way to handle this, especially with early beats, is to just use a big array of booleans. 24ppqn * 16 = 384. Depending on the quantizing setting, those beats may be summed up at different multiples of 2 (2, 4, 8, 16) or 3 (12, 24). There's no other way to slice up 12. An array will also allow subtracting from the index to look backwards for early beats. I think maybe 25% of quantized window should be early or 6 of the 24 pulses. This won't be configurable via the front panel controls, but perhaps could be adjusted in the source code as a compiler variable.

wraybowling commented 4 years ago

I think this has a solid solution that also includes the weight feature. Now effort then moved to optimization. See issue #7 which details the RAM limitations.