107 lines
2 KiB
Nix
107 lines
2 KiB
Nix
{ lib, python313Packages, pkgs }:
|
|
with python313Packages;
|
|
let
|
|
# Maintained fork of the original TTS package
|
|
coqui-tts =
|
|
let
|
|
pname = "coqui_tts";
|
|
version = "0.27.2";
|
|
in
|
|
buildPythonPackage {
|
|
inherit pname version;
|
|
src = pkgs.fetchPypi {
|
|
inherit pname version;
|
|
sha256 = "sha256-GBxcUf4sVxG0H54KHMvSaZZXI1vpJ3oEruwoWhihtpM=";
|
|
};
|
|
doCheck = false;
|
|
pyproject = true;
|
|
|
|
build-system = [
|
|
hatchling
|
|
|
|
];
|
|
|
|
postPatch =
|
|
let
|
|
relaxedConstraints = [
|
|
"bnunicodenormalizer"
|
|
"coqpit-config"
|
|
"cython"
|
|
"gruut"
|
|
"inflect"
|
|
"librosa"
|
|
"mecab-python3"
|
|
"numba"
|
|
"numpy"
|
|
"unidic-lite"
|
|
"trainer"
|
|
"spacy\\[ja\\]"
|
|
"transformers"
|
|
"torch"
|
|
"torchaudio"
|
|
];
|
|
in
|
|
''
|
|
sed -r -i \
|
|
${lib.concatStringsSep "\n" (
|
|
map (package: ''-e 's/${package}\s*[<>=]+[^"]+/${package}/g' \'') relaxedConstraints
|
|
)}
|
|
pyproject.toml
|
|
'';
|
|
|
|
|
|
nativeBuildInputs = [ pkgs.espeak-ng ];
|
|
|
|
dependencies = [
|
|
cython
|
|
numpy
|
|
torch
|
|
torchaudio
|
|
coqpit
|
|
trainer
|
|
pysbd
|
|
pandas
|
|
matplotlib
|
|
anyascii
|
|
inflect
|
|
bangla
|
|
bnnumerizer
|
|
bnunicodenormalizer
|
|
gruut
|
|
jamo
|
|
jieba
|
|
pypinyin
|
|
pkgs.espeak
|
|
einops
|
|
encodec
|
|
librosa
|
|
monotonic-alignment-search
|
|
scipy
|
|
tqdm
|
|
transformers
|
|
];
|
|
};
|
|
in
|
|
buildPythonApplication {
|
|
pname = "mensa-tts";
|
|
version = "1.0";
|
|
pyproject = true;
|
|
src = ./.;
|
|
|
|
build-system = [
|
|
setuptools
|
|
setuptools-scm
|
|
];
|
|
|
|
dependencies = [
|
|
requests
|
|
coqui-tts
|
|
librosa
|
|
];
|
|
|
|
meta = with lib; {
|
|
description = "Satnogs Demo Display";
|
|
homepage = "https://forgejo.zenerdio.de/sebastian/satnogs-demo-display";
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|