diff options
Diffstat (limited to 'nixpkgs/pkgs/tools/audio/tts/default.nix')
-rw-r--r-- | nixpkgs/pkgs/tools/audio/tts/default.nix | 69 |
1 files changed, 42 insertions, 27 deletions
diff --git a/nixpkgs/pkgs/tools/audio/tts/default.nix b/nixpkgs/pkgs/tools/audio/tts/default.nix index 325039d68650..3a10881b6055 100644 --- a/nixpkgs/pkgs/tools/audio/tts/default.nix +++ b/nixpkgs/pkgs/tools/audio/tts/default.nix @@ -2,6 +2,7 @@ , python3Packages , fetchFromGitHub , python3 +, fetchpatch }: # USAGE: @@ -9,24 +10,32 @@ # # pick your favorite vocoder/tts model # $ tts-server --model_name tts_models/en/ljspeech/glow-tts --vocoder_name vocoder_models/universal/libri-tts/fullband-melgan # +# If you upgrade from an old version you may have to delete old models from ~/.local/share/tts +# Also note that your tts version might not support all available models so check: +# https://github.com/coqui-ai/TTS/releases/tag/v0.0.12 +# # For now, for deployment check the systemd unit in the pull request: # https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136 -# python3Packages.buildPythonApplication rec { pname = "tts"; - # until https://github.com/mozilla/TTS/issues/424 is resolved - # we treat released models as released versions: - # https://github.com/mozilla/TTS/wiki/Released-Models - version = "0.0.9"; + version = "0.0.12"; src = fetchFromGitHub { - owner = "mozilla"; + owner = "coqui-ai"; repo = "TTS"; - rev = "df5899daf4ba4ec89544edf94f9c2e105c544461"; - sha256 = "sha256-lklG8DqG04LKJY93z2axeYhW8gtpbRG41o9ow2gJjuA="; + rev = "v${version}"; + sha256 = "sha256-0M9wcdBmuTK+NvEGsXEdoYiVFjw8G2MRUwmi1PJgmzI="; }; + patches = [ + # https://github.com/coqui-ai/TTS/pull/435 + (fetchpatch { + url = "https://github.com/coqui-ai/TTS/commit/97f98e4c4584ef14ed2f4885aa02c162d9364a00.patch"; + sha256 = "sha256-DAZYOOAe+6TYBF5ukFq5HRwm49askEvNEivuwb/oCWM="; + }) + ]; + preBuild = '' # numba jit tries to write to its cache directory export HOME=$TMPDIR @@ -37,7 +46,11 @@ python3Packages.buildPythonApplication rec { sed -i -e 's!unidecode==[^"]*!unidecode!' requirements.txt setup.py sed -i -e 's!bokeh==[^"]*!bokeh!' requirements.txt setup.py sed -i -e 's!numba==[^"]*!numba!' requirements.txt setup.py + sed -i -e 's!numpy==[^"]*!numpy!' requirements.txt setup.py + sed -i -e 's!umap-learn==[^"]*!umap-learn!' requirements.txt setup.py # Not required for building/installation but for their development/ci workflow + sed -i -e '/black/d' requirements.txt + sed -i -e '/isor/d' requirements.txt sed -i -e '/pylint/d' requirements.txt sed -i -e '/cardboardlint/d' requirements.txt setup.py ''; @@ -45,24 +58,25 @@ python3Packages.buildPythonApplication rec { nativeBuildInputs = [ python3Packages.cython ]; propagatedBuildInputs = with python3Packages; [ - matplotlib - scipy - pytorch - flask attrdict bokeh - soundfile - tqdm - librosa - unidecode - umap-learn - phonemizer - tensorboardx + flask fuzzywuzzy - inflect gdown + inflect + jieba + librosa + matplotlib + phonemizer + pypinyin pysbd - pyworld + pytorch + scipy + soundfile + tensorboardx + tqdm + umap-learn + unidecode ]; postInstall = '' @@ -92,16 +106,17 @@ python3Packages.buildPythonApplication rec { mv TTS{,.old} ''; - pytestFlagsArray = [ + disabledTestPaths = [ # requires tensorflow - "--ignore=tests/test_tacotron2_tf_model.py" - "--ignore=tests/test_vocoder_tf_melgan_generator.py" - "--ignore=tests/test_vocoder_tf_pqmf.py" + "tests/test_tacotron2_tf_model.py" + "tests/test_vocoder_tf_melgan_generator.py" + "tests/test_vocoder_tf_pqmf.py" ]; meta = with lib; { - homepage = "https://github.com/mozilla/TTS"; - description = "Deep learning for Text to Speech"; + homepage = "https://github.com/coqui-ai/TTS"; + changelog = "https://github.com/coqui-ai/TTS/releases/tag/v${version}"; + description = "Deep learning toolkit for Text-to-Speech, battle-tested in research and production"; license = licenses.mpl20; maintainers = with maintainers; [ hexa mic92 ]; }; |