mensa-tts/default.nix
Sebastian 380f0d5ada Updated to nixos 25.11
Updated TTS to 0.27.2
2025-12-13 11:45:06 +01:00

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;
};
}