Teamspeak Microphone Stuttering with pipewire-pulse 0.3.52
- PipeWire version (
pipewire --version
):pipewire Compiled with libpipewire 0.3.52 Linked with libpipewire 0.3.52
- Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
):Arch Linux
- Desktop Environment:
GNOME 42.2
- Kernel version (
uname -r
):5.18.3-arch1-1
Description of Problem:
Starting with version 0.3.52
the microphone input in Teamspeak (3 and 5) has a strong stuttering.
Downgrading just pipewire-pulse to 0.3.51
resolves the issue.
Here two recordings of a 128hz tuning fork from within teamspeak:
-
A teamspeak recording with pipewire version
0.3.52
and pipewire-pulse version0.3.51
(as it should be):
pipewire-0.3.51 -
A teamspeak recording with pipewire version
0.3.52
and pipewire-pulse version0.3.52
(problematic):
pipewire-0.3.52
I have easyeffects installed, but not activated for any inputs.
Interestingly: While recording a audio message in telegram-desktop
, the audio both in telegram and teamspeak are clean, but as soon as I stop recording in telegram, the audio in teamspeak starts stuttering again.
My audio input is a Behringer Q802USB (from pw-dump):
[
{
"id": 34,
"type": "PipeWire:Interface:Node",
"version": 3,
"permissions": [
"r",
"w",
"x",
"m"
],
"info": {
"max-input-ports": 0,
"max-output-ports": 64,
"change-mask": [
"input-ports",
"output-ports",
"state",
"props",
"params"
],
"n-input-ports": 0,
"n-output-ports": 2,
"state": "running",
"error": null,
"props": {
"alsa.card": 3,
"alsa.card_name": "USB Audio CODEC",
"alsa.class": "generic",
"alsa.device": 0,
"alsa.driver_name": "snd_usb_audio",
"alsa.id": "USB Audio",
"alsa.long_card_name": "Burr-Brown from TI USB Audio CODEC at usb-0000:00:14.0-8.4.4.2, full speed",
"alsa.name": "USB Audio",
"alsa.resolution_bits": 16,
"alsa.subclass": "generic-mix",
"alsa.subdevice": 0,
"alsa.subdevice_name": "subdevice #0",
"api.alsa.card.longname": "Burr-Brown from TI USB Audio CODEC at usb-0000:00:14.0-8.4.4.2, full speed",
"api.alsa.card.name": "USB Audio CODEC",
"api.alsa.path": "hw:3",
"api.alsa.pcm.card": 3,
"api.alsa.pcm.stream": "capture",
"audio.channels": 2,
"audio.position": "FL,FR",
"card.profile.device": 0,
"device.api": "alsa",
"device.class": "sound",
"device.id": 44,
"device.profile.description": "Analog Stereo",
"device.profile.name": "analog-stereo-input",
"device.routes": 1,
"factory.name": "api.alsa.pcm.source",
"media.class": "Audio/Source",
"node.description": "PCM2902 Audio Codec Analog Stereo",
"node.name": "alsa_input.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo-input",
"node.nick": "USB Audio CODEC",
"node.pause-on-idle": false,
"object.path": "alsa:pcm:3:hw:3:capture",
"priority.driver": 2009,
"priority.session": 2009,
"factory.id": 18,
"clock.quantum-limit": 8192,
"client.id": 32,
"node.driver": true,
"factory.mode": "split",
"audio.adapt.follower": "",
"library.name": "audioconvert/libspa-audioconvert",
"object.id": 34,
"object.serial": 51,
"node.max-latency": "16384/48000"
},
"params": {
"EnumFormat": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": {
"default": "S16LE",
"alt1": "S16LE",
"alt2": "S8"
},
"rate": {
"default": 48000,
"min": 8000,
"max": 48000
},
"channels": 2,
"position": [
"FL",
"FR"
]
}
],
"PropInfo": [
{
"id": "volume",
"description": "Volume",
"type": {
"default": 1,
"min": 0,
"max": 10
}
},
{
"id": "mute",
"description": "Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "channelVolumes",
"description": "Channel Volumes",
"type": {
"default": 1,
"min": 0,
"max": 10
},
"container": "Array"
},
{
"id": "channelMap",
"description": "Channel Map",
"type": "",
"container": "Array"
},
{
"id": "softMute",
"description": "Soft Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "softVolumes",
"description": "Soft Volumes",
"type": {
"default": 1,
"min": 0,
"max": 10
},
"container": "Array"
},
{
"id": "monitorMute",
"description": "Monitor Mute",
"type": {
"default": false,
"alt1": false,
"alt2": true
}
},
{
"id": "monitorVolumes",
"description": "Monitor Volumes",
"type": {
"default": 1,
"min": 0,
"max": 10
},
"container": "Array"
},
{
"name": "channelmix.disable",
"description": "Disable Channel mixing",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.normalize",
"description": "Normalize Volumes",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.mix-lfe",
"description": "Mix LFE into channels",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "channelmix.upmix",
"description": "Enable upmixing",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "channelmix.lfe-cutoff",
"description": "LFE cutoff frequency (Hz)",
"type": {
"default": 150,
"min": 0,
"max": 1000
},
"params": true
},
{
"name": "channelmix.fc-cutoff",
"description": "FC cutoff frequency (Hz)",
"type": {
"default": 12000,
"min": 0,
"max": 48000
},
"params": true
},
{
"name": "channelmix.rear-delay",
"description": "Rear channels delay (ms)",
"type": {
"default": 12,
"min": 0,
"max": 1000
},
"params": true
},
{
"name": "channelmix.stereo-widen",
"description": "Stereo widen",
"type": {
"default": 0,
"min": 0,
"max": 1
},
"params": true
},
{
"name": "channelmix.hilbert-taps",
"description": "Taps for phase shift of rear",
"type": {
"default": 0,
"min": 0,
"max": 255
},
"params": true
},
{
"name": "channelmix.upmix-method",
"description": "Upmix Method to use",
"type": "psd",
"labels": [
"none",
"Disabled",
"simple",
"Simple upmixing",
"psd",
"Passive Surround Decoding"
],
"params": true
},
{
"id": "rate",
"description": "Rate scaler",
"type": {
"default": 1,
"min": 0,
"max": 10
}
},
{
"id": "quality",
"name": "resample.quality",
"description": "Resample Quality",
"type": {
"default": 4,
"min": 0,
"max": 14
},
"params": true
},
{
"name": "resample.disable",
"description": "Disable Resampling",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"id": "device",
"name": "api.alsa.path",
"description": "The ALSA device",
"type": "hw:3"
},
{
"id": "deviceName",
"description": "The ALSA device name",
"type": ""
},
{
"id": "cardName",
"description": "The ALSA card name",
"type": ""
},
{
"id": "latencyOffsetNsec",
"description": "Latency offset (ns)",
"type": {
"default": 0,
"min": 0,
"max": 2000000000
}
},
{
"name": "audio.channels",
"description": "Audio Channels",
"type": 2,
"params": true
},
{
"name": "audio.rate",
"description": "Audio Rate",
"type": 0,
"params": true
},
{
"name": "audio.format",
"description": "Audio Format",
"type": "UNKNOWN",
"params": true
},
{
"name": "audio.position",
"description": "Audio Position",
"type": "[ FL, FR ]",
"params": true
},
{
"name": "audio.allowed-rates",
"description": "Audio Allowed Rates",
"type": "[ ]",
"params": true
},
{
"name": "api.alsa.period-size",
"description": "Period Size",
"type": {
"default": 0,
"min": 0,
"max": 8192
},
"params": true
},
{
"name": "api.alsa.period-num",
"description": "Number of Periods",
"type": {
"default": 0,
"min": 0,
"max": 1024
},
"params": true
},
{
"name": "api.alsa.headroom",
"description": "Headroom",
"type": {
"default": 0,
"min": 0,
"max": 8192
},
"params": true
},
{
"name": "api.alsa.start-delay",
"description": "Start Delay",
"type": {
"default": 0,
"min": 0,
"max": 8192
},
"params": true
},
{
"name": "api.alsa.disable-mmap",
"description": "Disable MMAP",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "api.alsa.disable-batch",
"description": "Disable Batch",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "api.alsa.use-chmap",
"description": "Use the driver channelmap",
"type": {
"default": false,
"alt1": false,
"alt2": true
},
"params": true
},
{
"name": "api.alsa.multi-rate",
"description": "Support multiple rates",
"type": {
"default": true,
"alt1": true,
"alt2": false
},
"params": true
},
{
"name": "latency.internal.rate",
"description": "Internal latency in samples",
"type": {
"default": 0,
"min": 0,
"max": 65536
},
"params": true
},
{
"name": "latency.internal.ns",
"description": "Internal latency in nanoseconds",
"type": {
"default": 0,
"min": 0,
"max": 2000000000
},
"params": true
},
{
"name": "clock.name",
"description": "The name of the clock",
"type": "api.alsa.c-3",
"params": true
}
],
"Props": [
{
"volume": 1,
"mute": false,
"channelVolumes": [
1,
1
],
"channelMap": [
"FL",
"FR"
],
"softMute": false,
"softVolumes": [
1,
1
],
"monitorMute": false,
"monitorVolumes": [
1,
1
],
"params": [
"channelmix.disable",
false,
"channelmix.normalize",
false,
"channelmix.mix-lfe",
false,
"channelmix.upmix",
true,
"channelmix.lfe-cutoff",
150,
"channelmix.fc-cutoff",
12000,
"channelmix.rear-delay",
12,
"channelmix.stereo-widen",
0,
"channelmix.hilbert-taps",
0,
"channelmix.upmix-method",
"psd"
]
},
{
"rate": 1,
"quality": 4,
"params": [
"resample.quality",
4,
"resample.disable",
false
]
},
{
"device": "hw:3",
"deviceName": "",
"cardName": "",
"latencyOffsetNsec": 0,
"params": [
"audio.channels",
2,
"audio.rate",
0,
"audio.format",
"UNKNOWN",
"audio.position",
"[ FL, FR ]",
"audio.allowed-rates",
"[ ]",
"api.alsa.period-size",
0,
"api.alsa.period-num",
0,
"api.alsa.headroom",
0,
"api.alsa.start-delay",
0,
"api.alsa.disable-mmap",
false,
"api.alsa.disable-batch",
false,
"api.alsa.use-chmap",
false,
"api.alsa.multi-rate",
true,
"latency.internal.rate",
0,
"latency.internal.ns",
0,
"clock.name",
"api.alsa.c-3"
]
}
],
"Format": [
{
"mediaType": "audio",
"mediaSubtype": "raw",
"format": "S16LE",
"rate": 48000,
"channels": 2,
"position": [
"FL",
"FR"
]
}
],
"EnumPortConfig": [
{
"direction": "Input",
"mode": "dsp"
},
{
"direction": "Output",
"mode": "dsp"
},
{
"direction": "Input",
"mode": "convert"
},
{
"direction": "Output",
"mode": "convert"
}
],
"PortConfig": [
{
"direction": "Input",
"mode": "convert"
},
{
"direction": "Output",
"mode": "dsp"
}
],
"Latency": [
{
"direction": "Input",
"minQuantum": 0,
"maxQuantum": 0,
"minRate": 0,
"maxRate": 0,
"minNs": 0,
"maxNs": 0
},
{
"direction": "Output",
"minQuantum": 1,
"maxQuantum": 1,
"minRate": 512,
"maxRate": 512,
"minNs": 0,
"maxNs": 0
}
],
"ProcessLatency": [
{
"quantum": 0,
"rate": 0,
"ns": 0
}
]
}
}
}
]
How Reproducible:
Steps to Reproduce:
- install 0.3.52
- start teamspeak3
- activate "Continuous Transmission" in Capture settings and then click "Begin Test"
- audio in teamspeak stutters
- open any chat in telegram-desktop and start recording a voice message
- audio in teamspeak doesn't stutter
- stop recording in telegram
- audio in teamspeak stutters
Actual Results:
Stuttering microphone audio
Expected Results:
Clean microphone audio.
Additional Info (as attachments):
-
pw-dump > pw-dump.log
: pw-dump.json