From faa7d81bd1fab71100667515e21df684ec3f12c5 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Fri, 30 Jun 2023 01:44:52 +0200 Subject: [PATCH] python310Packages.piper-phonemize: init Python bindings for phonemization library used by the Piper text to speech system. --- .../libraries/piper-phonemize/default.nix | 19 ++--------- .../piper-phonemize/default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 5 +++ 3 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 pkgs/development/python-modules/piper-phonemize/default.nix diff --git a/pkgs/development/libraries/piper-phonemize/default.nix b/pkgs/development/libraries/piper-phonemize/default.nix index 137625355ec..fd1c1ae34b4 100644 --- a/pkgs/development/libraries/piper-phonemize/default.nix +++ b/pkgs/development/libraries/piper-phonemize/default.nix @@ -37,11 +37,6 @@ stdenv.mkDerivation rec { hash = "sha256-cMer7CSLOXv3jc9huVA3Oy5cjXjOX9XuEXpIWau1BNQ="; }; - outputs = [ - "out" - "dev" - ]; - nativeBuildInputs = [ cmake pkg-config @@ -52,17 +47,9 @@ stdenv.mkDerivation rec { onnxruntime ]; - ainstallPhase = '' - runHook preInstall - - install -d $out/lib - install ./libpiper_phonemize.so $out/lib - - install -d $dev/include/piper_phonemize - install -D ../src/*.hpp $dev/include - - runHook postInstall - ''; + passthru = { + espeak-ng = espeak-ng'; + }; meta = with lib; { description = "C++ library for converting text to phonemes for Piper"; diff --git a/pkgs/development/python-modules/piper-phonemize/default.nix b/pkgs/development/python-modules/piper-phonemize/default.nix new file mode 100644 index 00000000000..cd09567a61e --- /dev/null +++ b/pkgs/development/python-modules/piper-phonemize/default.nix @@ -0,0 +1,34 @@ +{ buildPythonPackage +, onnxruntime-native +, piper-phonemize-native +, pybind11 +, setuptools +}: + +buildPythonPackage { + inherit (piper-phonemize-native) pname version src; + format = "pyproject"; + + nativeBuildInputs = [ + pybind11 + setuptools + ]; + + buildInputs = [ + onnxruntime-native + piper-phonemize-native + piper-phonemize-native.espeak-ng + ]; + + pythonImportsCheck = [ + "piper_phonemize" + ]; + + # no tests + doCheck = false; + + meta = { + description = "Phonemization libary used by Piper text to speech system"; + inherit (piper-phonemize-native.meta) homepage license maintainers; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 83b45cde21b..e3e9a7ce7a6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7965,6 +7965,11 @@ self: super: with self; { pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { }; + piper-phonemize = callPackage ../development/python-modules/piper-phonemize { + onnxruntime-native = pkgs.onnxruntime; + piper-phonemize-native = pkgs.piper-phonemize; + }; + piper-train = callPackage ../development/python-modules/piper-train { }; pip-api = callPackage ../development/python-modules/pip-api { };