USB Midi
(→The Full Monty: HugarianPedal + IDJC + D::Light) |
|||
| (46 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 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]=== | ||
| − | + | 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 | ||
| − | 2. | + | 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; | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | Hit the "Add New MIDI Route" button 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 | + | Leave Value to 0 / 127 |
| − | Set | + | 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 122: | 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 | ||
| − | + | 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.