USB Midi

From ZENotes
(Difference between revisions)
Jump to: navigation, search
(USB-Midi Hardware)
 
(51 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 78: Line 85:
  
 
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]===
 +
 +
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.
 +
 +
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 [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
 +
 +
  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.

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