USB Midi

From ZENotes
(Difference between revisions)
Jump to: navigation, search
 
(49 intermediate revisions by one user not shown)
Line 1: Line 1:
 
===USB-Midi Software===
 
===USB-Midi Software===
 +
 +
Note :  (to work without gdm) :  '''nmtui''' is the terminal wireless manager
 +
          Install the alsa-utils package.
  
 
Links:
 
Links:
Line 5: Line 8:
 
  https://bugs.archlinux.org/task/44286
 
  https://bugs.archlinux.org/task/44286
  
 
+
*If needed, insert module manually, [https://bugs.archlinux.org/task/44286 only since the 3.19 kernels and following]:  
*Insert module manually, only since the 3.19 kernels and following:  
+
 
   # modprobe snd_seq_midi
 
   # modprobe snd_seq_midi
 
  
 
*Check loaded USB Midi module:
 
*Check loaded USB Midi module:
   # lsmod | grep usb
+
   # lsmod | grep snd_seq_midi
 
+
  
 
*Check your hardware, for presence:
 
*Check your hardware, for presence:
Line 18: Line 18:
 
   $ amidi -l
 
   $ amidi -l
 
   $ aconnect -i or aconnect lio  
 
   $ aconnect -i or aconnect lio  
 
  
 
*Check your hardware, for actual input:
 
*Check your hardware, for actual input:
   aseqdump -p ##
+
   $ aseqdump -p ##
 
(where you should replace ## with the client number of your keyboard from aconnect -i)
 
(where you should replace ## with the client number of your keyboard from aconnect -i)
  
 +
 +
IF you're not already on Pipewire, but still on Jack: (but you should be on pipewire)
  
 
*Create connection in patchage:
 
*Create connection in patchage:
 
   $ a2jmidid -e
 
   $ a2jmidid -e
 
(After starting jack)
 
(After starting jack)
 +
  
 
===USB-Midi Hardware===
 
===USB-Midi Hardware===
  
The Ubiquitous Korg:
+
The Ubiquitous '''Korg''':
 
  http://www.korg.com/us/products/controllers/nanokontrol2/
 
  http://www.korg.com/us/products/controllers/nanokontrol2/
 
   
 
   
Line 38: Line 40:
  
  
The Hungarian Pedal:
+
The new '''MIDImix''' from Akai works great !
 +
 
 +
The setup software works with wine.
 +
 
 +
 
 +
The '''Hungarian Pedal''':
 
  http://www.ebay.fr/usr/guitar.fun.stuff?_trksid=p2047675.l2559
 
  http://www.ebay.fr/usr/guitar.fun.stuff?_trksid=p2047675.l2559
  
*is on the Linux-USB list of vendor IDs
+
is on the Linux-USB list of vendor IDs
 
  http://www.linux-usb.org/usb.ids
 
  http://www.linux-usb.org/usb.ids
 
as:
 
as:
Line 79: Line 86:
 
List of Linux-recognized VIP/PIDs: http://www.linux-usb.org/usb.ids
 
List of Linux-recognized VIP/PIDs: http://www.linux-usb.org/usb.ids
  
 +
===The Full Monty: [http://www.ebay.fr/itm/4-Button-USB-MIDI-Footswitch-MIDI-Foot-Controller-with-external-pedal-input-/321767764327?pt=LH_DefaultDomain_0&hash=item4aeada7167 HungarianPedal] + [http://idjc.sourceforge.net/ IDJC] + [http://www.getdlight.com/ D::Light]/[http://le-chat-noir-numerique.fr/ Whitecat]===
  
===The Full Monty: HugarianPedal + IDJC + D::Light===
+
AKA '''Show Control with USB MIDI Footswitch''' MIDI Foot Controller with external pedal input '''-> Sound output AND light cues'''. With ''ONE'' foot
 +
 
 +
WILL NEED ALSO: [http://home.gna.org/a2jmidid/README a2jmidid] [http://manpages.ubuntu.com/manpages/trusty/fr/man1/qmidiroute.1.html qmidiroute] and [http://drobilla.net/software/patchage/ Patchage]
  
 
0. Set your pedal's keys to Note/Momentary as described above.
 
0. Set your pedal's keys to Note/Momentary as described above.
  
1. Create connection in patchage:
+
1. We'll need the a2jmidi daemon to Create IDJC midi connection in patchage; it will only load if Jack is already running,
 +
 
 +
the easiest is to start jack, by, i.e.... Starting idjc! Then, do:
 +
 
 
   $ a2jmidid -e
 
   $ a2jmidid -e
(After starting jack, by, i.e., starting idjc already. It doesn't matter, you'll just restart it later. This is needed to provide midi input to IDJC)
 
  
2. Start qmidiroute and either create the inputs/outputs pairs needed like this, or load them if you already did it:
+
2. Now start qmidiroute, and create the inputs/outputs pairs needed like this (or load them if you already did):
(This is to "speak" a language D::Light understand, since it doesn't do Go on CC, and receive all 4 PC from the pedal as the same event)
+
  
 +
''This is to "speak" a language D::Light understand, since it doesn't do Go on ControlChanges, and receive all 4 ProgramChanges from the pedal as the same event''
 +
 +
Hit the "Add New MIDI Route" yellow button on top to create a new tab;
 +
 
  Set input to        "controller"
 
  Set input to        "controller"
 
  Set Channel to        1 / 16
 
  Set Channel to        1 / 16
 
  Set Controller to    0 / 96    (that is the value of the first button)
 
  Set Controller to    0 / 96    (that is the value of the first button)
  Leave value to        0 / 127   
+
  Leave Value to        0 / 127   
 
   
 
   
  Set output to        "Note"  
+
  Set Output to        "Note"  
  Set Channel Offset to 0
+
  Set Channel Offset to 0         (Change this only if you have multiple devices to which you cannot set the channel manually)
  Set Note Offset to    0
+
  Set Note Offset to    0         (This way, the former CC signal is transformed into a Note signal, but still is patched to 96)
 
  Set Velocity at      0 / 127
 
  Set Velocity at      0 / 127
 
  Leave ALSA port to 1  
 
  Leave ALSA port to 1  
Line 104: Line 119:
 
  Hit "Duplicate" and do the same with Controller to "97"
 
  Hit "Duplicate" and do the same with Controller to "97"
 
   
 
   
  Save your map!
+
  '''Save your map!'''
 +
 
 +
 
 +
3. Go back to Patchage, after successful launch of the a2jmidid -e daemon, and with qmidiroute running, do:
 +
 
 +
hit Ctrl-G to re-arrange the view, and now connect the following:
 +
 
 +
From the the a2j Output box (Left one): The RED output labelled: "'''USB Midi controller[XX](capture): USB Midi Controller MIDI 1'''"
 +
 +
'''Goes to ''BOTH''''':
 +
in the idjc input box (right one)
 +
* RED '''midi_control'''                      (You may have to '''re-launch IDJC''' if the red midi_control input is absent)
 +
in the a2j input box (right one)
 +
* RED '''qmidiroute[XXX](playback): in'''
 +
 
 +
4. Configure D::Light
 +
 
 +
In D::Light / Setup, refresh the Midi section with the blue arrows and select "Out1"
 +
In D::Light / Midi, you should see the output when you hit button 1 or 2 of the pedal; assign them as you wish.
 +
 
 +
5. Do the same with IDJC, assign keys 3 and 4 to your liking.
 +
 
 +
Note that the "HungarianPedal" has many versions with [http://www.ebay.fr/usr/guitar.fun.stuff?_trksid=p2047675.l2559 much more, or sturdier, buttons]
 +
 
 +
===The Full Monty: Start from Cold===
 +
 +
To get IDJC + Whitecat or D::Light running with cues triggered from external USB-MIDI hardware
  
In D::Light / Setup, refresh with the blue arrows the Midi section and select "Out1"
+
  Don't plug nothing.
In D::Light / Midi, you should see the output when you hit button 3 or 4 of the pedal; assign them as you wish.
+
  Start qjacjctl with scripts to ''modprobe snd_seq_midi'' before start, and to start the ''a2jmidid'' daemon with the ''-e'' option.
 +
  Start a terminal, check that snd_seq_midi is loaded with ''lsmod | grep snd_seq_midi'' and that a2jmidid and jack are running with ''ps -a | grep ...''
 +
  Start qmidiroute, load your needed preset translating CC into notes, and activate them. Note to Self: With the "activate" button, idiot.
 +
  Start IDJC
 +
  Plug hardware.
 +
  Back to qjackctl, built or re-call if saved previously the needed patch connections in the patchbay, from hardware to IDJC and qmidiroute in the Midi Tab
 +
  Start [[Whitecat]] / D::Light etc.
 +
 
 +
  You are now allowed to breathe again.

Latest revision as of 10:20, 27 May 2024

Contents

USB-Midi Software

Note :  (to work without gdm) :  nmtui is the terminal wireless manager
         Install the alsa-utils package. 

Links:

https://wiki.archlinux.org/index.php/USB_MIDI_keyboards
https://bugs.archlinux.org/task/44286
 # modprobe snd_seq_midi
 # lsmod | grep snd_seq_midi
 $ lsusb
 $ amidi -l
 $ aconnect -i or aconnect lio 
 $ aseqdump -p ##

(where you should replace ## with the client number of your keyboard from aconnect -i)


IF you're not already on Pipewire, but still on Jack: (but you should be on pipewire)

 $ a2jmidid -e

(After starting jack)


USB-Midi Hardware

The Ubiquitous Korg:

http://www.korg.com/us/products/controllers/nanokontrol2/

0944:0117 KORG, Inc. nanoKONTROL2 MIDI Controller

The Korg Setup software is an .exe, but works with wine


The new MIDImix from Akai works great !

The setup software works with wine.


The Hungarian Pedal:

http://www.ebay.fr/usr/guitar.fun.stuff?_trksid=p2047675.l2559

is on the Linux-USB list of vendor IDs

http://www.linux-usb.org/usb.ids

as:

05e4  Free shared USB VID/PID pair for MIDI devices

and returns here as it should as:

 ID 16c0:05e4 Van Ooijen Technische Informatica Free shared USB VID/PID pair for MIDI devices

The short manual on the ebay page reads as follows:

Plug and play, no driver or installation needed. Just plug it into a free USB slot and your OS will recognize it. 
Choose USB Midi device in your software settings and you're ready to go.

Two controller mode:
*   Mode 1: Changing whole presets. The controller sends program change messages. 
The LEDs indicates which preset is working.
*   Mode 2: To activate this mode, press buttons 2&3&4. To change back to mode 1, press buttons 1&2&3 
(All LEDs will blink for half a second to indicate this).

 In mode 2 the controller sends control change messages. It allows you turn functions/effects on and off individually. 
 The LEDs indicate their status.                    
 In mode 2, press a button for 10 seconds to switch to momentary mode. (All LEDs will blink for half a second to indicate this).
 It allows you to use non-on/off functions like 'previous/next preset', 'tape deck play' etc.
 The LEDs do not light up in momentary mode since it's unnecessary.

External pedal input. You can connect any standard pedal with a 6.3mm (¼ inch) stereo jack.  Using an “insert” or “Y-shaped” cable.

To use the full range of the pedal you may have to calibrate it.
Calibration:  Step 1:turn the pedal to minimum position and press button 1 AND button 3. 
              (All LEDs will blink for half a second to indicate this).
              Step 2:turn the pedal to maximum position and press button 1 AND button 4. 
              (All LEDs will blink for half a second to indicate this)
              The device will save the calibration data so you only have to do it once.


More on Vendor IDs: http://www.eevblog.com/forum/projects/usb-vendor-product-ids/

List of Linux-recognized VIP/PIDs: http://www.linux-usb.org/usb.ids

The Full Monty: HungarianPedal + IDJC + D::Light/Whitecat

AKA Show Control with USB MIDI Footswitch MIDI Foot Controller with external pedal input -> Sound output AND light cues. With ONE foot

WILL NEED ALSO: a2jmidid qmidiroute and Patchage

0. Set your pedal's keys to Note/Momentary as described above.

1. We'll need the a2jmidi daemon to Create IDJC midi connection in patchage; it will only load if Jack is already running,

the easiest is to start jack, by, i.e.... Starting idjc! Then, do:

 $ a2jmidid -e

2. Now start qmidiroute, and create the inputs/outputs pairs needed like this (or load them if you already did):

This is to "speak" a language D::Light understand, since it doesn't do Go on ControlChanges, and receive all 4 ProgramChanges from the pedal as the same event

Hit the "Add New MIDI Route" yellow button on top to create a new tab;

Set input to         "controller"
Set Channel to        1 / 16
Set Controller to     0 / 96    (that is the value of the first button)
Leave Value to        0 / 127  

Set Output to        "Note" 
Set Channel Offset to 0         (Change this only if you have multiple devices to which you cannot set the channel manually)
Set Note Offset to    0         (This way, the former CC signal is transformed into a Note signal, but still is patched to 96)
Set Velocity at       0 / 127
Leave ALSA port to 1 

Hit "Duplicate" and do the same with Controller to "97"

Save your map!


3. Go back to Patchage, after successful launch of the a2jmidid -e daemon, and with qmidiroute running, do:

hit Ctrl-G to re-arrange the view, and now connect the following:

From the the a2j Output box (Left one): The RED output labelled: "USB Midi controller[XX](capture): USB Midi Controller MIDI 1"

Goes to BOTH:
in the idjc input box (right one)
* RED midi_control                      (You may have to re-launch IDJC if the red midi_control input is absent)
in the a2j input box (right one)
* RED qmidiroute[XXX](playback): in

4. Configure D::Light

In D::Light / Setup, refresh the Midi section with the blue arrows and select "Out1"
In D::Light / Midi, you should see the output when you hit button 1 or 2 of the pedal; assign them as you wish.

5. Do the same with IDJC, assign keys 3 and 4 to your liking.

Note that the "HungarianPedal" has many versions with much more, or sturdier, buttons

The Full Monty: Start from Cold

To get IDJC + Whitecat or D::Light running with cues triggered from external USB-MIDI hardware

 Don't plug nothing.
 Start qjacjctl with scripts to modprobe snd_seq_midi before start, and to start the a2jmidid daemon with the -e option.
 Start a terminal, check that snd_seq_midi is loaded with lsmod | grep snd_seq_midi and that a2jmidid and jack are running with ps -a | grep ...
 Start qmidiroute, load your needed preset translating CC into notes, and activate them. Note to Self: With the "activate" button, idiot.
 Start IDJC
 Plug hardware.
 Back to qjackctl, built or re-call if saved previously the needed patch connections in the patchbay, from hardware to IDJC and qmidiroute in the Midi Tab
 Start Whitecat / D::Light etc.
 
 You are now allowed to breathe again.
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox