Midi support, even just at command line

There are a lot of command line and graphical linux based midi tools that i use on the raspberry pi. I was thinking that a sailfish phone would be a good alternative platform for these.

I tried running sone simple alsa tools like aconnect via the command line but they are not working

[defaultuser@Xperia10II ~]$ aconnect -l
ALSA lib seq_hw.c:466:(snd_seq_hw_open) open /
dev/snd/seq failed: No such file or directory
can’t open sequencer

Do you think it is possible to install alsa on Sailfish or is there some fundemental problem?

Do you think it is possible to install alsa on Sailfish

ALSA libraries and tools are already available as you have found, but

is there some fundemental problem?

at least on XPeria10iii there is no support for ALSA sequencer in the kernel:

zcat  /proc/config.gz  | grep SND_SEQU
# CONFIG_SND_SEQUENCER is not set

@nephros, do you know what these are?

CONFIG_USB_F_MIDI=y
CONFIG_USB_CONFIGFS_F_MIDI=y

Maybe one could use SDL?

I had been looking at this: GitHub - poetaster/harbour-midij: Remote MIDI controller for DJs (port for Sailfish OS). but didn’t get to the details.

I can only ask the kconfig system:

 Symbol: USB_F_MIDI [=n]                                                                                                   β”‚
  β”‚ Type  : tristate                                                                                                          β”‚
  β”‚ Defined at drivers/usb/gadget/Kconfig:207                                                                                 β”‚
  β”‚   Depends on: USB_SUPPORT [=y] && USB_GADGET [=n]                                                                         β”‚
  β”‚ Selected by [n]:                                                                                                          β”‚
  β”‚   - USB_CONFIGFS_F_MIDI [=n] && USB_SUPPORT [=y] && USB_GADGET [=n] && USB_CONFIGFS [=n] && SND [=m]                      β”‚
  β”‚   - USB_MIDI_GADGET [=n] && USB_SUPPORT [=y] && USB_GADGET [=n] && SND [=m]  

It seems it would allow for a device to act as a USB_MIDI_GADGET


  β”‚ Symbol: USB_MIDI_GADGET [=n]                                                                                              β”‚
  β”‚ Type  : tristate                                                                                                          β”‚
  β”‚ Defined at drivers/usb/gadget/legacy/Kconfig:316                                                                          β”‚
  β”‚   Prompt: MIDI Gadget                                                                                                     β”‚
  β”‚   Depends on: USB_SUPPORT [=y] && USB_GADGET [=n] && SND [=m]                                                             β”‚
  β”‚   Location:                                                                                                               β”‚
  β”‚     -> Device Drivers                                                                                                     β”‚
  β”‚       -> USB support (USB_SUPPORT [=y])                                                                                   β”‚
  β”‚ (1)     -> USB Gadget Support (USB_GADGET [=n])                                                                           β”‚
  β”‚           -> USB Gadget precomposed configurations                                                                        β”‚
  β”‚ Selects: USB_LIBCOMPOSITE [=n] && SND_RAWMIDI [=m] && USB_F_MIDI [=n]                                                     β”‚
  β”‚                                                                                                                           β”‚
  β”‚           

Nope. Don’t know what I was thinking.

Thanks! I just checked and it’s Midi Host support for stuff like USB midi keyboards. I’ll test that as soon as I get a USB B β†’ C cable :slight_smile:

gstreamer1.0-plugins-bad packages @ openrepos (lpr and lpr_next repo) provide libgstmidi.so that allows to Parse MIDI files (jolla official packages do not):
[defaultuser@Xperia10II ~]$ gst-inspect-1.0 midi
[defaultuser@Xperia10II ~]$ gst-inspect-1.0 midiparse

if you think it could be useful I could try to activate wildmidi support:
https://gstreamer.freedesktop.org/documentation/wildmidi/index.html

1 Like

Does anyone know where in the github repos one would make a pr for enabling:

# CONFIG_SND_SEQUENCER 

GitHub - sailfishos/alsa-lib alsa-plugins? It’s not clear. But I can’t imagine it’s a burden. On the other hand, I CAN imagine it’s yet another issue VIS sailjail :slight_smile:

I installed this app

https://openrepos.net/content/aviarus/vipiano

And it seems to use fluidsynth to make the sounds

It’s a kernel config option, so I guess PRs should go to the Sony Open Devices kernel repo.

2 Likes

Thanks! I’ll see how that goes.

Yes fluidsynth can read midi files and be used to render them via sound fonts. But that’s not the same as talking to hardware :slight_smile: I’m waiting for a cable, then I can see what kind of midi io can be done via USB.

1 Like