about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/audio/whisper-ctranslate2/default.nix40
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/tools/audio/whisper-ctranslate2/default.nix b/pkgs/tools/audio/whisper-ctranslate2/default.nix
new file mode 100644
index 0000000000000..6ca3226bf67ab
--- /dev/null
+++ b/pkgs/tools/audio/whisper-ctranslate2/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, fetchFromGitHub
+, nix-update-script
+, python3
+}:
+let
+  pname = "whisper-ctranslate2";
+  version = "0.2.7";
+in
+python3.pkgs.buildPythonApplication {
+  inherit pname version;
+  format = "setuptools";
+
+  disabled = python3.pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "Softcatala";
+    repo = pname;
+    rev = version;
+    hash = "sha256-dUmQNKgH+SIlLhUEiaEGXUHZQDr3fidsAU2vATJiXBU=";
+  };
+
+  propagatedBuildInputs = with python3.pkgs; [
+    numpy
+    faster-whisper
+    ctranslate2
+    tqdm
+    sounddevice
+  ];
+
+  passthru.updateScript = nix-update-script { };
+
+  meta = with lib; {
+    description = "Whisper command line client compatible with original OpenAI client based on CTranslate2";
+    homepage = "https://github.com/Softcatala/whisper-ctranslate2";
+    changelog = "https://github.com/Softcatala/whisper-ctranslate2/releases/tag/${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index c15e408fa5f41..79eec276e0fa8 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -35648,6 +35648,8 @@ with pkgs;
 
   whispers = with python3Packages; toPythonApplication whispers;
 
+  whisper-ctranslate2 = callPackage ../tools/audio/whisper-ctranslate2 { };
+
   waon = callPackage ../applications/audio/waon { };
 
   warp = callPackage ../applications/networking/warp { };