Re: Fluidsynth and pipewire: No sound

2024-01-03 Thread tomas
On Wed, Jan 03, 2024 at 01:12:24PM -0300, riveravaldez wrote:
> El martes, 2 de enero de 2024, to...@tuxteam.de escribió:
> > Hi,
> >
> > Debian 12, bookworm. I'm trying to get fluidsynth and pipewire
> > playing together.
> 
> Hi, IIRC qsynth has an option to indicate which sound server to use at
> launching. I've used it with JACK and PulseAudio:
> $ qsynth -a jack
> $ qsynth -a pulseaudio
> , or something like that. Can't remember if the manpage mentions PipeWire
> (or if it's even implemented) but I guess could worth a try.
> Also, qsynth's UI has options to choose sources and sinks that are pretty
> friendly. That also could work.
> Hope something of this helps in someway.
> Kind regards and good luck!

First of all, thanks for your reply. I actually tried qsynth.

As I mentioned in my original post, it is only happy when wrapped
in pw-jack (which, AFAIU tells it to contact pipewire's Jack
emulation). But I couldn't get it to "see" any MIDI events from
the keyboard, alas.

The most frustrating part is that I have no clue whether I'm
doing anything wrong or whether it isn't supposed to work at all.

The installed fluidsynth version (2.3.1) is said to work with
pipewire, but "fluidsynth -a" doesn't list it as a backend.

There is a GUI to control pipewire's graph (qpwgraph [1]), which
I also tried. I can "see" there what is supposed to be the keyboard,
model number and all, I can "see" some fluidsynth input (both of
them several times, all of this is frustratingly confusing), I
can even connect the keyboard's "output" to fluidsynth's "input"
(if I am interpreting all those hieroglyphs correctly, that is),
but there is no fluidsynth's "output", and all combinations I
tried in despair didn't make a beep.

A similar hardware with a Debian Bullseye (pulseaudio) does work.
I had to tinker to have the fluidsynth thing start in the user
session instead of at system boot (there was a reason for this
which I don't remember currently), but it basically worked.

At the moment I'm on the brink of throwing out pipewire and
installing pulseaudio, and wait until things settle.

Why, oh, why do we have to have this sound daemon misery every
couple of releases?

Cheers
-- 
t


signature.asc
Description: PGP signature


Re: Fluidsynth and pipewire: No sound

2024-01-03 Thread riveravaldez
El martes, 2 de enero de 2024, to...@tuxteam.de escribió:
> Hi,
>
> Debian 12, bookworm. I'm trying to get fluidsynth and pipewire
> playing together.

Hi, IIRC qsynth has an option to indicate which sound server to use at
launching. I've used it with JACK and PulseAudio:
$ qsynth -a jack
$ qsynth -a pulseaudio
, or something like that. Can't remember if the manpage mentions PipeWire
(or if it's even implemented) but I guess could worth a try.
Also, qsynth's UI has options to choose sources and sinks that are pretty
friendly. That also could work.
Hope something of this helps in someway.
Kind regards and good luck!

> 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-: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-_00_1f.3.analog-stereo.2:playback_FL
>  |   alsa:pcm:1:front:1:playback:playback_0
>  |   ALC298 Analog:playback_FL
>  | alsa_output.pci-_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
>


Fluidsynth and pipewire: No sound

2024-01-02 Thread tomas
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-: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-_00_1f.3.analog-stereo.2:playback_FL
 |   alsa:pcm:1:front:1:playback:playback_0
 |   ALC298 Analog:playback_FL
 | alsa_output.pci-_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


signature.asc
Description: PGP signature