Information, sales and support: JackSwitch@srlevitt.co.uk

What is JackSwitch?

Jackswitch acts as a MIDI input device to translate switch presses into MIDI note messages. Connected to the PC via a micro USB plug, JackSwitch has twelve 3.5mm jack sockets to accept standard accessibility switches. When JackSwitch detects a switch has closed, it sends a “note on” message to the PC. When the switch is released, a “note off” message is sent. The channel, pitch and velocity of the message corresponding to each of the switches may be configured by sending MIDI Control Change messages to JackSwitch.



Windows Installation

All you need to do is simply plug the supplied USB lead into the JackSwitch box and your PC. The first time you connect it, Windows 7,8 & 10 should automatically detect the new device, and install the appropriate driver. If, for some reason, Windows cannot find the correct driver, you can download it using the link below:
JackSwitch drivers

Switch Configuration

As a switch is pressed, a “note on” message is sent. A “note off” message is sent as the switch is released. Each switch has the following configuration: The “minimum on period” and “retrigger” settings may be used to reduce the effect of “jittery” switches. The default settings are:

Switch Number Channel Note Pitch
(Decimal)
Pitch
(Hex)
Velocity On period Retrigger period
1 0 C3 60 3C 64 0 0
2 0 D3 62 3E 64 0 0
3 0 E3 64 40 64 0 0
4 0 F3 65 41 64 0 0
5 0 G3 67 43 64 0 0
6 0 A3 69 45 64 0 0
7 0 B3 71 47 64 0 0
8 0 C4 72 48 64 0 0
9 0 D4 74 4A 64 0 0
10 0 E4 76 4C 64 0 0
11 0 F4 77 4D 64 0 0
12 0 G4 79 4F 64 0 0

The settings for each switch may be altered by sending a “control change” message to JackSwitch. In the following tables, “N” denotes a switch number. As per standard MIDI notation, switch 1 is numbered zero, switch 2 is number 1 etc. Using switch 16 (number 15) will set all switches.

Reset to defaults

Set one or all switch back to their factory default values.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 102 66 Reset to default
data2 Not used

Channel number

Set MIDI channel numbers for one or all switches.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 103 67 Set channel number
data2 [chan] [chan] Channel number

Pitch

Set the pitch for one or all switches.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 104 68 Set pitch. If switch number is 0, then switch1 is set to P, switch 2 set to P+1 etc.
data2 [pitch] [pitch] Pitch

Velocity

Set the velocity for one or all switches.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 105 69 Set velocity
data2 [vel] [vel] Velocity

Minimum on period

Set the minimum on period for one or all switches. This guarantees a minimum time between the "note on" and "note off" messages being sent.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 106 6A Set minimum on period
data2 [period] [period] Period in 10 * milliseconds (e.g. 100 means 1 second)

Set retrigger period

Set the minimum retrigger period for one or all switches. This guarantees a minimum time between subsequent "note on" messages being sent.
Byte Value
(decimal)
Value
(Hex)
status 176 + N B0 + N N=switch number 0..11 (or 15 for all)
data1 107 6B Set retrigger period
data2 [period] [period] Period in 10 * milliseconds (e.g. 100 means 1 second)