diff options
Diffstat (limited to 'gnu/packages/speech.scm')
-rw-r--r-- | gnu/packages/speech.scm | 101 |
1 files changed, 95 insertions, 6 deletions
diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 065aa81543..2d6c63e3f9 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -1,8 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> -;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2016, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,17 +24,101 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) #:use-module (gnu packages textutils)) +(define-public espeak + (package + (name "espeak") + (version "1.48.04") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/espeak/espeak/" + "espeak-" (version-major+minor version) + "/espeak-" version "-source.zip")) + (sha256 + (base32 + "0n86gwh9pw0jqqpdz7mxggllfr8k0r7pc67ayy7w5z6z79kig6mz")) + (modules '((guix build utils))) + (snippet + ;; remove prebuilt binaries + '(begin + (delete-file-recursively "linux_32bit") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "DATADIR=" + (assoc-ref %outputs "out") + "/share/espeak-data") + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib") + "AUDIO=pulseaudio") + #:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda _ + (chdir "src") + ;; We use version 19 of the PortAudio library, so we must copy the + ;; corresponding file to be sure that espeak compiles correctly. + (copy-file "portaudio19.h" "portaudio.h") + (substitute* "Makefile" + (("/bin/ln") "ln")) + #t))))) + (inputs + `(("portaudio" ,portaudio) + ("pulseaudio" ,pulseaudio))) + (native-inputs `(("unzip" ,unzip))) + (home-page "http://espeak.sourceforge.net/") + (synopsis "Software speech synthesizer") + (description "eSpeak is a software speech synthesizer for English and +other languages. eSpeak uses a \"formant synthesis\" method. This allows many +languages to be provided in a small size. The speech is clear, and can be used +at high speeds, but is not as natural or smooth as larger synthesizers which are +based on human speech recordings.") + (license license:gpl3+))) + +(define-public espeak-ng + (package + (name "espeak-ng") + (version "1.49.2") + (home-page "https://github.com/espeak-ng/espeak-ng") + (source (origin + (method url-fetch) + (uri (string-append home-page "/releases/download/" version + "/espeak-ng-" version ".tar.gz")) + (sha256 + (base32 "1d10x9rbvqi2zwcz65fxh04k0x0scnk7732l37laz6xra1ldhzng")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--disable-static") + ;; Building in parallel triggers a race condition in 1.49.2. + #:parallel-build? #f + ;; XXX: Some tests require an audio device. + #:tests? #f)) + (inputs + `(("libcap" ,libcap) + ("pcaudiolib" ,pcaudiolib))) + (synopsis "Software speech synthesizer") + (description + "eSpeak NG is a software speech synthesizer for more than 100 languages. +It is based on the eSpeak engine and supports spectral and Klatt formant +synthesis, and the ability to use MBROLA voices.") + (license license:gpl3+))) + (define-public mitlm (package (name "mitlm") @@ -60,22 +145,26 @@ efficiency through the use of a compact vector representation of n-grams.") (define-public speech-dispatcher (package (name "speech-dispatcher") - (version "0.8.5") + (version "0.9.0") (source (origin (method url-fetch) - (uri (string-append "https://devel.freebsoft.org/pub/" - "projects/speechd/speech-dispatcher-" + (uri (string-append "https://github.com/brailcom/speechd/releases" + "/download/" version "/speech-dispatcher-" version ".tar.gz")) (sha256 (base32 - "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb")))) + "1yd2rb02565picga4gh2a0bvfxbhdyaj0cv9aaj5a8fc5zs29fbk")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags '("--disable-static" + ;; Disable support for proprietary TTS engines. + "--with-kali=no" "--with-baratinoo=no"))) (native-inputs `(("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs `(("dotconf" ,dotconf) - ("espeak" ,espeak) + ("espeak" ,espeak-ng) ("glib" ,glib) ("libltdl" ,libltdl) ("libsndfile" ,libsndfile) |