[sdiy] MIDI velocity
yo at vacoloco.net
Sun Apr 10 11:23:46 CEST 2016
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 synth-diy.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Synth-diy