Re: ALSA sequencer connections (Yoshimi)

From: Alexandre Ratchov <>
Date: Mon, 30 Sep 2019 10:35:24 +0200
On Sun, Sep 29, 2019 at 02:09:49PM +0200, Jeanette C. wrote:
> Hey hey,
> I have come across that issue with Yoshimi again, But I also noticed that
> _apparently_ Midish doesn't handle port names with spaces. I tried to
> connect to the DSSI plugin Hexter, run in jack-dssi-host, with its default
> client and port names which do have spaces and it didn't work. From an
> earlier session I found that specifying a space-free name works.
> The other old patient is Yoshimi. I can see that Midish connects to and
> disconnects from Yoshimi, since Yoshimi prints out a message when that
> happens. Still I get no sound. I do get sound if I use Yoshimi JACK midi and
> forward it from ALSA.
> Looking at the relevant source code in Yoshimi, it looks straight forward
> enough. Set up a port and client - without spaces - and add a few filters,
> might they be the problem? Could you perhaps have a look? In the Yoshimi
> source tar ball it's:
> src/MusicIO/AlsaEngine.cpp
> and then the function:
> bool AlsaEngine::openMidi(void)
> This is almost pure C, because of ALSA's API. I can't see anything out of
> the ordinary with my very limited skills.


There are two way to use the ALSA sequencer: either the program
creates a port and others connect to it, or it connects to ports
created by other programs.

Not 100% sure, but according to the code yoshimi doesn't create ports,
it so needs to connect to other programs ports. Midish wants to
connect to other programs ports as well.

For such programs, you could use the "Midi Trough" port (see output of
"aseqdump -l"), which simply passes data from one program to others. I
tried to make both yoshimi and midish connect to it and everything
worked as expected. Could you confirm it works on your setup as well?

Alternatively, you could make midish create a port to which yoshimi
could connect. To create a port, set its name to "nil", example:

	dnew 0 nil wo

yoshimi could connect to it until you use the "s" command, which
destroys the port and disconnects yoshimi.  Unfortunately yoshimi wont
reconnect to it by itself, so I don't recommend this, just use the
MIDI through ports.
Received on Mon Sep 30 2019 - 10:35:24 CEST

This archive was generated by hypermail 2.3.0 : Tue Oct 01 2019 - 01:33:03 CEST