Cri
Now I just have to find out how to remove the noise from my soundcard, but this will be the subject of another thread!
Well think I will add something here about this, since it might help other people running pulseaudio on Linux.
Short summary: I couldn't manage to get jammr working nicely with pulseaudio and a decent latency; I have to disable pulseaudio temporarily and have jammr use my ALSA soundcard device directly.
The details: I'm running jammr 1.2.4 (the .deb package available on the website) on a Debian wheezy/sid system, running the pulseaudio (5.0) sound server (hardware is a Asus EEE 1215 netbook)
If I configure jammr to use the pulseaudio virtual ALSA device (“pulse”, or “default”) I can only manage to run it with the latency set to the largest value (or sometimes with the second-largest), which prevents playing decently. If I select a lower latency value, I soon get an infinite flow of error messages in the xterm:
ALSA lib pcm.c:7843:(snd_pcm_recover) underrun occurred
, and the jammr client gets unresponsive, so I have to disconnect and kill it.
I suspected my CPU is not fast enough to manage jammr + pulseaudio at low latency, so I tried various tips I found to configure pulseaudio to use less CPU power, but with no results.
So I tried bypassing pulseaudio, and have jammr access my soundcard via ALSA directly; fortunately this is very convenient using the “pasuspender” utility (included in pulseaudio), you don't need to kill the pulseaudio daemon or uninstall the package!
Just run:
and pulseaudio will be suspended while jammr is running.
Then go to jammr settings, and select your ALSA device addresses for input/output (hw=0.0 in my case) and your preferred sampling and latency values. This way, I can run jammr at 11ms latency, which is very good!
When you quit jammr, pulseaudio will resume working again (so other audio applications will still behave as expected).