diff --git a/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch new file mode 100644 index 000000000000..1af62cb1fe22 --- /dev/null +++ b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch @@ -0,0 +1,29 @@ +diff --git a/setup.py b/setup.py +index 1c0b2d2..bbff1d1 100644 +--- a/setup.py ++++ b/setup.py +@@ -35,4 +35,9 @@ setup( + "Programming Language :: Python :: 3.10", + ], + keywords="rhasspy wyoming whisper", ++ entry_points={ ++ 'console_scripts': [ ++ 'wyoming-faster-whisper = wyoming_faster_whisper:__main__.run' ++ ] ++ } + ) +diff --git a/wyoming_faster_whisper/__main__.py b/wyoming_faster_whisper/__main__.py +index 5557cc5..bb9d69f 100755 +--- a/wyoming_faster_whisper/__main__.py ++++ b/wyoming_faster_whisper/__main__.py +@@ -131,5 +131,9 @@ async def main() -> None: + + # ----------------------------------------------------------------------------- + +-if __name__ == "__main__": ++def run(): + asyncio.run(main()) ++ ++ ++if __name__ == "__main__": ++ run() diff --git a/pkgs/tools/audio/wyoming/faster-whisper.nix b/pkgs/tools/audio/wyoming/faster-whisper.nix new file mode 100644 index 000000000000..747947322345 --- /dev/null +++ b/pkgs/tools/audio/wyoming/faster-whisper.nix @@ -0,0 +1,40 @@ +{ lib +, python3 +, fetchPypi +}: + +python3.pkgs.buildPythonApplication rec { + pname = "wyoming-faster-whisper"; + version = "0.0.3"; + format = "setuptools"; + + src = fetchPypi { + pname = "wyoming_faster_whisper"; + inherit version; + hash = "sha256-uqepa70lprzV3DJK2wrNAAyZkMMJ5S86RKK716zxYU4="; + }; + + patches = [ + ./faster-whisper-entrypoint.patch + ]; + + propagatedBuildInputs = with python3.pkgs; [ + ctranslate2 + tokenizers + wyoming + ]; + + pythonImportsCheck = [ + "wyoming_faster_whisper" + ]; + + # no tests + doCheck = false; + + meta = with lib; { + description = "Wyoming Server for Faster Whisper"; + homepage = "https://pypi.org/project/wyoming-faster-whisper/"; + license = licenses.mit; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index befc154ae6e7..5fa294e2e1c9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -36199,6 +36199,8 @@ with pkgs; tts = callPackage ../tools/audio/tts { }; + wyoming-faster-whisper = callPackage ../tools/audio/wyoming/faster-whisper.nix { }; + wyoming-piper = callPackage ../tools/audio/wyoming/piper.nix { }; ### GAMES