[yoshimi] Re: adding external midi controller

  • From: <distro@xxxxxxxxxxxxxxxxx>
  • To: Yoshimi <yoshimi@xxxxxxxxxxxxx>
  • Date: Tue, 1 Jan 2019 00:52:27 +0100 (CET)

=== How to configure and attach your sound controller to YOSHIMI ===

In order to use a midi controller, you must per usual specify and configure 
Yoshimi to use it. 

1, CURRENTLY, you will be REQUIRED to use Jack an external packages (may be 
variants or alternatives depending on your linux distribution, for this 
instructional, I am using Arch Linux):

$ yay -Ss qjackctl
aur/qjackctl-git r1095.3b16632-1 (+0 0.00%)
    A Qt front-end for the JACK low-latency audio server
aur/jack-select 1.1.2-1 (+4 0.00%)
    A systray app to set the JACK configuration from QjackCtl presets via DBus.
community/qjackctl 0.5.5-1 (520.4 KiB 2.0 MiB) [pro-audio]
    A Qt front-end for the JACK low-latency audio server

After installing on your system, launch qjackctl or QJackCtl aka "Jack Audio 
Connection Kit."

You will need to set a quick configuration:
Driver: Alsa
Realtime: [checked]
Interface: [select your attached midi controller, ex. LX25]

Save and exit.

NOTE: a QT build application called qjackctl

NOTE/ DEV TODO: This is not ideal to have further depency for Yoshimi. OK, to 
have it as a Jack option, but native ALSA driver should be a priority imo. This 
can be testified to by most other linux audio players, applications and midi, 
not requiring external dependency packages as sole option.

2. In Yoshimi top menu, Yoshimi > Settings, you will see two tab options JACK 
and ALSA for sound.

(*) Currently there is no menu selector to select an configured midi device. 

3. You will see under either tab a form field with the label 'Midi Source.' 
This is where you midi controller's device ID/label needs to be specified. 
Currently, you will see a default text value of 'default.'

4. To find your attached midi controller device ID, you'll need to either use a 
utility on your system to find it. For example you'll likely have ALSA and 
perhaps another ulility package like 'alsa-utils' installed on your system, or 
'gnome-alsamixer' etc. You can use such utlities to quickly note and ID and 
attached sound devices, cards or controllers.

For example, you'll note, for example, with your midi controller attached via 
usb, upon toggling the settings in alsamixer, your device, ex. "Impact LX25+" - 
This is your midi controller device ID.

You can also run in terminal:
aconnect -i
aconnect -l

* List connected ports (no subscription action)
   aconnect -i|-o [-options]
     -i,--input          list input (readable) ports
     -o,--output         list output (writable) ports
     -l,--list           list current connections of each port

Which if this device were connected before running the command, it would result 
in the following info for listing currently connected:

client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
client 20: 'Impact LX25+' [type=kernel,card=1]
    0 'Impact LX25+ MIDI 1'
    1 'Impact LX25+ MIDI 2'
client 128: 'yoshimi' [type=user,pid=28366]
    0 'input       

Here again you can see your midi controller's ID: Impact LX25+.

5. Back in Yoshimi, you will want to type (or paste) this exact value into the 
form field "MIDI source."

Currently the ALSA field/functionality is not usuable. You will note after 
default installation of Yoshimi, however that is currently selected as the 'Set 
as preferred MIDI' option under ALSA tab. Uncheck this as we'll be setting JACK 
under the JACK tab as our preferred MIDI along with specifying our 
midi-controller in the form field Jack MIDI Source.

(a) Jack MIDI Source: Impact LX25+
(b) Set as preferred MIDI: [set to checkmarked] 
* Note DEV: this setting does not hold after save, reverts back to Alsa but 
still works.
(c) Save and Close

Congratulations, now you have configured Yoshimi to use your midi controller.

=== TODO ===

- Fix ALSA option, so external qjackctl is not a requirement.
- Preferably add in drop-down to simply select connected controllers. This is 
standard. Note in documentation simply mention that controller must be 
connected to your system prior to launching Yoshimi. A simple helpful reminder.
- Improve documentation and version to explain to users such as above to be 
able configure their midi controller in Yoshimi.

OK done. Tested, works. Naturally this doc can be refined and proofed, but I 
hope this helps someone else out there understand current version requirements 
and process to connect what USB generic permissive mini controller you might 
have connect to Yoshimi!

Date: 31. Dec, 2018



Other related posts: