GNU bug report logs - #52321
festival can't do text-to-speech (Linux: can't open /dev/dsp)

Previous Next

Package: guix;

Reported by: Luis Felipe <luis.felipe.la <at> protonmail.com>

Date: Sun, 5 Dec 2021 23:21:02 UTC

Severity: normal

Done: Tobias Geerinckx-Rice <me <at> tobias.gr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Luis Felipe <luis.felipe.la <at> protonmail.com>
Cc: 52321 <at> debbugs.gnu.org
Subject: bug#52321: festival can't do text-to-speech (Linux: can't open /dev/dsp)
Date: Mon, 06 Dec 2021 14:10:42 +0100
[Message part 1 (text/plain, inline)]
Luis Felipe,

Luis Felipe via Bug reports for GNU Guix 写道:
> UNEXPECTED RESULT
>
> There is no speech, and the following error is printed:
>
>   Linux: can't open /dev/dsp

Attached is a patch that makes Festival work with Linux (ALSA) by 
default… but it's a bit odd that we'd've been shipping a ‘broken’ 
Festival from day 0?

(TIL that our default Linux-Libre configurations enable legacy OSS 
emulation so this could probably be made to work with the right 
modprobes.  Still, this should not be required without good 
reason, and plenty of OSS-free kernels exist.)

I'd like to hear from existing Festival/Guix users if any actually 
do.

Until then, you can easily hack around it:

 $ cat <<EOF > ~/.festivalrc
 (Parameter.set 'Audio_Method 'Audio_Command)
 (Parameter.set 'Audio_Command
   "aplay -q -c 1 -t raw -f s16 -r \$SR \$FILE")
 EOF
 $ echo sup | festival --tts

From [0] of all places.  aplay is part of alsa-utils.

Kind regards,

T G-R

[0]: 
https://web.archive.org/web/20110522202347/http://ubuntuforums.org/showthread.php?t=171182&page=3

[0001-gnu-festival-Support-ALSA-output.patch (text/x-patch, inline)]
From 75c12a0838f4355c99ae3ee7f2bf8809be988f9f Mon Sep 17 00:00:00 2001
From: Tobias Geerinckx-Rice <me <at> tobias.gr>
Date: Mon, 6 Dec 2021 14:25:08 +0100
Subject: [PATCH] gnu: festival: Support ALSA output.

* gnu/packages/speech.scm (festival)[arguments]: Add "LINUXAUDIO=alsa"
to #:make-flags.
[inputs]: Add alsa-lib.
---
 gnu/packages/speech.scm | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm
index cbc46b32b4..bb1a7b8187 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -347,7 +347,8 @@ (define-public festival
                             "/bin/rm")
              (string-append "ECHO_N="
                             (assoc-ref %build-inputs "coreutils")
-                            "/bin/printf \"%s\""))
+                            "/bin/printf \"%s\"")
+             "LINUXAUDIO=alsa")
        #:parallel-build? #f ; not supported
        #:modules ((guix build gnu-build-system)
                   (guix build utils)
@@ -505,7 +506,8 @@ (define-public festival
          (add-before 'configure 'bootstrap
            (lambda _ (invoke "autoreconf" "-vif"))))))
     (inputs
-     `(("ncurses" ,ncurses)))
+     `(("alsa-lib" ,alsa-lib)
+       ("ncurses" ,ncurses)))
     (native-inputs
      `(("autoconf" ,autoconf)
        ("automake" ,automake)
-- 
2.34.0

[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 161 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.