jack-keyboard is a virtual MIDI keyboard - a program that allows you to send JACK MIDI events (play ;-) using your PC keyboard. It's somewhat similar to vkeybd, except it uses JACK MIDI instead of ALSA, and the default keyboard mapping is much better - it uses the same layout as trackers (like Impulse Tracker) did, so you have two and half octaves under your fingers.
First, you need supported operating system. It was tested under GNU/Linux and FreeBSD, but should also work on OSX. If it doesn't work for you - let me know, I'll fix it.
Then, you need JACK with MIDI support (at least 0.103.0) and some softsynth that accepts JACK MIDI as input.
The project is hosted on SourceForge.
Current Version | (Enable JavaScript) |
Release Date | (Enable JavaScript) |
File Type | (Enable JavaScript) |
URL | (Enable JavaScript) |
emerge jack-keyboard
.audio/jack-keyboard
.sudo apt-get install jack-keyboard
.
Otherwise, you will probably have to build from source.
To build it, you need relatively new GTK+ (at least GTK 2.12) and JACK with MIDI support (at least jack-0.103.0).
SVN version of JACK is fine. JACK Keyboard uses LASH if you have it installed; it's not required,
but suggested.
After downloading jack-keyboard, unpack it (tar zxvf jack-keyboard-[version].tar.gz
),
go into the directory (cd jack-keyboard-[version]
) and build (make configure && make install
).
When you have all of the above installed: first, run jackd
. Then run your synthesizer of choice.
Then run jack-keyboard
. Press Insert
key to make it connect to the first
listening JACK MIDI port, in this case the already started synthesizer.
Press z
key. You should hear sound. If you don't, you're probably running a synth without JACK MIDI support. In that case, the best solution
is to either use -X seq
option to jackd
, or use a2jmidid, which works
as a "relay" between applications using legacy ALSA MIDI and applications
using JACK MIDI.
Consult the manual page (man jack-keyboard
) for further instructions.
Keyboard mapping is similar to the one used in Impulse Tracker:
Spacebar
is a sustain key. Holding it when pressing or releasing key
will make that key sustained, i.e. Note Off MIDI event won't be sent
after releasing the key. To release (stop) all the sustained notes,
press and release spacebar
.
Holding Shift
when pressing note will make it louder (it increases
velocity). Holding Ctrl
will do the opposite. You can change the
default velocity by moving the Velocity slider. You can change the
"high" and "low" velocity values by moving the slider while holding
Shift
or Ctrl
keys.
Pressing -
and +
keys on numeric keypad changes the octave your
keyboard is mapped to. Pressing *
and /
on numeric keypad changes
MIDI program (instrument). Pressing Insert
or Delete
keys will connect
jack-keyboard to the next/previous MIDI input port (it will cycle
between running instances of ghostess, for example). Home
and End
keys
change the MIDI channel. Page Up
and Page Down
keys switch the MIDI
bank.
Esc
works as a panic key - when you press it, all sounds stop.
To switch directly to a channel, bank or program, enter its number on
the numeric keypad (it won't be shown in any way) and press Home or End
(to change channel), Page Up or Page Down (to change bank) or /
or
*
(to change program). For example, to change to program number 123,
type, on the numeric keypad, 123/
.
Type man jack-keyboard
in a terminal.
(Enable JavaScript)
JACK Keyboard is under 2-clause BSD license. Basically, it means you can use the code freely in both Open Source (including GPLed) and closed source software.
jack-keyboard is brought to you by:
Edward Tomasz Napierala <trasz@FreeBSD.org>
Hans Petter Selasky <hps@selasky.org>
Markus Schmidt <schmidt@boomshop.net>
If you have any questions, comments, suggestions, patches or anything, please let us know:
Hans Petter Selasky <hps@selasky.org>