[sdiy] MIDI velocity
Richie Burnett
rburnett at richieburnett.co.uk
Thu Apr 14 01:39:37 CEST 2016
Very interesting. Many thanks for sharing this!
-Richie,
-----Original Message-----
From: Neil Johnson
Sent: Wednesday, April 13, 2016 8:20 PM
To: synth-diy
Subject: Re: [sdiy] MIDI velocity
I wrote:
> About 7 years ago when I was writing the keyboard scanning code for a
> Siel Opera 6 I had a simple scheme for scanning and measuring play and
> release velocity (not many folks seem to know about release velocity
> although some synthesizers do recognise it).
>
> Using an Atmel ATMega8 scanning the entire keyboard every 1ms I run
> 4-state state machine for each key, where the states are UP,
> GOINGDOWN, DOWN, GOINGUP, and an 8-bit counter for each key.
> Debouncing is handled by the algorithm rather than a separate
> debouncing step. With the right encoding of the states you can do
> most of the testing and state transitions using btiwise operations, 8
> keys at a time (on a 32-bit processor you could do 32 keys at a time).
>
> I'll try and dig out the code and sling it up on github sometime.
> It's all in C, no assembler required.
Found it, and hosted up on github:
https://github.com/nejohnson/kbdscan
The keyboard scanner talks to a 74LS154 on the keyboard assembly, and
generates key on and off events with associated velocities. There's
also code for reading some analogue inputs and a footswitch, but
that's not important right now.
Neil
--
http://www.njohnson.co.uk
_______________________________________________
Synth-diy mailing list
Synth-diy at dropmix.xs4all.nl
http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2016.0.7497 / Virus Database: 4545/12027 - Release Date: 04/13/16
More information about the Synth-diy
mailing list