ohmtech-rdi / eurorack-blocks

Software to Hardware Prototyping for Eurorack using C++, Max/Gen~ or Faust
Other
303 stars 21 forks source link

Fix kivu12 gates #486

Closed ohmtech-rdi closed 1 year ago

ohmtech-rdi commented 1 year ago

This PR fixes a kivu12 board problem where some short triggers for GateIn inputs could be missed, if the trigger itself was shorter than 8ms.

This was because we were using a multiplexer, and reading a new value each buffer, so when the buffer is 48 sample and the audio rate is 48014Hz, each new value would be read every 1ms. Since there are 8 parallel values on the multiplexer, rotating would take a full 8ms.

Now we are using a shift register, which takes all values simultaneously on every buffer, so 1ms for 48 samples @48kHz.

One should note that increasing the buffer size will potentially bring this problem again, but at least the buffer size can now be 8 times shorter compared to the previous method.