GNU bug report logs - #72027
[PATCH] gnu: Add whisper-cpp.

Previous Next

Package: guix-patches;

Reported by: Andy Tai <atai <at> atai.org>

Date: Wed, 10 Jul 2024 04:54:02 UTC

Severity: normal

Tags: patch

Done: dannym <at> friendly-machines.com

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Andy Tai <atai <at> atai.org>
To: 72027 <at> debbugs.gnu.org
Cc: Andy Tai <atai <at> atai.org>
Subject: [bug#72027] [PATCH v8] gnu: Add whisper-cpp.
Date: Tue, 24 Sep 2024 19:39:54 -0700
* gnu/packages/machine-learning.scm (whisper-cpp): New variable.

Change-Id: I8db67dc543c0a1280e2cc5e8c03945b9ccdb9975
---
 gnu/packages/machine-learning.scm | 52 +++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm
index 5d34283947..013d740673 100644
--- a/gnu/packages/machine-learning.scm
+++ b/gnu/packages/machine-learning.scm
@@ -118,6 +118,7 @@ (define-module (gnu packages machine-learning)
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages regex)
   #:use-module (gnu packages rpc)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages sphinx)
   #:use-module (gnu packages statistics)
@@ -6067,6 +6068,57 @@ (define-public oneapi-dnnl-for-r-torch
        (sha256
         (base32 "1zyw5rd8x346bb7gac9a7x3saviw3zvp6aqz2z1l9sv163vmjfz6"))))))
 
+(define-public whisper-cpp
+  (package
+    (name "whisper-cpp")
+    (version "1.6.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ggerganov/whisper.cpp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "01q4j602wkvsf9vw0nsazzgvjppf4fhpy90vqnm9affynyxhi0c4"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~'("-DWHISPER_STANDALONE=TRUE" "-DWHISPER_SDL2=TRUE")
+      ;; "-DWHISPER_FFMPEG=TRUE"  ; TODO
+      #:phases #~(modify-phases %standard-phases
+           #$@(if (not (target-64bit?))
+                  '((add-after 'unpack 'skip-failing-tests
+                     (lambda _
+                              ;; 32-bit system
+                              ;; large model does not fit in RAM in 32-bit system,
+                              ;; disable large model test
+                              (substitute* "tests/CMakeLists.txt"
+                                  (("LABELS \"large\"")
+                                   "DISABLED true")))))
+                  '()))))
+    (inputs (list sdl2)) ;ffmpeg openblas  ;TODO:
+    (native-inputs (list pkg-config))
+    (properties '((tunable? . #t))) ;use AVX512, FMA, etc. when available
+    (home-page "https://github.com/ggerganov/whisper.cpp")
+    (synopsis "OpenAI's Whisper model in C/C++")
+    (description
+     "This package is a high-performance inference of OpenAI's
+Whisper automatic speech recognition (ASR) model, implemented in plain C/C++
+without dependencies, with
+@itemize
+@item AVX intrinsics support for x86 architectures
+@item VSX intrinsics support for POWER architectures
+@item Mixed F16 / F32 precision
+@item 4-bit and 5-bit integer quantization support
+@item Zero memory allocations at runtime
+@item Support for CPU-only inference
+@item Efficient GPU support for NVIDIA
+@item OpenVINO Support
+@item C-style API
+@end itemize")
+    (license license:expat)))
+
 (define-public python-gguf
   (package
     (name "python-gguf")

base-commit: 3ac69c1a757430d6dfdd37eb948ba1d6967967cc
-- 
2.34.1





This bug report was last modified 140 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.