To enhance our production of fail, a voice chat experiment is in progress. Mumble is the current delivery system.
http://mumble.sourceforge.net/
Connect to voice.wobble.in (or voice.gentoo-pr0n.org), default port.
If you get jitter/stutter sometimes when a person talks, run mumble from a terminal and see if you get an error message like "ALSAAudio: Non-critical: w=snd_pcm_writei(pcm_handle, outbuff, period_size): Broken pipe" when it happens.
If so, you need to increase the output buffer size in mumble. The problem is that various kernel preemption and multitasking can cause mumble to not read out the entire buffer in the given amount of time. This is especially the case with USB headsets, which adds all the USB stack's preemption points.
Came to this conclusion after reading the babbling at http://alsa.opensrc.org/index.php/HowTo_Asynchronous_Playback
Ken69267's ~/.asoundrc for his USB headset hax
# asym per default
pcm.!default {
type plug
slave.pcm "asymer"
}
# for the aoss script
pcm.dsp0 {
type plug
slave.pcm "asymer"
}
# asym plugin magic
pcm.asymer {
type asym
playback.pcm "dmix"
capture.pcm "dsnoop"
}
# playback channel
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:0,0"
#periods 128
# rate 44100
}
bindings {
0 0
1 1
}
}
# record channel
pcm.dsnooper {
type dsnoop
ipc_key 1024
slave {
card 0
#periods 128
# rate 44100
}
bindings {
0 0
1 1
}
}
# sound mixer
ctl.mixer0 {
type hw
card 0
}
Don't go there⦠because: