From 5ac3fda0fcc7ce24d6f0ce023f2ba3919c4100b2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Feb 2020 09:40:03 +0100 Subject: [PATCH] gnu: Add parlatype. * gnu/packages/speech.scm (sphinxbase, pocketsphinx, parlatype): New variables. --- gnu/packages/speech.scm | 121 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 21ad6f8928..44d3e3948d 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -28,18 +28,28 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) + #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils)) @@ -461,3 +471,114 @@ The system is written in C++ and uses the Edinburgh Speech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter for control.") (license (license:non-copyleft "file://COPYING")))) + +(define-public sphinxbase + (package + (name "sphinxbase") + (version "5prealpha") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cmusphinx/" + "sphinxbase/" version "/" + "sphinxbase-" version ".tar.gz")) + (sha256 + (base32 "0vr4k8pv5a8nvq9yja7kl13b5lh0f9vha8fc8znqnm8bwmcxnazp")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-tests? #f)) ;tests fail otherwise + (native-inputs + `(("bison" ,bison) + ("doxygen" ,doxygen) + ("perl" ,perl) ;for tests + ("python" ,python))) + (inputs + `(("pulseaudio" ,pulseaudio) + ("swig" ,swig))) + (home-page "https://cmusphinx.github.io/") + (synopsis "Support library required by Pocketsphinx and Sphinxtrain") + (description "This package contains the basic libraries shared by +the CMU Sphinx trainer and all the Sphinx decoders (Sphinx-II, +Sphinx-III, and PocketSphinx), as well as some common utilities for +manipulating acoustic feature and audio files.") + (license license:bsd-4))) + +(define-public pocketsphinx + (package + (name "pocketsphinx") + (version "5prealpha") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/cmusphinx/" + "pocketsphinx/" version "/" + "pocketsphinx-" version ".tar.gz")) + (sha256 + (base32 "1n9yazzdgvpqgnfzsbl96ch9cirayh74jmpjf7svs4i7grabanzg")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("perl" ,perl) ;for tests + ("python" ,python))) + (inputs + `(("gstreamer" ,gstreamer) + ("libcap" ,libcap) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase) + ("swig" ,swig))) + (home-page "https://cmusphinx.github.io/") + (synopsis "Recognizer library written in C") + (description "PocketSphinx is one of Carnegie Mellon University's +large vocabulary, speaker-independent continuous speech recognition +engine.") + (license license:bsd-2))) + +(define-public parlatype + (package + (name "parlatype") + (version "1.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gkarsay/parlatype.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1nbn939cramizbyp2s57hmlb3hpr02i0az2f1z570mjc7jqgd8g8")))) + (build-system meson-build-system) + (arguments + `(#:tests? #f ;require internet access + #:configure-flags (list "-Dlibreoffice=false") + #:phases + (modify-phases %standard-phases + ;; FIXME: The following doesn't work; at runtime, parlatype + ;; executable cannot find gstreamer good plugin (playbin). + (add-after 'install 'wrap-parlatype + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/parlatype") + `("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path)))) + #t))))) + (native-inputs + `(("appstream-glib" ,appstream-glib) + ("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate + ("gettext" ,gettext-minimal) + ("glib" ,glib "bin") ;for glib-compile-resources + ("pkg-config" ,pkg-config) + ("yelp-tools" ,yelp-tools))) + (inputs + `(("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gstreamer" ,gstreamer) + ("gtk+" ,gtk+) + ("pocketsphinx" ,pocketsphinx) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase))) + (home-page "http://gkarsay.github.io/parlatype/") + (synopsis "GNOME audio player for transcription") + (description "Parlatype is an audio player for the GNOME desktop +environment. Its main purpose is the manual transcription of spoken +audio files.") + (license license:gpl3+))) -- 2.25.0