USB Midi
(→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]: | |
− | * | + | |
# modprobe snd_seq_midi | # modprobe snd_seq_midi | ||
− | |||
*Check loaded USB Midi module: | *Check loaded USB Midi module: | ||
− | # lsmod | grep | + | # 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 | |
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
- If needed, insert module manually, only since the 3.19 kernels and following:
# modprobe snd_seq_midi
- Check loaded USB Midi module:
# lsmod | grep snd_seq_midi
- Check your hardware, for presence:
$ lsusb $ amidi -l $ aconnect -i or aconnect lio
- Check your hardware, for actual input:
$ 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)
- Create connection in patchage:
$ 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.