unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#39721] [WIP PATCH] Parlatype
@ 2020-02-21 18:44 Nicolas Goaziou
  2020-03-20  9:56 ` [bug#39721] [WIP PATCH] Parlatype (v2) Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2020-02-21 18:44 UTC (permalink / raw)
  To: 39721

[-- Attachment #1: Type: text/plain, Size: 410 bytes --]

Hello,

I've been sitting on this patch for a few months now, but I'm stuck at
this point. 

So, this package is about Parlatype. It compiles fine, but doesn't
start, complaining about a missing Gstreamer dependency. As one can tell
from the FIXME, I attempted to fix it without much success. I think
fresh eyes are required.

Thank you for any love you'll give to that package.

Regards,

-- 
Nicolas Goaziou

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Add Parlatype (WIP) --]
[-- Type: text/x-diff, Size: 6154 bytes --]

From 5ac3fda0fcc7ce24d6f0ce023f2ba3919c4100b2 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#39721] [WIP PATCH] Parlatype (v2)
  2020-02-21 18:44 [bug#39721] [WIP PATCH] Parlatype Nicolas Goaziou
@ 2020-03-20  9:56 ` Nicolas Goaziou
  2020-03-20 16:34   ` Marius Bakke
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2020-03-20  9:56 UTC (permalink / raw)
  To: 39721

[-- Attachment #1: Type: text/plain, Size: 639 bytes --]

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> I've been sitting on this patch for a few months now, but I'm stuck at
> this point. 
>
> So, this package is about Parlatype. It compiles fine, but doesn't
> start, complaining about a missing Gstreamer dependency. As one can tell
> from the FIXME, I attempted to fix it without much success. I think
> fresh eyes are required.

Gentle bump.

I'm sending a rebased version of the patch.

The executable complains that "parlasphinx" plugin is missing from the
good gstreamer plugins. Yet, "libgstparlasphinx.so" is correctly
installed in "$out/lib/gstreamer-1.0/".

Any clue ?

Thanks!


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: WIP Parlatype (v2) --]
[-- Type: text/x-diff, Size: 6207 bytes --]

From f9bb2ed8fa47fae8d5b154fdd8cdf6d9176a26f0 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
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 5fdf2cdbd8..1fbdd5d501 100644
--- a/gnu/packages/speech.scm
+++ b/gnu/packages/speech.scm
@@ -28,19 +28,29 @@
   #: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 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 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))
 
@@ -471,3 +481,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 cannot
+         ;; find gstreamer good plugin (parlasphinx).
+         (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.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#39721] [WIP PATCH] Parlatype (v2)
  2020-03-20  9:56 ` [bug#39721] [WIP PATCH] Parlatype (v2) Nicolas Goaziou
@ 2020-03-20 16:34   ` Marius Bakke
  2020-03-21 16:34     ` [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2)) Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2020-03-20 16:34 UTC (permalink / raw)
  To: Nicolas Goaziou, 39721

[-- Attachment #1: Type: text/plain, Size: 926 bytes --]

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
>> I've been sitting on this patch for a few months now, but I'm stuck at
>> this point. 
>>
>> So, this package is about Parlatype. It compiles fine, but doesn't
>> start, complaining about a missing Gstreamer dependency. As one can tell
>> from the FIXME, I attempted to fix it without much success. I think
>> fresh eyes are required.
>
> Gentle bump.
>
> I'm sending a rebased version of the patch.
>
> The executable complains that "parlasphinx" plugin is missing from the
> good gstreamer plugins. Yet, "libgstparlasphinx.so" is correctly
> installed in "$out/lib/gstreamer-1.0/".
>
> Any clue ?

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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2))
  2020-03-20 16:34   ` Marius Bakke
@ 2020-03-21 16:34     ` Nicolas Goaziou
  2020-03-29 18:55       ` Marius Bakke
  0 siblings, 1 reply; 6+ messages in thread
From: Nicolas Goaziou @ 2020-03-21 16:34 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 39721

[-- Attachment #1: Type: text/plain, Size: 613 bytes --]

Hello,

Marius Bakke <mbakke@fastmail.com> 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

[-- Attachment #2: Add sphinxbase --]
[-- Type: text/x-diff, Size: 3070 bytes --]

From 3e0151bbc9ad3171371142c9b793f48cc7583979 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
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 © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; 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))
 
@@ -471,3 +476,34 @@ 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)
+       ("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)))
-- 
2.25.1


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: Add pocketsphinx --]
[-- Type: text/x-diff, Size: 2088 bytes --]

From c413571972b51c97c5432f0428b64f492adb4ff1 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: Add parlatype --]
[-- Type: text/x-diff, Size: 3967 bytes --]

From 9e6789d0b075d8881c6e10f2fb56d7bc56cd0907 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <mail@nicolasgoaziou.fr>
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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2))
  2020-03-21 16:34     ` [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2)) Nicolas Goaziou
@ 2020-03-29 18:55       ` Marius Bakke
  2020-03-29 20:42         ` bug#39721: [PATCH] Parlatype (v3) Nicolas Goaziou
  0 siblings, 1 reply; 6+ messages in thread
From: Marius Bakke @ 2020-03-29 18:55 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: 39721

[-- Attachment #1: Type: text/plain, Size: 784 bytes --]

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:

> Hello,
>
> Marius Bakke <mbakke@fastmail.com> 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).

The patches LGTM.  Perhaps Parlatype fits in gnome.scm?  That way we
don't have to include that module in speech.scm.

Thanks!

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39721: [PATCH] Parlatype (v3)
  2020-03-29 18:55       ` Marius Bakke
@ 2020-03-29 20:42         ` Nicolas Goaziou
  0 siblings, 0 replies; 6+ messages in thread
From: Nicolas Goaziou @ 2020-03-29 20:42 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 39721-done

Hello,

Marius Bakke <mbakke@fastmail.com> writes:

> The patches LGTM.  Perhaps Parlatype fits in gnome.scm?  That way we
> don't have to include that module in speech.scm.

Fair enough.

I applied the three patches as 337fc72228df2b01f024c1276703ea4369cee37d,
9e9dd4098f7a2de658625a0e803d4955ce6ba8fd and
1a17d21b24f56a02282821fc04cca54637d84170.

Thank you!

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-03-29 20:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-21 18:44 [bug#39721] [WIP PATCH] Parlatype Nicolas Goaziou
2020-03-20  9:56 ` [bug#39721] [WIP PATCH] Parlatype (v2) Nicolas Goaziou
2020-03-20 16:34   ` Marius Bakke
2020-03-21 16:34     ` [bug#39721] [PATCH] Parlatype (v3) (was: Re: [WIP PATCH] Parlatype (v2)) Nicolas Goaziou
2020-03-29 18:55       ` Marius Bakke
2020-03-29 20:42         ` bug#39721: [PATCH] Parlatype (v3) Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).