mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-23 23:43:30 +00:00
tts: init at unstable-2020-06-17
This commit is contained in:
parent
a7455e6911
commit
c84ad307e6
123
pkgs/tools/audio/tts/default.nix
Normal file
123
pkgs/tools/audio/tts/default.nix
Normal file
@ -0,0 +1,123 @@
|
||||
{ lib
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, python3
|
||||
}:
|
||||
|
||||
#
|
||||
# Tested in the following setup:
|
||||
#
|
||||
# TTS model:
|
||||
# Tacotron2 DDC
|
||||
# https://drive.google.com/drive/folders/1Y_0PcB7W6apQChXtbt6v3fAiNwVf4ER5
|
||||
# Vocoder model:
|
||||
# Multi-Band MelGAN
|
||||
# https://drive.google.com/drive/folders/1XeRT0q4zm5gjERJqwmX5w84pMrD00cKD
|
||||
#
|
||||
# Arrange /tmp/tts like this:
|
||||
# scale_stats.npy
|
||||
# tts
|
||||
# tts/checkpoint_130000.pth.tar
|
||||
# tts/checkpoint_130000_tf.pkl
|
||||
# tts/checkpoint_130000_tf_2.3rc0.tflite
|
||||
# tts/config.json
|
||||
# tts/scale_stats.npy
|
||||
# vocoder
|
||||
# vocoder/checkpoint_1450000.pth.tar
|
||||
# vocoder/checkpoint_2750000_tf.pkl
|
||||
# vocoder/checkpoint_2750000_tf_v2.3rc.tflite
|
||||
# vocoder/config.json
|
||||
# vocoder/scale_stats.npy
|
||||
#
|
||||
# Start like this:
|
||||
# cd /tmp/tts
|
||||
# tts-server \
|
||||
# --vocoder_config ./tts/vocoder/config.json \
|
||||
# --vocoder_checkpoint ./tts/vocoder/checkpoint_1450000.pth.tar \
|
||||
# --tts_config ./tts/config.json \
|
||||
# --tts_checkpoint ./tts/checkpoint_130000.pth.tar
|
||||
#
|
||||
# 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 = "unstable-2020-06-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mozilla";
|
||||
repo = "TTS";
|
||||
rev = "72a6ac54c8cfaa407fc64b660248c6a788bdd381";
|
||||
sha256 = "1wvs264if9n5xzwi7ryxvwj1j513szp6sfj6n587xk1fphi0921f";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/mozilla/TTS/commit/36fee428b9f3f4ec1914b090a2ec9d785314d9aa.patch";
|
||||
sha256 = "sha256-pP0NxiyrsvQ0A7GEleTdT87XO08o7WxPEpb6Bmj66dc=";
|
||||
})
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
# numba jit tries to write to its cache directory
|
||||
export HOME=$TMPDIR
|
||||
sed -i -e 's!tensorflow==.*!tensorflow!' requirements.txt
|
||||
sed -i -e 's!librosa==[^"]*!librosa!' requirements.txt setup.py
|
||||
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
|
||||
# Not required for building/installation but for their development/ci workflow
|
||||
sed -i -e '/pylint/d' requirements.txt setup.py
|
||||
sed -i -e '/cardboardlint/d' requirements.txt setup.py
|
||||
'';
|
||||
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
matplotlib
|
||||
scipy
|
||||
pytorch
|
||||
flask
|
||||
attrdict
|
||||
bokeh
|
||||
soundfile
|
||||
tqdm
|
||||
librosa
|
||||
unidecode
|
||||
phonemizer
|
||||
tensorboardx
|
||||
fuzzywuzzy
|
||||
tensorflow_2
|
||||
inflect
|
||||
gdown
|
||||
pysbd
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
cp -r TTS/server/templates/ $out/${python3.sitePackages}/TTS/server
|
||||
'';
|
||||
|
||||
checkInputs = with python3Packages; [ pytestCheckHook ];
|
||||
|
||||
disabledTests = [
|
||||
# RuntimeError: fft: ATen not compiled with MKL support
|
||||
"test_torch_stft"
|
||||
"test_stft_loss"
|
||||
"test_multiscale_stft_loss"
|
||||
# AssertionErrors that I feel incapable of debugging
|
||||
"test_phoneme_to_sequence"
|
||||
"test_text2phone"
|
||||
"test_parametrized_gan_dataset"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/mozilla/TTS";
|
||||
description = "Deep learning for Text to Speech";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ hexa mic92 ];
|
||||
};
|
||||
}
|
@ -25840,6 +25840,8 @@ julia_15 = callPackage ../development/compilers/julia/1.5.nix {
|
||||
|
||||
tremulous = callPackage ../games/tremulous { };
|
||||
|
||||
tts = callPackage ../tools/audio/tts { };
|
||||
|
||||
tuxpaint = callPackage ../games/tuxpaint { };
|
||||
|
||||
tuxtype = callPackage ../games/tuxtype { };
|
||||
|
Loading…
Reference in New Issue
Block a user