diff options
author | Andy Tai <atai@atai.org> | 2024-07-11 22:44:33 -0700 |
---|---|---|
committer | Guix Patches Tester <> | 2024-07-12 09:09:18 +0200 |
commit | ba929caff3673b60c2cbccffe8722fdd503932c9 (patch) | |
tree | 78ad0ddd7234e6c6b7ae2c52e53ce53ea67b71cb | |
parent | fb11149feaa177a95e1f0d640e4f03881257e83e (diff) | |
download | guix-patches-ba929caff3673b60c2cbccffe8722fdd503932c9.tar guix-patches-ba929caff3673b60c2cbccffe8722fdd503932c9.tar.gz |
gnu: Add whisper-cpp.
* gnu/packages/machine-learning.scm (whisper-cpp): New variable.
Change-Id: If191f434a3f66b16afdc702069eaed1ca22e2427
-rw-r--r-- | gnu/packages/machine-learning.scm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3680cab044..0471db8d46 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2024 Timothee Mathieu <timothee.mathieu@inria.fr> ;;; Copyright © 2024 Spencer King <spencer.king@geneoscopy.com> ;;; Copyright © 2024 David Elsing <david.elsing@posteo.net> +;;; Copyright © 2024 Andy Tai <atai@atai.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -117,6 +118,7 @@ #: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) @@ -5990,6 +5992,47 @@ performance library of basic building blocks for deep learning applications.") (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" ; TO DO + #: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 ;TO DO: + (native-inputs (list pkg-config)) + (properties '((tunable? . #t))) ;use AVX512, FMA, etc. when available + (home-page "https://github.com/ggerganov/whisper.cpp") + (synopsis "Port of 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") + (license license:expat))) + + (define-public python-gguf (package (name "python-gguf") |