diff options
author | h7x4 <h7x4@nani.wtf> | 2024-06-24 10:13:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-24 10:13:33 +0200 |
commit | 6fb82de34caa8f1352f684e0ab025c898082d6b5 (patch) | |
tree | 9f4542262607b728712900f3f4bd03cdc31343ff /pkgs/tools | |
parent | a184d2d4ac48691b0bc4f3089908edae50b63187 (diff) | |
parent | b12809df40c7bbb464a7bc0f61379ae8609f4e92 (diff) |
Merge pull request #321941 from davidkna/openai-whisper-cpp-1.6.2
openai-whisper-cpp: 1.5.4 -> 1.6.2
Diffstat (limited to 'pkgs/tools')
-rw-r--r-- | pkgs/tools/audio/openai-whisper-cpp/default.nix | 14 | ||||
-rw-r--r-- | pkgs/tools/audio/openai-whisper-cpp/download-models.patch | 48 |
2 files changed, 28 insertions, 34 deletions
diff --git a/pkgs/tools/audio/openai-whisper-cpp/default.nix b/pkgs/tools/audio/openai-whisper-cpp/default.nix index ab1cbb77e97bb..218872ed1e313 100644 --- a/pkgs/tools/audio/openai-whisper-cpp/default.nix +++ b/pkgs/tools/audio/openai-whisper-cpp/default.nix @@ -25,13 +25,13 @@ let in effectiveStdenv.mkDerivation (finalAttrs: { pname = "whisper-cpp"; - version = "1.5.4"; + version = "1.6.2"; src = fetchFromGitHub { owner = "ggerganov"; repo = "whisper.cpp"; rev = "refs/tags/v${finalAttrs.version}" ; - hash = "sha256-9H2Mlua5zx2WNXbz2C5foxIteuBgeCNALdq5bWyhQCk="; + hash = "sha256-hIEIu7feOZWqxRskf6Ej7l653/9KW8B3cnpPLoCRBAc="; }; # The upstream download script tries to download the models to the @@ -80,6 +80,7 @@ effectiveStdenv.mkDerivation (finalAttrs: { env = lib.optionalAttrs stdenv.isDarwin { WHISPER_COREML = "1"; WHISPER_COREML_ALLOW_FALLBACK = "1"; + WHISPER_METAL_EMBED_LIBRARY = "1"; } // lib.optionalAttrs cudaSupport { WHISPER_CUBLAS = "1"; }; @@ -99,15 +100,6 @@ effectiveStdenv.mkDerivation (finalAttrs: { wrapProgram $out/bin/whisper-cpp-download-ggml-model \ --prefix PATH : ${lib.makeBinPath [wget]} - ${lib.optionalString stdenv.isDarwin '' - install -Dt $out/share/whisper-cpp ggml-metal.metal - - for bin in whisper-cpp whisper-cpp-stream whisper-cpp-command; do - wrapProgram $out/bin/$bin \ - --set-default GGML_METAL_PATH_RESOURCES $out/share/whisper-cpp - done - ''} - runHook postInstall ''; diff --git a/pkgs/tools/audio/openai-whisper-cpp/download-models.patch b/pkgs/tools/audio/openai-whisper-cpp/download-models.patch index 7183c38b51669..7589c2ef36f83 100644 --- a/pkgs/tools/audio/openai-whisper-cpp/download-models.patch +++ b/pkgs/tools/audio/openai-whisper-cpp/download-models.patch @@ -1,51 +1,53 @@ +diff --git a/models/download-ggml-model.sh b/models/download-ggml-model.sh +index 1f1075b..7476c8e 100755 --- a/models/download-ggml-model.sh +++ b/models/download-ggml-model.sh -@@ -9,18 +9,6 @@ - src="https://huggingface.co/ggerganov/whisper.cpp" - pfx="resolve/main/ggml" +@@ -12,18 +12,6 @@ pfx="resolve/main/ggml" + BOLD="\033[1m" + RESET='\033[0m' -# get the path of this script --function get_script_path() { +-get_script_path() { - if [ -x "$(command -v realpath)" ]; then -- echo "$(dirname "$(realpath "$0")")" +- dirname "$(realpath "$0")" - else -- local ret="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P)" -- echo "$ret" +- _ret="$(cd -- "$(dirname "$0")" >/dev/null 2>&1 || exit ; pwd -P)" +- echo "$_ret" - fi -} - -models_path="${2:-$(get_script_path)}" - # Whisper models - models=( - "tiny.en" -@@ -56,8 +44,8 @@ function list_models { + models="tiny + tiny.en +@@ -64,8 +52,8 @@ list_models() { printf "\n\n" } -if [ "$#" -lt 1 ] || [ "$#" -gt 2 ]; then -- printf "Usage: $0 <model> [models_path]\n" +- printf "Usage: %s <model> [models_path]\n" "$0" +if [ "$#" -ne 1 ]; then -+ printf "Usage: $0 <model>\n" ++ printf "Usage: %s <model>\n" "$0" list_models + printf "___________________________________________________________\n" + printf "${BOLD}.en${RESET} = english-only ${BOLD}-q5_[01]${RESET} = quantized ${BOLD}-tdrz${RESET} = tinydiarize\n" +@@ -94,8 +82,6 @@ echo "$model" | grep -q '^"tdrz"*$' - exit 1 -@@ -82,8 +70,6 @@ fi - - printf "Downloading ggml model $model from '$src' ...\n" + printf "Downloading ggml model %s from '%s' ...\n" "$model" "$src" --cd "$models_path" +-cd "$models_path" || exit - if [ -f "ggml-$model.bin" ]; then - printf "Model $model already exists. Skipping download.\n" + printf "Model %s already exists. Skipping download.\n" "$model" exit 0 -@@ -105,7 +91,7 @@ if [ $? -ne 0 ]; then +@@ -116,7 +102,7 @@ if [ $? -ne 0 ]; then exit 1 fi --printf "Done! Model '$model' saved in '$models_path/ggml-$model.bin'\n" -+printf "Done! Model '$model' saved in 'ggml-$model.bin'\n" +-printf "Done! Model '%s' saved in '%s/ggml-%s.bin'\n" "$model" "$models_path" "$model" ++printf "Done! Model '%s' saved in 'ggml-%s.bin'\n" "$model" "$model" printf "You can now use it like this:\n\n" --printf " $ ./main -m $models_path/ggml-$model.bin -f samples/jfk.wav\n" -+printf " $ whisper-cpp -m ggml-$model.bin -f samples/jfk.wav\n" +-printf " $ ./main -m %s/ggml-%s.bin -f samples/jfk.wav\n" "$models_path" "$model" ++printf " $ whisper-cpp -m ggml-%s.bin -f samples/jfk.wav\n" "$model" printf "\n" |