MIDI Input does not work on Linux

• Jun 30, 2020 - 07:03
Reported version
3.6
Type
Functional
Frequency
Many
Severity
S3 - Major
Reproducibility
Always
Status
closed
Regression
No
Workaround
Yes
Project

See post here:
https://musescore.org/en/node/297897

The MIDI input options are not available on Linux. There is no way to choose MIDI devices.
Also, this should be documented better - is "Port Audio" even an option for Linux systems?

On my computer amidi -l outputs:


Dir Device Name
IO hw:2,0,0 Scarlett 2i4 USB MIDI 1
IO hw:3,0,0 LPK25 MIDI 1

And the LPK25 works on the same system running Bitwig.

Attachment Size
Screenshot from 2020-06-29 22-58-12.png 59.16 KB

Comments

In reply to by Jojo-Schmitz

Sorry - I thought the linked thread covers this. I included a screenshot (no options appear in any drop down window). Copying from that thread:

In I/O settings I have tried:
- ALSA Audio (default) - Does not work. MIDI DIN symbol disabled light blue
- PortAudio -Not a single option appears in drop down menus, Musescore crashes if press okay
- PulseAudio - The MIDI DIN Symbol can be enabled / disabled but no input is seen
- Jack Audio Server - The MIDI DIN Symbol can be enabled /disabled but no input is seen
- Jack Audio Server (and disable "use Jack MIDI") - Musescore crashes

Has anybody (in the world) demonstrated that MIDI input works on Linux with Musescore 3?

Attachment Size
Screenshot from 2020-06-30 02-33-54.png 59.48 KB

In reply to by kuwitt

My keyboard is connected before starting MuseScore. I don't know what you mean by "check your midi connection" but as mentioned my setup works on Bitwig.

Did you have to install PortAudio somehow?

What info is needed as part of "needs info"?

With "check your midi connection" I meant if the midi cable is connected correct, but it seems so, you wrote it works with other applications.
"Needs info" means: this is the issue tracker to collect bugs of MuseScore, as long as an issue isn't clear about a bug, there are more information needed. But your problem sound less like a bug of MuseScore, more as a support request.
Yep, "libportaudio2" is installed on my system, but don't know if it was installed by default or if I installed it sometime later.

In reply to by kuwitt

A few other people have this support request. Given that I am following directions, it feels like a bug, particularly given the fact that MuseScore crashes depending on the configuration of that I/O tab.

I wonder why the process is so much more involved for MuseScore compared to other apps using MIDI on Linux.

I wonder what other information I can provide!

Concerning the crash: Which MuseScore version? Are you using a distribution package or the AppImage? Check both versions. Run MuseScore from the Terminal. Is there any output? Did you check, if it works after a revert to factory settings?
Btw.: With OpenSuse 15.1 I can't reproduce this crash.

Also: In case you're using the snap package, it isn't maintained from MuseScore. Then again check the AppImage.

It would be interesting, what the crash of portaudio occurs. So as mentioned, start MuseScore from command line in a terminal, to see if there's an error message.
Did you check, if libportaudio2 is installed on your system?

There are no seemingly related errors when starting from the command line. Yes, libportaduio2 is installed (I think by default on Ubuntu).

It's also interesting why no one can use PulseAudio as that is the default for Linux...

Unrelated errors are:


OpenType support missing for "Ubuntu", script 11
OpenType support missing for "Ubuntu", script 19
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback
qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback
qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup
qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init
qt.network.ssl: QSslSocket: cannot resolve sk_new_null
qt.network.ssl: QSslSocket: cannot resolve sk_push
qt.network.ssl: QSslSocket: cannot resolve sk_free
qt.network.ssl: QSslSocket: cannot resolve sk_num
qt.network.ssl: QSslSocket: cannot resolve sk_pop_free
qt.network.ssl: QSslSocket: cannot resolve sk_value
qt.network.ssl: QSslSocket: cannot resolve SSL_library_init
qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings
qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index
qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method
qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method
qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
qt.network.ssl: QSslSocket: cannot resolve SSLeay
qt.network.ssl: QSslSocket: cannot resolve SSLeay_version
qt.network.ssl: QSslSocket: cannot call unresolved function SSLeay
qt.network.ssl: Incompatible version of OpenSSL

I ran into the exact same issue on Ubuntu 20.04 and reset Factory Settings doesn't help. I can see my MIDI-Keyboard LPK-25 in terminal , but the moment select Port-Audio Musescore crashes. When I select ALSA (which should be connected and where I can see the keyboard) I have no sound at all (the play-function is well not working) and no MIDI keyboard either. The only option that give me playback sound is "Pulse Audio" but no access to MIDI-Keyboard either.

Anyone having found a solution in the meanwhile?

I did some further testing and using the Appimage doesn't work either. I though I could be smart and then tried to manually set portAudio to TRUE in the config file, which has the only effect that Musescore doesn't start at all.

In reply to by kuwitt

Thanks but neither worked.

Getting these errors in terminal:

ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL hw:0
ALSA lib conf.c:3916:(snd_config_update_r) Cannot access file /usr/share/alsa/alsa.conf
ALSA lib control.c:1373:(snd_ctl_open_noupdate) Invalid CTL hw:1

The above is for the SNAP version of the app. The appimage version however works, but the UI is scaled too large and the -D terminal option only seems to scale the fonts/icons but not the UI, hence appears rather unpleasing to the eye.

Concerning the UI, also check the "-x" option. IIRC for some user it also worked with values like "0.5" or "1".

In reply to by kuwitt

Thanks for your help. I suspect it might also an issue with the Snap-Packagae. As far as I understand it is similar to AppImage and contains the dependencies. Not sure though. I will see if I can file an issue there. For the time being the AppImage file works well once I figured how to fix the scaling issue. At least the alsa.conf file exists on my config.

In reply to by willy3

Thanks a lot. Sadly doesn't work here. The moment Port Audio is enabled and I exit settings the app crashes. On restart whatever was activated befiore, it still activated. But the AppImage version of the app works now after I figured out the scaling issues. So, for the time being I'm fine.

In reply to by willy3

JACK does MIDI routing, but it doesn't implement a lot of like, hardware driver stuff. ALSA does that. When you plug a device into a Linux box, it's ALSA that handles it. JACK MIDI does not see what ALSA sees. So on Linux, there's one more thing you need to do to glue it all together. There's a program, available on most distros, called a2jmidid. Run it like this: a2jmidid -e and you'll see all your ALSA devices in the MIDI tab of QJackCtl, or in Carla or Patchage or whatever you're using.

Yes, you're right! MIDI input doesn't work on MuseScore 3.4 . I've just wasted hours of my life - hours that I'll never see again - trying to make it work. (Which also included the Port Audio crash problem that others have mentioned above.) Part of the problem is that I'm running UbuntuMate and UbuntuMate Software v 3.28.1 insists on installing MuseScore v3.4 but eventually I solved it by downloading MuseScore 3.5.2 by AppImage from this site. Then open Edit > Preferences > I/O and select ALSA and Hooray! It Works!

If you find it's still not working it might be hardware. Older MIDI keyboards use DIN sockets and you'll need a MIDI to USB adaptor. The supercheap ones bought online are often faulty from new.
Remember to put the MIDI IN plug in the MIDI OUT socket and vice versa.
Still not right? Install K Metronome and get it to play through your MIDI keyboard. If it works it shows that the hardware's happy AND you've got ALSA.
Still not sure? Reboot in Mac OSX and use Audio MIDI Utility to check that the hardware's happy. It's a much friendlier interface for this purpose than stumbling around the mysteries of Linux.

The documentation on this site is misleading which also doesn't help.
" From the menu, select Edit→Preferences... (Mac: MuseScore→Preferences...).
Click on the I/O tab and select your device under the section labeled "MIDI input". "
Well, neither MuseScore 2 nor MuseScore 3 has a section labeled "MIDI Input" under Edit > Preferences > I/O tab. Never mind.

A post above from svnsbck (six months ago) suggests that the problem is something to do with SNAP installation as against AppImage. Well, UbuntuMate Software v3.28.1 (which is where I got my copy of MuseScore 3.4) runs in SNAP, so perhaps that's part of the problem.
Anyway, AppImage 3.5.2 really does work - good luck!

Same problem + solution / quick fix.
Connect and turn on your piano.
Open MuseScore - go to the settings in the picture from willy.
Set portaudio - safe - restart MuseScore
Go to the setting again - now you get the roll down menu ;-)