Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help

       jack-keyboard - A virtual keyboard for JACK MIDI

       jack-keyboard [ -C ] [ -G ] [ -K	] [ -T ] [ -V ]	[ -a input port	] [ -k
       ] [ -r rate ] [ -t ] [ -u ] [ -c	channel	] [ -b bank ] [	-p program ] [
       -l layout ]

       -C     Enable "keyboard cue" - two horizontal lines over	a part of key-
	      board; keys under	the lower line are mapped to the lower row  of
	      your  PC	keyboard;  keys	under the upper	line are mapped	to the
	      upper row.

       -G     Disable GUI.  It makes jack-keyboard look	 like  it  did	before
	      version 2.0.

       -K     Grab  the	 keyboard.   This makes	jack-keyboard receive keyboard
	      events even when it does not have	focus.	In  other  words,  you
	      can play while mousing in	a different window.

	      Note:  It's  not reliable	yet.  It does not work when some other
	      application keeps	the keyboard grabbed.  It does not  work  with
	      GNOME.  Even when	it seems to work, some keyboard	events may get

       -T     Toggle titlebar, on which	 channel/bank/program  information  is
	      shown.   With  -G	option,	it disables titlebar; otherwise	it en-
	      ables it.

       -V     Print version number to standard output and exit.

       -a input	port
	      Automatically connect to the named input port.  Note  that  this
	      may cause	problems with LASH.

       -k     Allow  connecting	 to  other instances of	jack-keyboard (see PI-
	      ANOLA MODE below).   Without  this  option,  jack-keyboard  will
	      refuse to	connect	to any JACK client whose name starts in	"jack-
	      keyboard"; this is to prevent loops.  Note that it's  impossible
	      to  connect  instance of jack-keyboard to	itself,	even with this
	      option set.

       -r rate
	      Set rate limit to	rate, in Kbaud.	 Limit	defined	 by  the  MIDI
	      specification is 31.25.  By default this parameter is zero, that
	      is, rate limiting	is disabled.

       -t     Send all MIDI messages with zero time offset, making  them  play
	      as  soon as they reach the synth.	 This was the default behavior
	      before version 1.6.

       -u     By default, jack-keyboard	does not send program/bank change mes-
	      sages  after reconnecting, so the	newly connected	instrument re-
	      mains at previous	settings.  This	option changes that behaviour.

       -c channel
	      Set initial MIDI channel to channel; by default it's 1.

       -b bank
	      Set initial MIDI bank to bank.  With this	option,	 jack-keyboard
	      will send	the bank/program change	once, when it connects.

       -p program
	      Set  initial  MIDI  program to program.  With this option, jack-
	      keyboard will send the bank/program change once,	when  it  con-

       -l layout
	      Specify the layout of computer keyboard being used.  Valid argu-
	      ments are	QWERTY,	QWERTZ,	AZERTY,	and DVORAK.   Default  is  QW-

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

       Keyboard	mapping	is the same as in Impulse Tracker.  This is  your  QW-
       ERTY keyboard:

		    +----+----+	   +----+----+----+    +----+----+
		    | 2	 | 3  |	   | 5	| 6  | 7  |    | 9  | 0	 |
		 | Q  |	W  | E	| R  | T  | Y  | U  | I	 | O  |	P  |
			| S  | D  |    | G  | H	 | J  |
		     | Z  | X  | C  | V	 | B  |	N  | M	|

       And this	is MIDI	mapping:

		    +----+----+	   +----+----+----+    +----+----+
		    |C#5 |D#5 |	   |F#5	|G#5 |A#5 |    |C#6 |D#6 |
		 | C5 |	D5 | E5	| F5 | G5 | A5 | B5 | C6 | D6 |	E6 |
			|C#4 |D#4 |    |F#4 |G#4 |A#4 |
		     | C4 | D4 | E4 | F4 | G4 |	A4 | B4	|

       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  ve-
       locity).	  Holding  Ctrl	 will do the opposite.	You can	change the de-
       fault 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 be-
       tween running instances of ghostess, for	example).  Home	and  End  keys
       change  the  MIDI  channel.  Page Up and	Page Down keys switch the MIDI

       Esc works as a panic key	- when you press it, all sound stops.

       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/", without quotes.

       When -G xor -T is given,	some informational messages in the  title  bar
       appear.	They  are  supposed  to	 be  self  explanatory.	  If  you  see
       "bank/program change not	sent", it means	that the bank/program  numbers
       as  seen	 in  the  title	 bar were not sent.  In	other words, synth the
       jack-keyboard is	connected to may use different values.	 This  happens
       at  startup  and	 after	switching  between synths (using Insert/Delete
       keys).  To send bank/program change at startup, use -b and  -p  parame-
       ters.   To  automatically send bank/program change after	reconnect, use
       the -u option.

       In addition to the MIDI output port, jack-keyboard also opens MIDI  in-
       put  (listening)	port.  MIDI events going into this port	will be	passed
       to the output port unmodified, except for channel number, which will be
       set  to	the  one jack-keyboard is configured to	use.  Note On and Note
       Off MIDI	events will cause visible effect (pressing and	releasing)  on
       keys, just like if they were being pressed using	keyboard or mouse.

       jack-keyboard  will never connect to it's own MIDI input	port.  It will
       also refuse to connect to any other client whose	name begins in	"jack-
       keyboard",  unless  the "-k" option is given.  It is, however, possible
       to connect these	ports manually,	using jack_connect or  qjackctl;  this
       may create feedback loop.

       jackd(1), ghostess(1), qjackctl(1)

       Key grabbing is unreliable.

       Many  PC	keyboards have problems	with polyphony.	 For example, with the
       one I'm using right now,	it's impossible	to press "c", "v" and  "b"  at
       the same	time.  It's a hardware problem,	not the	software one.

       The spin	widgets	used to	set channel/bank/program number	don't take fo-
       cus, so the value cannot	be entered into	them in	the usual  way.	  It's
       because jack-keyboard already uses numeric keys for different purposes.
       You can still directly enter channel/bank/program in  a	way  described

jack-keyboard 2.4		 20 April 2008		      JACK-KEYBOARD(1)


Want to link to this manual page? Use this URL:

home | help