about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNikolay Amiantov <ab@fmap.me>2016-09-05 04:44:51 +0400
committerGitHub <noreply@github.com>2016-09-05 04:44:51 +0400
commit845cb949fca5fdfc56749e092a67c22f0e4515f7 (patch)
tree5dd40f77e9856a33cc7758a0c06c7bdf5391539f
parent373afbd516de07d8e30e6e25be45700986f9ab1f (diff)
parentf0cf058c130cdd0716e56107ff40b3873ad7715f (diff)
downloadnixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar.gz
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar.bz2
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar.lz
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar.xz
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.tar.zst
nixlib-845cb949fca5fdfc56749e092a67c22f0e4515f7.zip
Merge pull request #18306 from aske/speech
Speech synthesizer improvements
-rw-r--r--lib/maintainers.nix1
-rw-r--r--pkgs/applications/audio/espeak-ng/default.nix35
-rw-r--r--pkgs/development/libraries/pcaudiolib/default.nix29
-rw-r--r--pkgs/development/libraries/sonic/default.nix25
-rw-r--r--pkgs/development/libraries/speechd/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix11
6 files changed, 102 insertions, 3 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 9f93fe321944..4f46636c860b 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -40,6 +40,7 @@
   arobyn = "Alexei Robyn <shados@shados.net>";
   artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
   ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
+  aske = "Kirill Boltaev <aske@fmap.me>";
   asppsa = "Alastair Pharo <asppsa@gmail.com>";
   astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
   aszlig = "aszlig <aszlig@redmoonstudios.org>";
diff --git a/pkgs/applications/audio/espeak-ng/default.nix b/pkgs/applications/audio/espeak-ng/default.nix
new file mode 100644
index 000000000000..cb2e15bc5b23
--- /dev/null
+++ b/pkgs/applications/audio/espeak-ng/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig
+, ronn
+, pcaudiolibSupport ? true, pcaudiolib
+, sonicSupport ? true, sonic }:
+
+stdenv.mkDerivation rec {
+  name = "espeak-ng-${version}";
+  version = "2016-08-28";
+
+  src = fetchFromGitHub {
+    owner = "espeak-ng";
+    repo = "espeak-ng";
+    rev = "b784e77c5708b61feed780d8f1113c4c8eb92200";
+    sha256 = "1whix4mv0qvsvifgpwwbdzhv621as3rxpn9ijqc2683h6k8pvcfk";
+  };
+
+  nativeBuildInputs = [ autoconf automake which libtool pkgconfig ronn ];
+
+  buildInputs = lib.optional pcaudiolibSupport pcaudiolib
+             ++ lib.optional sonicSupport sonic;
+
+  preConfigure = "./autogen.sh";
+
+  postInstall = ''
+    patchelf --set-rpath "$(patchelf --print-rpath $out/bin/espeak-ng)" $out/bin/speak-ng
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Open source speech synthesizer that supports over 70 languages, based on eSpeak";
+    homepage = "https://github.com/espeak-ng/espeak-ng";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ aske ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/pcaudiolib/default.nix b/pkgs/development/libraries/pcaudiolib/default.nix
new file mode 100644
index 000000000000..ccb7d4179df4
--- /dev/null
+++ b/pkgs/development/libraries/pcaudiolib/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig,
+  alsaLib, portaudio, 
+  pulseaudioSupport ? true, libpulseaudio }:
+
+stdenv.mkDerivation rec {
+  name = "pcaudiolib-${version}";
+  version = "2016-07-19";
+
+  src = fetchFromGitHub {
+    owner = "rhdunn";
+    repo = "pcaudiolib";
+    rev = "4f836ea909bdaa8a6e0e89c587efc745b546b459";
+    sha256 = "0z99nh4ibb9md2cd21762n1dmv6jk988785s1cxd8lsy4hp4pwfa";
+  };
+
+  nativeBuildInputs = [ autoconf automake which libtool pkgconfig ];
+
+  buildInputs = [ portaudio alsaLib ] ++ lib.optional pulseaudioSupport libpulseaudio;
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "Provides a C API to different audio devices";
+    homepage = "https://github.com/rhdunn/pcaudiolib";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ aske ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/sonic/default.nix b/pkgs/development/libraries/sonic/default.nix
new file mode 100644
index 000000000000..f5927cb73e6c
--- /dev/null
+++ b/pkgs/development/libraries/sonic/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "sonic-${version}";
+  version = "2016-03-01";
+
+  src = fetchFromGitHub {
+    owner = "waywardgeek";
+    repo = "sonic";
+    rev = "71bdf26c55716a45af50c667c0335a9519e952dd";
+    sha256 = "1kcl8fdf92kafmfhvyjal5gvkn99brkjyzbi9gw3rd5b30m3xz2b";
+  };
+
+  postPatch = ''
+    sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple library to speed up or slow down speech";
+    homepage = "https://github.com/waywardgeek/sonic";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aske ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix
index 1a943be0fc20..ee45c0d1c65a 100644
--- a/pkgs/development/libraries/speechd/default.nix
+++ b/pkgs/development/libraries/speechd/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "speech-dispatcher-${version}";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchurl {
     url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz";
-    sha256 = "0kqy7z4l59n2anc7xn588w4rkacig1hajx8c53qrh90ypar978ln";
+    sha256 = "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb";
   };
 
   buildInputs = [ intltool libtool glib dotconf libsndfile libao python3Packages.python ]
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index dfd94e1fb29b..dfe611573512 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -9055,6 +9055,10 @@ in
 
   pangoxsl = callPackage ../development/libraries/pangoxsl { };
 
+  pcaudiolib = callPackage ../development/libraries/pcaudiolib {
+    pulseaudioSupport = config.pulseaudio or true;
+  };
+
   pcg_c = callPackage ../development/libraries/pcg-c { };
 
   pcl = callPackage ../development/libraries/pcl {
@@ -9454,6 +9458,8 @@ in
 
   sofia_sip = callPackage ../development/libraries/sofia-sip { };
 
+  sonic = callPackage ../development/libraries/sonic { };
+
   soprano = callPackage ../development/libraries/soprano { };
 
   soqt = callPackage ../development/libraries/soqt { };
@@ -13023,7 +13029,10 @@ in
     pythonPackages = python3Packages;
   };
 
-  espeak = callPackage ../applications/audio/espeak { };
+  espeak-classic = callPackage ../applications/audio/espeak { };
+
+  espeak-ng = callPackage ../applications/audio/espeak-ng { };
+  espeak = self.espeak-ng;
 
   espeakedit = callPackage ../applications/audio/espeak/edit.nix { };