jack-keyboard

What is jack-keyboard?

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.

What do I need to use it?

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.

Download

The project is hosted on SourceForge.

Current Version(Enable JavaScript)
Release Date(Enable JavaScript)
File Type(Enable JavaScript)
URL(Enable JavaScript)

» Download «

Installing

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).

How to use it?

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/.

Manual

Type man jack-keyboard in a terminal.

(Enable JavaScript)

ChangeLog

(Enable JavaScript)

License

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.

Contact

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>