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

FreeBSD Manual Pages

  
 
  

home | help
JACK-KEYBOARD(1)						JACK-KEYBOARD(1)

NAME
     jack-keyboard - A virtual keyboard for JACK MIDI

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

OPTIONS
     -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 ap-
	    plication keeps the keyboard grabbed.  It does not work with  GNOME.
	    Even when it seems to work, some keyboard events may get lost.

     -T     Toggle titlebar, on which channel/bank/program information is shown.
	    With -G option, it disables titlebar; otherwise it enables 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  PIANOLA
	    MODE below).  Without this option, jack-keyboard will refuse to con-
	    nect  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 speci-
	    fication 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 messages
	    after reconnecting, so the newly  connected  instrument  remains  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-key-
	    board will send the bank/program change once, when it connects.

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

DESCRIPTION
     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 sim-
     ilar  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 fingers.

KEY BINDINGS
     Keyboard  mapping	is  the same as in Impulse Tracker.  This is your QWERTY
     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 re-
     leasing the key.  To release (stop) all the sustained notes, press and  re-
     lease spacebar.

     Holding  Shift  when pressing note will make it louder (it increases veloc-
     ity).  Holding Ctrl will do the opposite.	You can change the  default  ve-
     locity  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  key-
     board  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 run-
     ning 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 sound stops.

SETTING CHANNEL/BANK/PROGRAM NUMBER DIRECTLY
     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.

TITLEBAR
     When  -G  xor -T is given, some informational messages in the title bar ap-
     pear. 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 ti-
     tle  bar  were  not  sent.  In other words, synth the jack-keyboard is con-
     nected 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  parameters.	 To  automatically  send
     bank/program change after reconnect, use the -u option.

PIANOLA MODE
     In  addition  to  the MIDI output port, jack-keyboard also opens MIDI input
     (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.

SEE ALSO
     jackd(1), ghostess(1), qjackctl(1)

BUGS
     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  focus,
     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 above.

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=jack-keyboard&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help