From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:49725) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jFh5U-0006MW-8Z for guix-patches@gnu.org; Sat, 21 Mar 2020 12:35:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jFh5S-0006up-7x for guix-patches@gnu.org; Sat, 21 Mar 2020 12:35:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:41888) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jFh5R-0006uV-TB for guix-patches@gnu.org; Sat, 21 Mar 2020 12:35:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jFh5R-0006iR-QG for guix-patches@gnu.org; Sat, 21 Mar 2020 12:35:01 -0400 Subject: [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2)) Resent-Message-ID: From: Nicolas Goaziou References: <87o8treqe3.fsf@nicolasgoaziou.fr> <87lfnvbb8c.fsf@nicolasgoaziou.fr> <87zhcb7zp2.fsf@devup.no> Date: Sat, 21 Mar 2020 17:34:17 +0100 In-Reply-To: <87zhcb7zp2.fsf@devup.no> (Marius Bakke's message of "Fri, 20 Mar 2020 17:34:17 +0100") Message-ID: <87k13d8y5y.fsf_-_@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Marius Bakke Cc: 39721@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello, Marius Bakke writes: > Maybe you need to add $out/lib/gstreamer-1.0 to the wrapped > GST_PLUGIN_SYSTEM_PATH variable. Currently it will only get wrapped > with the gstreamer plugins added as inputs, and not itself, IIUC. That was it. Thank you! Here are the patches, now for real submission. I'm not sure about the location for parlatype. I added it to "speech.scm" because it is mainly used for audio transcription, but it can read any audio file. It has apparently some video support, too, but I didn't try (and it may be missing some plugins). Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-diff; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-sphinxbase.patch Content-Transfer-Encoding: quoted-printable Content-Description: Add sphinxbase >From 3e0151bbc9ad3171371142c9b793f48cc7583979 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 21 Mar 2020 14:17:52 +0100 Subject: [PATCH 1/3] gnu: Add sphinxbase. * gnu/packages/speech.scm (sphinxbase): New variable. --- gnu/packages/speech.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 5fdf2cdbd8..41010cb1dc 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -5,6 +5,7 @@ ;;; Copyright =C2=A9 2018 Tobias Geerinckx-Rice ;;; Copyright =C2=A9 2016 Kei Kebreau ;;; Copyright =C2=A9 2019 Ricardo Wurmus +;;; Copyright =C2=A9 2020 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,15 +33,19 @@ #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) ;for 'which' + #:use-module (gnu packages bison) #:use-module (gnu packages compression) + #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #: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)) =20 @@ -471,3 +476,34 @@ The system is written in C++ and uses the Edinburgh Sp= eech Tools Library for low level architecture and has a Scheme (SIOD) based command interpreter f= or 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) + ("swig" ,swig))) + (inputs + `(("pulseaudio" ,pulseaudio))) + (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))) --=20 2.25.1 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0002-gnu-Add-pocketsphinx.patch Content-Description: Add pocketsphinx >From c413571972b51c97c5432f0428b64f492adb4ff1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 21 Mar 2020 15:59:01 +0100 Subject: [PATCH 2/3] gnu: Add pocketsphinx. * gnu/packages/speech.scm (pocketsphinx): New variable. --- gnu/packages/speech.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 41010cb1dc..8ee6fbfdc4 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages emacs) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) + #:use-module (gnu packages gstreamer) #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) @@ -507,3 +508,33 @@ 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) + ("swig" ,swig))) + (inputs + `(("gstreamer" ,gstreamer) + ("libcap" ,libcap) + ("pulseaudio" ,pulseaudio) + ("sphinxbase" ,sphinxbase))) + (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))) -- 2.25.1 --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0003-gnu-Add-parlatype.patch Content-Description: Add parlatype >From 9e6789d0b075d8881c6e10f2fb56d7bc56cd0907 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 21 Mar 2020 17:19:15 +0100 Subject: [PATCH 3/3] gnu: Add parlatype. * gnu/packages/speech.scm (parlatype): New variable. --- gnu/packages/speech.scm | 62 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/speech.scm b/gnu/packages/speech.scm index 8ee6fbfdc4..64616d1484 100644 --- a/gnu/packages/speech.scm +++ b/gnu/packages/speech.scm @@ -29,6 +29,7 @@ #: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) @@ -37,9 +38,13 @@ #: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) @@ -538,3 +543,60 @@ manipulating acoustic feature and audio files.") large vocabulary, speaker-independent continuous speech recognition engine.") (license license:bsd-2))) + +(define-public parlatype + ;; This is one commit away from 2.0, because the latter introduced + ;; a regression in ASR. + (let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9") + (revision "1")) + (package + (name "parlatype") + (version (git-version "2.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gkarsay/parlatype.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:tests? #f ;require internet access + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-parlatype + ;; Add gstreamer plugin provided in this packages to system's + ;; plugins. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (gst-plugin-path (string-append + out "/lib/gstreamer-1.0/" + ":" + (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.1 --=-=-=--