Hi,

Debian 12, bookworm. I'm trying to get fluidsynth and pipewire
playing together.

TL;DR everything seems to be running as it should, but I seem
unable to get a beep from the MIDI keyboard.

I carried over the config from a working 11/Bullseye installation.
The aim is to get a USB MIDI keyboard (see below) making noises
on the output loudspeaker.

This is what pw-link says:

 | tomas@ariadne:~$ pw-link -vi
 | Midi-Bridge:Midi Through:(playback_0) Midi Through Port-0
 |   alsa:seq:default:client_14:playback_0
 |   Midi Through:Midi Through Port-0
 | Midi-Bridge:iCON iCON iKeyboard 4 mini V1-04 at usb-0000:00:14-0-6- full 
speed:(playback_0) iCON iKeyboard 4 mini V1-04 MID
 |   alsa:seq:default:client_16:playback_0
 |   iCON iKeyboard 4 mini V1-04:iCON iKeyboard 4 mini V1-04 MID
 | alsa_output.pci-0000_00_1f.3.analog-stereo.2:playback_FL
 |   alsa:pcm:1:front:1:playback:playback_0
 |   ALC298 Analog:playback_FL
 | alsa_output.pci-0000_00_1f.3.analog-stereo.2:playback_FR
 |   alsa:pcm:1:front:1:playback:playback_1
 |   ALC298 Analog:playback_FR

The second entry is said keyboard: it seems pipewire "sees" it.

Starting qsynth from the command line does:

> qsynth
>   fluidsynth: error: failed to connect to the Jack server

OK, there's no Jack server running. But pipewire-jack is installed.
Wrapping it with pw-jack (as far as I understand this just sets some
environment for the application to find the Jack emulation) seems
to work:

>   pw-jack qsynth

...no error messages.

Fluidsynth is started by systemd's user session:

 | tomas@ariadne:~$ cat 
.config/systemd/user/default.target.wants/fluidsynth.service 
 | [Unit]
 | Description=FluidSynth Daemon
 | Documentation=man:fluidsynth(1)
 | After=sound.target
 | After=pipewire.service
 | 
 | [Service]
 | # added automatically, for details please see
 | # https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort
 | ProtectSystem=full
 | ProtectHome=read-only
 | ProtectHostname=true
 | ProtectKernelTunables=true
 | ProtectKernelModules=true
 | ProtectKernelLogs=true
 | ProtectControlGroups=true
 | # end of automatic additions
 | # required in order for the above sandboxing options to work on a user unit
 | PrivateUsers=yes
 | Type=notify
 | NotifyAccess=main
 | EnvironmentFile=/etc/default/fluidsynth
 | EnvironmentFile=-%h/.config/fluidsynth
 | ExecStart=/usr/bin/fluidsynth -is $OTHER_OPTS $SOUND_FONT
 | 
 | [Install]
 | WantedBy=default.target

(I took that over from the Bullseye instance and it references
pipewire, so it seems the installer took care of fixing/updating
things. Yay for the maintainers!).

Still the whole thing is mute. On the old machine, hitting the
keyboard's keys produced tones out of the loudspeaker.

Now I guess I have to connect together some sources and sinks on
fluidsynth, but I'm totally at a loss where to start, and I seem
to be too stupid to find relevant docs.

Help?

Cheers & thanks
-- 
tomás

Attachment: signature.asc
Description: PGP signature

Reply via email to