I'd like to do a poll of everyone's experience with Fluidsynth on Ubuntu. I'm working on a linux (probably Ubuntu) LiveCD/USB that contains Piano Booster already installed/configured. However, I'm not sure what configuration to use for fluidsynth.
In particular, was trying to hear the "Latency" problem so that I could tell if a Real Time kernel solved that problem. So far I haven't heard it, but perhaps I don't know what to look for.
To make it easier to try out various Live OS'es, there's a wiki page on making a Multi-boot USB drive. That page also describes a script that takes a fresh boot of an Ubuntu 10.10 (or 10.04) i386 desktop LiveCD and installs Piano Booster and Fluidsynth. A second script, 'pb-fluidsynth.sh', starts fluidsynth. And the wiki page describes various configurations that worked for Louis or me.
What I hope to hear is what fluidsynth configuration works for your hardware. And which configurations result in latency problems, and which don't.
Please post: (for example)
* hardware: Amd Athlon 64 x2 4200+, 3GB RAM, Nvidia Geforce6150 Motherboard
* OS: Ubuntu 10.10 i386 desktop, LiveCD (as opposed to installed)
* configuration: LiveUSB + "pianobooster-liveusb-script-u10.04.sh"
* fluidsynth configs: Name from wiki ("louis-1", "jesse-1", or "jesse-2") or the actual commands "fluidsynth -c 2 -o ...."
* notes: louis-1 ("sample rate mismatch, out of tune" "plughw:0 already in use"), jesse-1&2 ("worked okay"), not sure about latency problem
the -o audio.alsa.device=plughw:0 flag is an attempt to bypass the Ubuntu Pulse Audio layer which causes _lots_ of latency on my Ubuntu. (The standard playing of most music (eg mp3) is not affected by 0.5 second delays so Ubuntu are not interested in this issue. )
Latency is very obvious when you hear it. It is a delay between pressing a note and hearing the sound of the note, it makes it impossible to play anything if the delay is large. It is like trying to speak when your sound of you voice is echoed back to you with a delay of 1 second and this echo is louder than your own voice then it it is virtually impossible to speak.
As the latency gets closer to zero the less noticeable it is. I find it is more noticeable with an acoustic guitar sound rather the piano. If you have the speaker on your keyboard turned up slightly then with latency you will hear two notes for every note you play. The first note is from your keyboard speakers and the second note is from the fluidsynth output. If they delay is less than 0.1 seconds it is harder to hear the latency. if the delay is 0.5 seconds you can clearly hear the two notes.
Do you/everyone get any latency on your system? Is this causing you a problem. try -c 12 -z 1024 Then you will definitely hear the latency problem!
The -r 22050 was only needed as a workaround on my ultra slow netbook.
It might be interesting to post a similar poll the fluid-dev mailing list.
I sometimes find I have huge latency with Qsynth and pulseaudo too - especially if I have recently used a wine app (say, WoW). It can be up to half a second or more, and I have yet to determine any particular sequence of steps that consistently causes it.
Other times I start et bad crackling / discontinuity in the sound from qsynth.
Its as if somehow the buffers pulseaudio uses were either getting increased to a ludicrous amount (causing latency) or reduced to a point where it wasn't able to keep up with QSynth, causing crackling and pops in the sound.
I find the best solution is to simply restart the pulseaudio daemon and that returns everything to normal - ie. imperceptible level of latency and clear sound again.
should do the trick.
of course you'll have to restart qsynth too, and in my case, reconnect the midi inputs which I have yet to figure out how to keep connected without having to patch them up each time with aconnect.
Thanks for the tip. I was getting probably >400ms latency with fluidsynth and my MIDI keyboard. I closed the Clementine music player, closed Qsynth, did the pulseaudio -k, then started qsynth back up and reconnected my keyboard with aconnect and it's back down to an unnoticeable amount of latency.