Description of problem: Simple software synthesizer using vkeybd and fluidsynth doesn't work unless I remove alsa-plugins-pulseaudio Version-Release number of selected component (if applicable): pulseaudio-0.9.15-11.fc11.i586 alsa-plugins-pulseaudio-1.0.18-3.fc11.i586 fluidsynth-1.0.8-3.fc11.i586 How reproducible: In F10 and F11 preview Steps to Reproduce: 1. su -c 'yum install fluidsynth vkeybd PersonalCopy-Lite-soundfont' su -c 'modprobe snd-seq' 2. fluidsynth -a alsa -c2 -i -l -s /usr/share/soundfonts/PCLite.sf2 & 3. vkeybd & 4. aconnect 129:0 128:0 Actual results: No audio from vkeybd, continuous high cpu usage (~100%) after starting fluidsynth in step 2 Expected results: Nice synth sounds from vkeybd, cpu usage should not remain high after launching fluidsynth Additional info: problem goes away if I do 'yum remove alsa-plugins-pulseaudio' and everything works as expected, I have a lovely low latency software synth with keyboard.
PA is not intended to be use for audio production. The fluidsynth package should probably be configured to bypass PA by default.
OK, in the meantime, until fluidsynth is "fixed", I'd like to keep the alsa PA plugin, since it works well for video and music audio, but I also want fluidsynth - is there a simple way to tell fluidsynth not to use PA (a *.conf file entry or an environment variable setting perhaps?)
The new fluidsynth release 1.0.9 has native PulseAudio support which seems to work fine. So this problem could probably be solved by just updating to the latest fluidsynth.
I compiled fluidsynth v1.1.0 from source in Fedora 11 preview, it does indeed have pulseaudio support, but the sounds are so distorted (lots of noise) as to be unusable. su -c 'modprobe snd-seq' fluidsynth -a pulseaudio -c2 -i -l -s /usr/share/soundfonts/PCLite.sf2 & vkeybd & aconnect 129:0 128:0 perhaps I need to tinker with the parameters supplied to fluidsynth? In the meantime I temporarily prevent pulse being used with: sudo mv /etc/alsa/pulse-default.conf /etc/alsa/pulse-default.conf.x to turn pa off for alsa (and the reverse to turn back on) I suppose I could create a little script to start fluidsynth which renames the conf file before launch and renames it back after launch.
(In reply to comment #4) > perhaps I need to tinker with the parameters supplied to fluidsynth? Yes, probably. Try -z 4096 -c 4 or something like that.
That works, although latency is a bit too high, using -z 2048 gives me a better response, I'm using a Core 2 Duo @2GHz with onboard intel 82801H HD audio. fluidsynth -a pulseaudio -c2 -z2048 -i -l -s /usr/share/soundfonts/PCLite.sf2 & Thanks CJ van der Berg. (I'm glad they didn't "bypass PA") Now, how do I request the new version of fluidsynth to be put into the Fedora repos, contact the package maintainer?
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle. Changing version to '11'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
> Now, how do I request the new version of fluidsynth to be > put into the Fedora repos, contact the package maintainer? Usually one opens a ticket in bugzilla: https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=fluidsynth Even better, consider joining the family of Fedora package maintainers: https://fedoraproject.org/wiki/PackageMaintainers/Join The more people with interest in a particular package, the better. Fluidsynth needs work here on F10. I don't use it, I'm not familiar with it. It started the JACK daemon and still failed because it could not access the default audio device. And I only wanted to take a brief look at it, since I noticed that the Audacious Fluidsynth (-amidi) plugin sounds bad/distorted. Seems a lot of insight is needed to make fluidsynth work, and then I noticed this open ticket when visiting http://bugz.fedoraproject.org/fluidsynth
thanks. for now I'll just stick with the workaround since even though the -pulseaudio option works in fluidsynth v1.1.0 the latency is too high even for a casual keyboard. The workaround in F11 is pretty easy: sudo mv /etc/alsa/pulse-default.conf /etc/alsa/pulse-default.confx sudo modprobe snd-seq-midi fluidsynth -a alsa -c2 -i -l -s /usr/share/soundfonts/PCLite.sf2 & vkeybd & aconnect 129:0 128:0 and you now have a low-latency synth keyboard :) obviously reverse the mv command to restore alsa-pulseaudio plugin behaviour afterwards. The minimal install in F11 is ~27M: sudo yum install fluidsynth vkeybd PersonalCopy-Lite-soundfont
Stuff that was needed for a fluidsynth 1.0.9 spec update: BuildRequires: pulseaudio-libs-devel BuildRequires: portaudio-devel Building with ladspa-devel is not recommended by upstream. Why is --enable-ladspa used by Fedora? API docs are missing in the 1.0.9 tarball but included by Fedora. They must be built now: BuildRequires: doxygen docbook-style-xsl cd doc make update-docs cd - > Requires: lash jack-audio-connection-kit No needed as there are automatic SONAME dependencies.
fluidsynth 1.0.9 also makes audacious-plugins-amidi work.
1.0.9 got pushed today, but the PulseAudio backend is not enabled. :-( Why?
(In reply to comment #12) > 1.0.9 got pushed today, but the PulseAudio backend is not enabled. :-( Why? Simple answer: Because I do not want to be held responsible for pulling the pulseaudio-libs package into innocent people's computers.
That's a completely ridiculous argument (many other packages in the distribution drag in pulseaudio-libs). The fact is, PulseAudio is the default audio solution in Fedora and packages are supposed to work with it. Disabling the PulseAudio backends shipped by upstream makes no sense whatsoever. If you still refuse to enable it, I'll have to escalate this to FESCo.
(In reply to comment #14) > That's a completely ridiculous argument (many other packages in the > distribution drag in pulseaudio-libs). That depends on the point of view. I see this as torture. > The fact is, PulseAudio is the default > audio solution in Fedora and packages are supposed to work with it. Can you backup your claim? A link to this guideline perhaps? > Disabling > the PulseAudio backends shipped by upstream makes no sense whatsoever. If you > still refuse to enable it, I'll have to escalate this to FESCo. The commenter of comment #1 is a pulseaudio developer. Please have a look at what he says. If you want to go to FESCo it's your decision. But there is really no need. If you can point me to the pulseaudio requirement guideline, I promise to drop my comaintainership on fluidsynth and to orphan all my packages that depend on fluidsynth. I am sure that will make many people "happy".
I would like to make a correction as I think what you said is misleading: I do not do "Disabling the PulseAudio backends shipped by upstream". I never go and change other maintainers' packages and disable their pulseaudio support. I try to avoid those packages as much as I can.
Fluidsynth has a valid use outside of the audio production niche. It is an implementation of the ALSA sequencer interface, also used by pure playback applications like KMid, and it's the only one with a GUI (qsynth). So I think it has a place in a standard desktop setup, which is where PulseAudio fits in. > That depends on the point of view. I see this as torture. The fact is, pulseaudio-libs is dragged in by pretty much everything in Fedora (and that's normal because it's THE DEFAULT sound solution), so your package not requiring pulseaudio-libs gains your users absolutely NOTHING. It just breaks things for those users using PulseAudio. > The commenter of comment #1 is a pulseaudio developer. Please have a look at > what he says. Lennart's comment just means the default backend should be the JACK one (as JACK is the solution we advertise for audio production), which in current JACK versions will automatically suspend PulseAudio with that "device reservation" hack. (I think that's a very poor solution, but that's not the topic here.) But that doesn't mean we can't offer a pulseaudio backend for those who want it. The upstream fluidsynth project ships such a backend for a reason! There's nothing about the ALSA sequencer interface which makes it suitable only for audio production. At least KMid, which uses that interface, is definitely a pure playback app for an audio consumer audience. > If you can point me to the pulseaudio requirement guideline, I promise to drop > my comaintainership on fluidsynth and to orphan all my packages that depend on > fluidsynth. What sense does this make? Your boycotting of PulseAudio is childish and stupid. The fact, is, we're working hard to make sound "just work" in Fedora. But that requires ALL applications to cooperate. It just takes one or two uncooperative maintainers to break that experience, and people will yell that Fedora is broken and/or that PulseAudio is broken. > I do not do "Disabling the PulseAudio backends shipped by upstream". You do. "Upstream" is not "other maintainers", "upstream" means "the projects whose software we ship", in this case the fluidsynth project. They're shipping a PulseAudio backend, you're not packaging it.
(BTW, I'd even argue that the PulseAudio backend should be the default one for that "just works" experience, the target userbase of JACK can definitely set a dropdown in qsynth. But I won't insist on that part. All I care about is that the PulseAudio backend gets BUILT.)
https://fedorahosted.org/fesco/ticket/265
A new bug #538224 was opened with the pulseaudio support request. I am setting this thread's title back to what it was, since the new title does not represent the thread's original purpose. I am also closing this WONTFIX as I doubt that pulseaudio devs will care to fix this. (They mark everything NOTABUG anyway...) Please continue in the new bug that is directly opened for pulseaudio support.