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