python3Packages.whisperx: init at 3.3.2 (#383191)
This commit is contained in:
commit
547c144d7d
1
pkgs/by-name/wh/whisperx/package.nix
Normal file
1
pkgs/by-name/wh/whisperx/package.nix
Normal file
@ -0,0 +1 @@
|
|||||||
|
{ python3Packages }: with python3Packages; toPythonApplication whisperx
|
||||||
87
pkgs/development/python-modules/whisperx/default.nix
Normal file
87
pkgs/development/python-modules/whisperx/default.nix
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
buildPythonPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
|
||||||
|
# build-system
|
||||||
|
setuptools,
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
ctranslate2,
|
||||||
|
faster-whisper,
|
||||||
|
nltk,
|
||||||
|
pandas,
|
||||||
|
pyannote-audio,
|
||||||
|
torch,
|
||||||
|
torchaudio,
|
||||||
|
transformers,
|
||||||
|
|
||||||
|
# native packages
|
||||||
|
ffmpeg,
|
||||||
|
ctranslate2-cpp, # alias for `pkgs.ctranslate2`, required due to colliding with the `ctranslate2` Python module.
|
||||||
|
|
||||||
|
# enable GPU support
|
||||||
|
cudaSupport ? torch.cudaSupport,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
ctranslate = ctranslate2.override {
|
||||||
|
ctranslate2-cpp = ctranslate2-cpp.override {
|
||||||
|
withCUDA = cudaSupport;
|
||||||
|
withCuDNN = cudaSupport;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildPythonPackage rec {
|
||||||
|
pname = "whisperx";
|
||||||
|
version = "3.3.2";
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "m-bain";
|
||||||
|
repo = "whisperX";
|
||||||
|
tag = "v${version}";
|
||||||
|
hash = "sha256-JJa8gUQjIcgJ5lug3ULGkHxkl66qnXkiUA3SwwUVpqk=";
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [ setuptools ];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
ctranslate
|
||||||
|
faster-whisper
|
||||||
|
nltk
|
||||||
|
pandas
|
||||||
|
pyannote-audio # Missing from pyproject.toml, but used in `whisperx/vad.py`
|
||||||
|
torch
|
||||||
|
torchaudio
|
||||||
|
transformers
|
||||||
|
];
|
||||||
|
|
||||||
|
# As `makeWrapperArgs` does not apply to the module, and whisperx depends on `ffmpeg`,
|
||||||
|
# we replace the `"ffmpeg"` string in `subprocess.run` with the full path to the binary.
|
||||||
|
# This works for both the program and the module.
|
||||||
|
# Every update, the codebase should be checked for further instances of `ffmpeg` calls.
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace whisperx/audio.py --replace-fail \
|
||||||
|
'"ffmpeg"' '"${lib.getExe ffmpeg}"'
|
||||||
|
'';
|
||||||
|
|
||||||
|
# > Checking runtime dependencies for whisperx-3.3.2-py3-none-any.whl
|
||||||
|
# > - faster-whisper==1.1.0 not satisfied by version 1.1.1
|
||||||
|
# This has been updated on main, so we expect this clause to be removed upon the next update.
|
||||||
|
pythonRelaxDeps = [ "faster-whisper" ];
|
||||||
|
|
||||||
|
pythonImportsCheck = [ "whisperx" ];
|
||||||
|
|
||||||
|
# No tests in repository
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
mainProgram = "whisperx";
|
||||||
|
description = "Automatic Speech Recognition with Word-level Timestamps (& Diarization)";
|
||||||
|
homepage = "https://github.com/m-bain/whisperX";
|
||||||
|
changelog = "https://github.com/m-bain/whisperX/releases/tag/${src.tag}";
|
||||||
|
license = lib.licenses.bsd2;
|
||||||
|
maintainers = [ lib.maintainers.bengsparks ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -18947,6 +18947,11 @@ self: super: with self; {
|
|||||||
|
|
||||||
whispers = callPackage ../development/python-modules/whispers { };
|
whispers = callPackage ../development/python-modules/whispers { };
|
||||||
|
|
||||||
|
whisperx = callPackage ../development/python-modules/whisperx {
|
||||||
|
inherit (pkgs) ffmpeg;
|
||||||
|
ctranslate2-cpp = pkgs.ctranslate2;
|
||||||
|
};
|
||||||
|
|
||||||
whitenoise = callPackage ../development/python-modules/whitenoise { };
|
whitenoise = callPackage ../development/python-modules/whitenoise { };
|
||||||
|
|
||||||
whodap = callPackage ../development/python-modules/whodap { };
|
whodap = callPackage ../development/python-modules/whodap { };
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user