[LAU] GPIO to alsa

Will Godfrey willgodfrey at musically.me.uk
Sun Feb 28 19:53:38 UTC 2016


On Sun, 28 Feb 2016 20:27:34 +0100
Raphaël Mouneyres <rmouneyres at gmail.com> wrote:

> > Such a software would have to vary according to the keyboard model, the
> > available GPIO ports and the extra electronic components used (e.g.
> > shift registers or de-multiplexers).  
> 
> Most keyboards are arranged in a matrix fashion so they have about 16 wires for a 64 notes keyboard.
> this may already bee too much for a raspberry, so using a multiplexer is probably mandatory.
> 
> > A general purpose operating system like Linux is not best suited for
> > such an application, since the scanning rate should be in the
> > sub-millisecond range to get a good velocity resolution (assuming you
> > have a keyboard with two contacts per key).
> > 
> > A project that generally does what you want is midibox.  
> 
> Yes, i have built several midiboxes and also arduino alikes, so very familiar with this easy and efficient way to do midi thing.
> I mentioned I would like to avoid extra boards and use ressources existing on the cpu board.
> A few multiplexer chips are still easier/cheaper than any midiboard.
> 
> As you say, the sub-millisecond timing for the keyboard scanning is important, so if it is not doable in-the-box, even with some real-time kernel and associated module, i would certainly go with those solutions.
> 
> Raphaël

What speed does a standard USB keyboard encoder work at?
Can it's clock be sped up without upsetting the USBlink?

Although speed wasn't an issue for me, I once used an old keyboard for this (had
intermittent key contacts) and just wired a discrete switch matrix onto it, for
dedicated functions.

-- 
Will J Godfrey
http://www.musically.me.uk
Say you have a poem and I have a tune.
Exchange them and we can both have a poem, a tune, and a song.


More information about the Linux-audio-user mailing list