RIP
This is a follow up of a conversation we were having in https://pianoclack.com/forum/d/289-scanning-speed-and-velocity-mapping-of-cybrid/103 (and many other posts in that thread).
I captured my hammer movements with ADC, and produced velocities with both a comparator approach and a Sav-Gol filter. For comparator approach, I simply mean: timing how long the hammer takes to pass between two arbitrary (but carefully chosen) points. The filter, instead, simply use the savgol coefficients to estimate the velocity at the same place as the second point of the comparator approach:
Here are the results
Quite different, aren't they? Let's look at the ADC data:
Ok, not enough resolution to discern, even if some clues appear. Let's zoom in the first note:
And the second:
Quite different. So it makes sense to see that difference in overall velocity. Now, with this data, it seems to me that the comparator approach is better (and I hate to say, because I like the Sav-Gol filter better from a theoretical point of view).
@JayKominek do you have enough captured data to provide what it looks like with a better ADC capture hardware (even if at lower frequency)?
Both the code and data of these plots is publicly available at https://github.com/davidedelvento/Mybrid/tree/main/data/RPiPico%2BEAITRCA6
The ADC data plots have been generated with (and manual zooming):
./parse.py -p -12 hires/p_to_f.12bit.1chan.bz2
The fake-MIDI velocities have been generated with (and manual zooming):
./parse.py -m -12 hires/p_to_f.12bit.1chan.bz2
The notes which are first and second in this plot are the third and fourth overall for that capture. The problem becomes even worse for some other notes, for which the local noise make the velocity appear with the reverse sign!













