[linux-audio-user] New Virtual Keyboard Proposition

From: Carlo Capocasa <capocasa@email-addr-hidden>
Date: Wed Oct 05 2005 - 12:08:11 EEST

Hi there!

I've been using the Virtual Keyboard quite often and it's great, a
regular computer keyboard can be a great two-octave non-dynamic
keyboard. I don't see why it couldn't be used in concert settings,
especially for electronic/synth-samples based music.

The currently available Virtual Keyboard does have its issues though:

* No more than about three notes can be played at once
* Sometimes it works anyway, and precision goes down the drain; varying
  latencies up to a couple milliseconds result (To be fair this could be
also be ZynAddSubFX's fault)
* Usability: No way of saving the status of the various toolbars
* Usability: Changing the Window with the mouse takes away the keyboard
focus; this is WAY too risky to do on stage (Well it could be done but
it WOULD be risky... Like performing a Hard Rock concert head banging
seated on a chair suspended on fine china)
* Not usable without X-Window
* No Low-Level keyboard access; hence difficulty with various key layouts
* Cumbersome TCL/TK customization

Here is my proposition for a Virtual Keyboard that can turn any computer
keyboard that is halfway precise into a fully functional Musical keyboard.

1. Terminal based version (Priority 1)
2. Lightweight but pretty (compare XFCE) GUI version (Priority 2)
2. Must operate on low-level keyboard access due to international
keyboards and precision (Priority 1)
3. As close as possible to hard real time in dispatching MIDI events
(Priority 1)
4. Keep keyboard focus at all times, even when switching windows or
consoles (Priority 1)
5. Must be based on a compiled language or even assembly, it's got to be
VERY precise and VERY fast! (Priority 1)
6. Uses ALSA sequencer (Priority 1).
8. MIDI Controllers with 'analogue' values could be controlled by mouse;
two mouse axis equals to ranges of controllers to control at once; Mouse
buttons can be used to switch controllers: No button pressed= MIDI
Controllers 5 and 7, left button pressed=MIDI Controllers 29 and 7, both
buttons pressed=MIDI controllers 78 and 43, etc. This must be
configurable. Two mouse axis offer same functionality as hardware MIDI
controller knobs (to hands to turn controllers at the same time).
(Priority 2)
9. Configuration: Two categories of configuration options. 'Performance
relevant' and 'not performance relevant'. Performence relevant controls
must be accessible by keyboard and mouse input at once (remember, mouse
is mapped to controllers, so no pointing and clicking). A good way to do
this would be the F1-F12 keys. Press for toggle and Press+mouse for
analogue input/scroll. Not performance relevant options are configured
in a dialogue, which is saved to an XML file, which can also be edited
by hand. (Priority 2)
10. No drop-down menus, ever. (Priority 1)
11. GUI Version occupies very little screen space (perhaps even an XMMS
style MINI-Version) (Priority 2)
12. GUI Version skinnable (Priority 3)

Wow... This would be so cool.

Carlo
Received on Wed Oct 5 16:15:05 2005

This archive was generated by hypermail 2.1.8 : Wed Oct 05 2005 - 16:15:05 EEST