--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: buster
User: release.debian.org@packages.debian.org
Usertags: pu
Hello,
I have uploaded the attached change for buster.
The story dates back with #697637 and LP #1208826 which noted that
speech dispatcher requests very low latency (1ms) from pulseaudio to get
the maximum snappiness of speech feedback. This was frowned upon as
eating more CPU than needed, and patched over to increase the request to
20ms in version 0.8-1 of speech-dispatcher, as well as in upstream. That
patch however was not complete, it missed the attached change to
actually change the configuration default, so the requested latency
remained 1ms by default.
This was not so much a problem beyond a bit more battery drain so
far. But with more recent releases of pulseaudio, apparently data
transfer management with ALSA got bogus, to the point that this 1ms
request is currently making pulseaudio step over itself, which I
reported upstream:
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/871
The end-user visible result is that on computer start, the speech is
disturbed, scratchy, making it unusable, we have heard this with various
audio cards. This solves over time, once pulseaudio determines that it
gets underruns and should increase the latency beyond 1ms, but that can
take from seconds to minutes, thus really a pain for the user who just
wants to use the computer. I have proposed to upstream some patch to try
to detect the underruns more quickly, but I don't know pulseaudio enough
to determine whether it is safe.
That's why I'm proposing to just really increase the latency request in
speech-dispatcher (as was already planned to save battery) to avoid the
pulseaudio bug in Buster.
Samuel
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-debug'), (500, 'proposed-updates-debug'), (500, 'proposed-updates'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.6.0 (SMP w/8 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -Nru speech-dispatcher-0.9.0/debian/changelog speech-dispatcher-0.9.0/debian/changelog
--- speech-dispatcher-0.9.0/debian/changelog 2019-02-20 13:22:57.000000000 +0100
+++ speech-dispatcher-0.9.0/debian/changelog 2020-05-02 12:05:06.000000000 +0200
@@ -1,3 +1,10 @@
+speech-dispatcher (0.9.0-5+deb10u1) buster; urgency=medium
+
+ * patches/pulseaudio-latency: Fix default pulseaudio latency which triggers
+ pulseaudio scratchy output.
+
+ -- Samuel Thibault <sthibault@debian.org> Sat, 02 May 2020 12:05:06 +0200
+
speech-dispatcher (0.9.0-5) unstable; urgency=medium
* control: Do not require exactly the same binary version of
diff -Nru speech-dispatcher-0.9.0/debian/patches/pulseaudio-latency speech-dispatcher-0.9.0/debian/patches/pulseaudio-latency
--- speech-dispatcher-0.9.0/debian/patches/pulseaudio-latency 1970-01-01 01:00:00.000000000 +0100
+++ speech-dispatcher-0.9.0/debian/patches/pulseaudio-latency 2020-05-02 12:00:39.000000000 +0200
@@ -0,0 +1,13 @@
+diff --git a/src/server/configuration.c b/src/server/configuration.c
+index 2d6cfaca..3623e342 100644
+--- a/src/server/configuration.c
++++ b/src/server/configuration.c
+@@ -473,7 +473,7 @@ void load_default_global_set_options()
+ GlobalFDSet.audio_alsa_device = g_strdup("default");
+ GlobalFDSet.audio_nas_server = g_strdup("tcp/localhost:5450");
+ GlobalFDSet.audio_pulse_server = g_strdup("default");
+- GlobalFDSet.audio_pulse_min_length = 100;
++ GlobalFDSet.audio_pulse_min_length = 1764;
+
+ SpeechdOptions.max_history_messages = 10000;
+
diff -Nru speech-dispatcher-0.9.0/debian/patches/series speech-dispatcher-0.9.0/debian/patches/series
--- speech-dispatcher-0.9.0/debian/patches/series 2019-02-20 13:22:53.000000000 +0100
+++ speech-dispatcher-0.9.0/debian/patches/series 2020-05-02 12:00:48.000000000 +0200
@@ -2,3 +2,4 @@
systemd-debian
mbrola-paths
ibmtts-shim
+pulseaudio-latency
--- End Message ---