[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#959431: buster-pu: package speech-dispatcher/0.9.0-5+deb10u1



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

Reply to: