[sdiy] MIDI velocity
Tom Wiltshire
tom at electricdruid.net
Sun Apr 10 16:52:51 CEST 2016
Did you do the keyscanner as a separate processor then, Paul? Doesn't that re-introduce latency when you have to communicate with the main uP?
Thanks,
Tom
On 10 Apr 2016, at 10:23, P Maddox <yo at VacoLoco.net> wrote:
> for 002/001/008 we read all the switches, we never stop reading them for anything (that'd be suicide for latency).
> when the first switch is made a timer is reset, when the second switch (of the same key) is made the timer is stopped.
> It's important to note there is a timer for each key, not just one, this timer is incremented at a regular interval.
> This timer value is passed through a look up table and sent as a note on with the velocity.
>
> The lookup table allows us to 'tailor' the feel of the response so we can get a good feel, believe it or not a straight linear response is horrible to play expressively.
>
> I can't remember the timing off by hand, but if you do it too slow you loose resolution, do it too quick and your wasting time because you only need 7 bits of resolution.
>
> our keyscanner also reads the aftertouch, that also has a lookup table as the response from the FSR is just horrible!
>
>
>
>
>
>
> On 9 April 2016 at 23:08, <rsdio at audiobanshee.com> wrote:
>
> On Apr 6, 2016, at 4:20 PM, Hugh Blemings <hugh at blemings.org> wrote:
> > OnSo I did a bit of poking at a KX-76 a little while back and wrote about it here http://hugh.blemings.id.au/2015/09/26/keyboard-tinkering/
> >
> > It uses the main MCU for scanning, about 1kHz update rate and appeared to adopt the stop scanning until key closure detected approach discussed elsewhere in the thread.
>
> I've been thinking about this every since it was discussed, and I don't see how it would work for a polyphonic keyboard scanner.
>
> One the one hand, if all you need is monophonic operation, then there's no drawback to stopping the scanning as soon as any key starts. That would simply be first-note priority. You wouldn't be able to implement last-note priority, though.
>
> The problem with stopping the scanning is this: How do you know that another key won't trip its first switch contact while you have the scanning stopped to measure the timing from the earlier key press?
>
> Having looked at the JU-1, where the whole key matrix is scanned on each 4 ms timer event, I can see how it might appear that the scanning is stopping and starting, but I'd like to see more details from any synth design where someone believes that velocity sensing is actually implemented by stopping the scan every time a new note is detected.
>
> Thanks for the writeup. Fairly interesting. If you have any more timing measurements in your notes, it might be worth a followup with more details.
>
> Brian Willoughby
> Sound Consulting
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
More information about the Synth-diy
mailing list