版本发布 8
## Overview Maintenance release, latest ggml, minor improvements in the tools/server/bindings. ## What's Changed * server : set no_context == true by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3482 * WASM example broken for Hebrew by @Orel-A in https://github.com/ggml-org/whisper.cpp/pull/3487 * ruby : tiny bug fix by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3490 * 12x Performance Boost with Integrated Graphics by @OrelSokolov in https://github.com/ggml-org/whisper.cpp/pull/3492 * ruby : VAD separately from ASR by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3518 * vad : Silero VAD v6.2.0 by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3524 * need to #include <cmath> to compile on macos 11 by @smilingpoplar in https://github.com/ggml-org/whisper.cpp/pull/3533 * Add verified device of Ascend NPU by @lrisguan in https://github.com/ggml-org/whisper.cpp/pull/3516 * examples : fix typo in vad-speech-segments command [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3535 * tests : update VAD tests to use Silero V6.2.0 by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3534 * vad : fix buffer overflow in sample reduction loop by @josephsellers in https://github.com/ggml-org/whisper.cpp/pull/3558 * Allow NextSegment() to be called across multiple Process() calls in the Go binding by @joshmux in https://github.com/ggml-org/whisper.cpp/pull/3503 * Enable VAD for Go bindings by @joshmux in https://github.com/ggml-org/whisper.cpp/pull/3563 * server: allow custom temp directory for ffmpeg by @socram8888 in https://github.com/ggml-org/whisper.cpp/pull/3564 * Fix FreeBSD linker error: undefined reference to pthread_create by @rsmirnov90 in https://github.com/ggml-org/whisper.cpp/pull/3568 * ruby : add Whisper::Token, fix model URI by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3575 * ruby : fix segmentation fault by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3591 * cmake: fix executable example targets by @ink-splatters in https://github.com/ggml-org/whisper.cpp/pull/3600 ## New Contributors * @Orel-A made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3487 * @OrelSokolov made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3492 * @smilingpoplar made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3533 * @lrisguan made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3516 * @josephsellers made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3558 * @joshmux made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3503 * @socram8888 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3564 * @rsmirnov90 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3568 * @ink-splatters made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3600 **Full Changelog**: https://github.com/ggml-org/whisper.cpp/compare/v1.8.2...v1.8.3
## Overview - Flash attention is now enabled by default - Performance improvements ## M1 Pro | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M1 Pro | METAL | tiny | 1 | 0 | 32.44 | 1.71 | 0.43 | 0.04 | 8a67c55c | | M1 Pro | METAL | base | 1 | 0 | 63.54 | 2.62 | 0.71 | 0.06 | 8a67c55c | | M1 Pro | METAL | small | 1 | 0 | 200.30 | 5.34 | 1.72 | 0.17 | 8a67c55c | | M1 Pro | METAL | medium | 1 | 0 | 580.06 | 11.71 | 4.18 | 0.45 | 8a67c55c | | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M1 Pro | METAL | tiny | 1 | 1 | 22.09 | 1.84 | 0.43 | 0.03 | 8a67c55c | | M1 Pro | METAL | base | 1 | 1 | 40.57 | 2.22 | 0.44 | 0.04 | 8a67c55c | | M1 Pro | METAL | small | 1 | 1 | 135.15 | 4.23 | 0.95 | 0.12 | 8a67c55c | | M1 Pro | METAL | medium | 1 | 1 | 395.18 | 9.14 | 2.21 | 0.30 | 8a67c55c | ## M2 Ultra | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 0 | 8.63 | 1.09 | 0.27 | 0.01 | b57b9d3a | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 0 | 9.04 | 1.06 | 0.28 | 0.01 | b57b9d3a | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 0 | 8.98 | 1.06 | 0.28 | 0.01 | b57b9d3a | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 0 | 8.69 | 1.06 | 0.27 | 0.01 | b57b9d3a | | M2 ULTRA | METAL | base | 1 | 0 | 15.39 | 1.54 | 0.43 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | base-q5_0 | 1 | 0 | 16.50 | 1.50 | 0.42 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | base-q5_1 | 1 | 0 | 16.45 | 1.49 | 0.43 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | base-q8_0 | 1 | 0 | 15.62 | 1.51 | 0.42 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | small | 1 | 0 | 45.99 | 2.99 | 0.90 | 0.05 | b57b9d3a | | M2 ULTRA | METAL | small-q5_0 | 1 | 0 | 50.65 | 2.98 | 0.92 | 0.06 | b57b9d3a | | M2 ULTRA | METAL | small-q5_1 | 1 | 0 | 50.74 | 2.96 | 0.92 | 0.06 | b57b9d3a | | M2 ULTRA | METAL | small-q8_0 | 1 | 0 | 47.16 | 2.83 | 0.89 | 0.06 | b57b9d3a | | M2 ULTRA | METAL | medium | 1 | 0 | 132.78 | 6.46 | 2.02 | 0.13 | b57b9d3a | | M2 ULTRA | METAL | medium-q5_0 | 1 | 0 | 149.35 | 6.11 | 2.09 | 0.14 | b57b9d3a | | M2 ULTRA | METAL | medium-q5_1 | 1 | 0 | 149.11 | 6.09 | 2.11 | 0.14 | b57b9d3a | | M2 ULTRA | METAL | medium-q8_0 | 1 | 0 | 137.37 | 6.05 | 2.03 | 0.13 | b57b9d3a | | M2 ULTRA | METAL | medium-dis | 1 | 0 | 121.60 | 0.90 | 0.25 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | large-v2 | 1 | 0 | 231.19 | 9.40 | 3.10 | 0.22 | b57b9d3a | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 0 | 265.90 | 8.98 | 3.11 | 0.25 | b57b9d3a | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 0 | 265.18 | 8.92 | 3.13 | 0.25 | b57b9d3a | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 0 | 240.23 | 9.06 | 2.98 | 0.23 | b57b9d3a | | M2 ULTRA | METAL | large-v2-dis | 1 | 0 | 210.25 | 0.99 | 0.28 | 0.02 | b57b9d3a | | M2 ULTRA | METAL | large-v3-turbo | 1 | 0 | 211.72 | 1.52 | 0.46 | 0.03 | b57b9d3a | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 0 | 242.17 | 1.40 | 0.47 | 0.04 | b57b9d3a | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 0 | 219.75 | 1.40 | 0.45 | 0.04 | b57b9d3a | | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 1 | 6.28 | 0.96 | 0.22 | 0.01 | a77d11d9 | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 1 | 6.69 | 0.92 | 0.22 | 0.01 | a77d11d9 | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 1 | 6.67 | 0.91 | 0.22 | 0.01 | a77d11d9 | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 1 | 6.34 | 0.92 | 0.21 | 0.01 | a77d11d9 | | M2 ULTRA | METAL | base | 1 | 1 | 10.77 | 1.30 | 0.32 | 0.02 | a77d11d9 | | M2 ULTRA | METAL | base-q5_0 | 1 | 1 | 11.84 | 1.23 | 0.33 | 0.02 | a77d11d9 | | M2 ULTRA | METAL | base-q5_1 | 1 | 1 | 11.95 | 1.24 | 0.33 | 0.02 | a77d11d9 | | M2 ULTRA | METAL | base-q8_0 | 1 | 1 | 11.14 | 1.23 | 0.32 | 0.02 | a77d11d9 | | M2 ULTRA | METAL | small | 1 | 1 | 32.12 | 2.43 | 0.65 | 0.04 | a77d11d9 | | M2 ULTRA | METAL | small-q5_0 | 1 | 1 | 36.95 | 2.42 | 0.68 | 0.04 | a77d11d9 | | M2 ULTRA | METAL | small-q5_1 | 1 | 1 | 37.40 | 2.42 | 0.68 | 0.04 | a77d11d9 | | M2 ULTRA | METAL | small-q8_0 | 1 | 1 | 33.48 | 2.30 | 0.65 | 0.04 | a77d11d9 | | M2 ULTRA | METAL | medium | 1 | 1 | 89.28 | 5.05 | 1.46 | 0.09 | a77d11d9 | | M2 ULTRA | METAL | medium-q5_0 | 1 | 1 | 105.24 | 4.89 | 1.48 | 0.11 | a77d11d9 | | M2 ULTRA | METAL | medium-q5_1 | 1 | 1 | 105.28 | 4.98 | 1.49 | 0.11 | a77d11d9 | | M2 ULTRA | METAL | medium-q8_0 | 1 | 1 | 93.61 | 4.89 | 1.43 | 0.10 | a77d11d9 | | M2 ULTRA | METAL | medium-dis | 1 | 1 | 78.44 | 0.81 | 0.20 | 0.01 | a77d11d9 | | M2 ULTRA | METAL | large-v2 | 1 | 1 | 165.69 | 7.50 | 2.16 | 0.17 | a77d11d9 | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 1 | 199.40 | 7.37 | 2.18 | 0.20 | a77d11d9 | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 1 | 199.29 | 7.37 | 2.21 | 0.20 | a77d11d9 | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 1 | 174.60 | 6.87 | 2.16 | 0.18 | a77d11d9 | | M2 ULTRA | METAL | large-v2-dis | 1 | 1 | 145.80 | 0.90 | 0.22 | 0.02 | a77d11d9 | | M2 ULTRA | METAL | large-v3-turbo | 1 | 1 | 146.98 | 1.31 | 0.34 | 0.03 | a77d11d9 | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 1 | 176.77 | 1.19 | 0.35 | 0.03 | a77d11d9 | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 1 | 154.73 | 1.20 | 0.33 | 0.03 | a77d11d9 | ## M4 Max | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M4 Max | METAL | tiny | 1 | 0 | 10.51 | 0.86 | 0.23 | 0.01 | 47fcd7da | | M4 Max | METAL | tiny-q8_0 | 1 | 0 | 10.73 | 0.84 | 0.24 | 0.01 | 47fcd7da | | M4 Max | METAL | base | 1 | 0 | 19.50 | 1.34 | 0.36 | 0.02 | 47fcd7da | | M4 Max | METAL | base-q8_0 | 1 | 0 | 20.17 | 1.25 | 0.36 | 0.02 | 47fcd7da | | M4 Max | METAL | small | 1 | 0 | 61.91 | 2.77 | 0.78 | 0.06 | 47fcd7da | | M4 Max | METAL | small-q8_0 | 1 | 0 | 64.17 | 2.43 | 0.78 | 0.06 | 47fcd7da | | M4 Max | METAL | medium | 1 | 0 | 181.50 | 6.44 | 1.85 | 0.15 | 47fcd7da | | M4 Max | METAL | medium-q8_0 | 1 | 0 | 187.71 | 5.80 | 1.84 | 0.15 | 47fcd7da | | M4 Max | METAL | large-v2 | 1 | 0 | 335.49 | 10.49 | 3.01 | 0.26 | 47fcd7da | | M4 Max | METAL | large-v2-q8_0 | 1 | 0 | 349.89 | 8.65 | 2.97 | 0.27 | 47fcd7da | | M4 Max | METAL | large-v3-turbo | 1 | 0 | 301.34 | 1.83 | 0.49 | 0.04 | 47fcd7da | | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M4 Max | METAL | tiny | 1 | 1 | 8.23 | 0.71 | 0.16 | 0.01 | 47fcd7da | | M4 Max | METAL | tiny-q8_0 | 1 | 1 | 8.47 | 0.67 | 0.16 | 0.01 | 47fcd7da | | M4 Max | METAL | base | 1 | 1 | 15.47 | 1.12 | 0.26 | 0.02 | 47fcd7da | | M4 Max | METAL | base-q8_0 | 1 | 1 | 15.70 | 1.05 | 0.27 | 0.02 | 47fcd7da | | M4 Max | METAL | small | 1 | 1 | 49.82 | 2.37 | 0.53 | 0.05 | 47fcd7da | | M4 Max | METAL | small-q8_0 | 1 | 1 | 51.76 | 1.99 | 0.53 | 0.05 | 47fcd7da | | M4 Max | METAL | medium | 1 | 1 | 147.76 | 5.52 | 1.27 | 0.12 | 47fcd7da | | M4 Max | METAL | medium-q8_0 | 1 | 1 | 153.98 | 4.59 | 1.24 | 0.13 | 47fcd7da | | M4 Max | METAL | large-v2 | 1 | 1 | 282.89 | 9.06 | 2.11 | 0.22 | 47fcd7da | | M4 Max | METAL | large-v2-q8_0 | 1 | 1 | 296.43 | 7.44 | 2.09 | 0.23 | 47fcd7da | | M4 Max | METAL | large-v3-turbo | 1 | 1 | 249.91 | 1.65 | 0.38 | 0.04 | 47fcd7da | ## RTX 5090 | GPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | RTX 5090 | CUDA | tiny | 1 | 0 | 2.06 | 0.55 | 0.13 | 0.00 | e4bf87b0 | | RTX 5090 | CUDA | tiny-q8_0 | 1 | 0 | 2.50 | 0.55 | 0.14 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | base | 1 | 0 | 3.72 | 0.81 | 0.19 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | base-q8_0 | 1 | 0 | 4.35 | 0.79 | 0.20 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | small | 1 | 0 | 11.24 | 1.55 | 0.38 | 0.02 | e4bf87b0 | | RTX 5090 | CUDA | small-q8_0 | 1 | 0 | 12.69 | 1.69 | 0.40 | 0.02 | e4bf87b0 | | RTX 5090 | CUDA | medium | 1 | 0 | 31.16 | 3.19 | 0.79 | 0.04 | e4bf87b0 | | RTX 5090 | CUDA | medium-q8_0 | 1 | 0 | 32.74 | 3.43 | 0.80 | 0.05 | e4bf87b0 | | RTX 5090 | CUDA | large-v2 | 1 | 0 | 50.09 | 4.55 | 1.14 | 0.05 | e4bf87b0 | | RTX 5090 | CUDA | large-v2-q8_0 | 1 | 0 | 52.44 | 4.76 | 1.11 | 0.07 | e4bf87b0 | | RTX 5090 | CUDA | large-v3-turbo | 1 | 0 | 46.78 | 0.70 | 0.17 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | large-v3-turbo-q8_0 | 1 | 0 | 48.57 | 0.70 | 0.16 | 0.01 | e4bf87b0 | | GPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | RTX 5090 | CUDA | tiny | 1 | 1 | 1.39 | 0.47 | 0.11 | 0.00 | e4bf87b0 | | RTX 5090 | CUDA | tiny-q8_0 | 1 | 1 | 1.83 | 0.48 | 0.12 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | base | 1 | 1 | 2.17 | 0.70 | 0.16 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | base-q8_0 | 1 | 1 | 2.78 | 0.68 | 0.17 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | small | 1 | 1 | 5.02 | 1.33 | 0.32 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | small-q8_0 | 1 | 1 | 6.39 | 1.46 | 0.34 | 0.02 | e4bf87b0 | | RTX 5090 | CUDA | medium | 1 | 1 | 13.89 | 2.68 | 0.64 | 0.03 | e4bf87b0 | | RTX 5090 | CUDA | medium-q8_0 | 1 | 1 | 15.40 | 2.92 | 0.67 | 0.04 | e4bf87b0 | | RTX 5090 | CUDA | large-v2 | 1 | 1 | 21.24 | 3.88 | 0.96 | 0.04 | e4bf87b0 | | RTX 5090 | CUDA | large-v2-q8_0 | 1 | 1 | 23.54 | 4.01 | 0.93 | 0.05 | e4bf87b0 | | RTX 5090 | CUDA | large-v3-turbo | 1 | 1 | 18.18 | 0.62 | 0.15 | 0.01 | e4bf87b0 | | RTX 5090 | CUDA | large-v3-turbo-q8_0 | 1 | 1 | 19.89 | 0.61 | 0.14 | 0.01 | e4bf87b0 | --- ## What's Changed * ci : add support for tag-based releases by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3287 * Cmake commands "-j" flag in README.md by @toboil-features in https://github.com/ggml-org/whisper.cpp/pull/3284 * ci : add should_release variable by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3288 * whisper : add version function by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3289 * ruby : add Whisper::VERSION by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3292 * ci: set fail-fast to false in docker.yml by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3294 * ci : use selective copy for musa image by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3296 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3300 * feat: support vad for addon.node by @buxuku in https://github.com/ggml-org/whisper.cpp/pull/3301 * Adding dtw.params to server.cpp for v3-large-turbo by @accessiblepixel in https://github.com/ggml-org/whisper.cpp/pull/3307 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3319 * fix and update links in whisper, command, bench and stream wasm examples by @gregsadetsky in https://github.com/ggml-org/whisper.cpp/pull/3318 * whisper: validate get_rows support for cpu extra buffer by @chaxu01 in https://github.com/ggml-org/whisper.cpp/pull/3323 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3329 * bindings/go: fixed Mac OS X builds by @bvk in https://github.com/ggml-org/whisper.cpp/pull/3310 * feat(server): hide language probabilities option behind flag by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3328 * musa: upgrade musa sdk to rc4.2.0 by @yeahdongcn in https://github.com/ggml-org/whisper.cpp/pull/3324 * ci : add paths to build.yml by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3333 * examples : add note about WHISPER_WASM_SINGLE_FILE [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3332 * Support static xcframework packaging in build-xcframework.sh by @richwaters in https://github.com/ggml-org/whisper.cpp/pull/3322 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3342 * ggml : remove old kompute, cann (skip) by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3349 * whisper : reset conv scheduler when CoreML is used by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3350 * stream.wasm : add language selection support by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3354 * ruby : Add ruby binding for max_len by @adamdebono in https://github.com/ggml-org/whisper.cpp/pull/3365 * wasm : change ggml model host to HF by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3369 * whisper : fixed crash in GPU device selection on multi-GPU systems by @Dw9 in https://github.com/ggml-org/whisper.cpp/pull/3372 * Update main-cuda.Dockerfile by @ustas-eth in https://github.com/ggml-org/whisper.cpp/pull/3371 * node : add win platform check for require path by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3363 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3383 * Update `./models/download-ggml-model.cmd` to allow for tdrz download by @GalFawkes in https://github.com/ggml-org/whisper.cpp/pull/3381 * Ruby binding: handle negative value in padding by @Treboko in https://github.com/ggml-org/whisper.cpp/pull/3389 * tests : use CMake definitions for model/sample paths by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3406 * ci : remove brew installation of cmake for macos-latest by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3408 * whisper : prefer curl over wget in download scripts by @svmhdvn in https://github.com/ggml-org/whisper.cpp/pull/3409 * Fix MKL detection by quoting BLAS_INCLUDE_DIRS by @czoido in https://github.com/ggml-org/whisper.cpp/pull/3426 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3428 * whisper : remove ggml_mul_mat padding by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3436 * ci : add self-hosted workflows by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3437 * bench : warm-up all kernels by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3438 * bench : update [no ci] by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3439 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3442 * whisper : enable flash attention by default by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3441 * examples : add wchess.wasm to wasm examples build by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3443 ## New Contributors * @accessiblepixel made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3307 * @chaxu01 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3323 * @bvk made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3310 * @richwaters made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3322 * @adamdebono made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3365 * @Dw9 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3372 * @ustas-eth made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3371 * @GalFawkes made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3381 * @Treboko made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3389 * @svmhdvn made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3409 **Full Changelog**: https://github.com/ggml-org/whisper.cpp/compare/v1.7.6...v1.8.0
## Overview - Add initial VAD support - feedback welcome and appreciated - Metal FA improvements ## M2 Ultra **Flash Attention ON:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 1 | 7.72 | 1.05 | 0.32 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 1 | 8.20 | 0.98 | 0.31 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 1 | 8.13 | 0.99 | 0.31 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 1 | 7.96 | 0.93 | 0.30 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | base | 1 | 1 | 13.52 | 1.39 | 0.35 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q5_0 | 1 | 1 | 14.88 | 1.31 | 0.34 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q5_1 | 1 | 1 | 14.76 | 1.33 | 0.34 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q8_0 | 1 | 1 | 14.04 | 1.28 | 0.34 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | small | 1 | 1 | 38.78 | 2.72 | 0.67 | 0.04 | dc8dda60 | | M2 ULTRA | METAL | small-q5_0 | 1 | 1 | 44.01 | 2.64 | 0.69 | 0.05 | dc8dda60 | | M2 ULTRA | METAL | small-q5_1 | 1 | 1 | 44.02 | 2.66 | 0.69 | 0.05 | dc8dda60 | | M2 ULTRA | METAL | small-q8_0 | 1 | 1 | 40.79 | 2.49 | 0.67 | 0.05 | dc8dda60 | | M2 ULTRA | METAL | medium | 1 | 1 | 104.48 | 5.57 | 1.61 | 0.10 | dc8dda60 | | M2 ULTRA | METAL | medium-q5_0 | 1 | 1 | 122.24 | 5.00 | 1.58 | 0.12 | dc8dda60 | | M2 ULTRA | METAL | medium-q5_1 | 1 | 1 | 121.99 | 5.02 | 1.59 | 0.12 | dc8dda60 | | M2 ULTRA | METAL | medium-q8_0 | 1 | 1 | 111.68 | 4.99 | 1.52 | 0.11 | dc8dda60 | | M2 ULTRA | METAL | medium-dis | 1 | 1 | 93.23 | 0.87 | 0.21 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | large-v2 | 1 | 1 | 189.82 | 8.36 | 2.35 | 0.19 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 1 | 225.73 | 7.34 | 2.40 | 0.22 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 1 | 225.88 | 7.60 | 2.40 | 0.22 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 1 | 203.55 | 7.32 | 2.26 | 0.20 | dc8dda60 | | M2 ULTRA | METAL | large-v2-dis | 1 | 1 | 168.20 | 0.98 | 0.24 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo | 1 | 1 | 170.22 | 1.46 | 0.37 | 0.03 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 1 | 201.88 | 1.27 | 0.38 | 0.04 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 1 | 182.37 | 1.24 | 0.36 | 0.03 | dc8dda60 | **Flash Attention OFF:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 0 | 10.15 | 1.20 | 0.36 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 0 | 10.21 | 1.15 | 0.39 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 0 | 9.26 | 1.15 | 0.38 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 0 | 9.00 | 1.12 | 0.37 | 0.01 | dc8dda60 | | M2 ULTRA | METAL | base | 1 | 0 | 15.77 | 1.73 | 0.45 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q5_0 | 1 | 0 | 16.90 | 1.63 | 0.44 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q5_1 | 1 | 0 | 16.93 | 1.64 | 0.44 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | base-q8_0 | 1 | 0 | 16.13 | 1.63 | 0.43 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | small | 1 | 0 | 45.15 | 3.45 | 0.92 | 0.05 | dc8dda60 | | M2 ULTRA | METAL | small-q5_0 | 1 | 0 | 50.63 | 3.36 | 0.94 | 0.06 | dc8dda60 | | M2 ULTRA | METAL | small-q5_1 | 1 | 0 | 50.56 | 3.36 | 0.94 | 0.06 | dc8dda60 | | M2 ULTRA | METAL | small-q8_0 | 1 | 0 | 47.52 | 3.20 | 0.92 | 0.05 | dc8dda60 | | M2 ULTRA | METAL | medium | 1 | 0 | 122.55 | 7.38 | 1.95 | 0.12 | dc8dda60 | | M2 ULTRA | METAL | medium-q5_0 | 1 | 0 | 140.61 | 6.73 | 2.02 | 0.14 | dc8dda60 | | M2 ULTRA | METAL | medium-q5_1 | 1 | 0 | 140.48 | 6.76 | 2.04 | 0.14 | dc8dda60 | | M2 ULTRA | METAL | medium-q8_0 | 1 | 0 | 131.00 | 6.57 | 1.96 | 0.13 | dc8dda60 | | M2 ULTRA | METAL | medium-dis | 1 | 0 | 110.85 | 1.00 | 0.24 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | large-v2 | 1 | 0 | 222.28 | 10.96 | 3.03 | 0.21 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 0 | 258.64 | 9.79 | 3.04 | 0.25 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 0 | 258.32 | 9.87 | 3.05 | 0.24 | dc8dda60 | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 0 | 236.55 | 9.61 | 2.87 | 0.23 | dc8dda60 | | M2 ULTRA | METAL | large-v2-dis | 1 | 0 | 199.84 | 1.14 | 0.27 | 0.02 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo | 1 | 0 | 201.52 | 1.77 | 0.45 | 0.03 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 0 | 233.14 | 1.56 | 0.47 | 0.04 | dc8dda60 | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 0 | 214.23 | 1.53 | 0.44 | 0.04 | dc8dda60 | ## What's Changed * docs : add xcframework section to README.md [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/2997 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/2992 * whisper.wasm : fix unknown language issue by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3000 * examples : update server.py to match github pages app [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3004 * rename : ggerganov -> ggml-org by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3005 * whisper : fix "bench-all outputs an invalid result on larger models" by @fujimotos in https://github.com/ggml-org/whisper.cpp/pull/3002 * tests : add script to benchmark whisper.cpp on LibriSpeech corpus by @fujimotos in https://github.com/ggml-org/whisper.cpp/pull/2999 * ruby : Change homepage URI in Ruby gemspec by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3007 * fix dead link to models in readme by @gregsadetsky in https://github.com/ggml-org/whisper.cpp/pull/3006 * Update uri.rb by @Olli in https://github.com/ggml-org/whisper.cpp/pull/3016 * Update ruby_whisper_params.c by @Olli in https://github.com/ggml-org/whisper.cpp/pull/3022 * xcf : use check for visionos build version by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3021 * Fix README.md by @ekaitz-zarraga in https://github.com/ggml-org/whisper.cpp/pull/3024 * docs : document how to use 'WHISPER_FFMPEG' build option by @fujimotos in https://github.com/ggml-org/whisper.cpp/pull/3029 * whisper : reduce delta_min from 1000ms to 100ms by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3028 * support max_context api for addon.node by @buxuku in https://github.com/ggml-org/whisper.cpp/pull/3025 * Update README.md to note newer NVIDIA GPUs by @jeffklassen in https://github.com/ggml-org/whisper.cpp/pull/3031 * ruby: use CMake in build process by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3043 * examples : add FFmpeg v7.0 support to ffmpeg-transcode.cpp by @fujimotos in https://github.com/ggml-org/whisper.cpp/pull/3038 * feat: Add no-context option to server by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3045 * ruby : make Ruby bindings installed with build options by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3056 * examples : add HEAPU8 to exported runtime methods by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3062 * ci : disable freeBSD job in build.yml by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3064 * coreml : set convert_to="mlprogram" in convert by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3060 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3071 * ci : enable bindings java job by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3070 * ruby : add encoder begin callback related methods by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3076 * Fix deprecated FFmpeg functions by @Podre-Henrique in https://github.com/ggml-org/whisper.cpp/pull/3073 * Add Moore Threads GPU support and update GitHub workflow for MUSA build by @yeahdongcn in https://github.com/ggml-org/whisper.cpp/pull/3069 * ci : disable publishing of java binding [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3086 * talk-llama : sync llama.cpp by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3084 * whisper : remove empty .gitmodules file [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3085 * feat: expose language detection probabilities to server example by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3044 * whisper : fix grammar advance stack warning by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3087 * ggml : suppress Windows compiler warnings by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3075 * make : fix samples glob pattern by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3100 * ruby : ignore "Downloading" output in test_log_suppress by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3106 * server : add --no-gpu option to print usage output by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3098 * whisper : add check that target name exists by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3103 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3108 * ruby : refine HTTP cache feature by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3109 * feat(server): bump httplib.h to version 0.20.0 by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3101 * removed stdc++fs by @JaredTweed in https://github.com/ggml-org/whisper.cpp/pull/3097 * docs : Update cli documentation by @antimatter96 in https://github.com/ggml-org/whisper.cpp/pull/3102 * cli : Support "-" for stdout like stdin by @danielzgtg in https://github.com/ggml-org/whisper.cpp/pull/3050 * feat(server): Improve HTTP Connection Abort Handling by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3112 * whisper: remove MSVC warnings pragmas by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3090 * ci : add zip extension to xcframework artifact name by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3120 * ci : zip windows artifacts for release uploading by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3124 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3125 * ci : add bindings-java jar artifact to release by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3126 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3127 * stream.wasm : add HEAPU8 to exported runtime methods by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3130 * whisper : deprecate WHISPER_CCACHE CMake option by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3131 * wasm : add note about worker.js file generation [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3133 * examples : add HEAPU8 to all of the exported runtime methods by @enesgrahovac in https://github.com/ggml-org/whisper.cpp/pull/3134 * ruby : omit test_build_options locally by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3132 * ruby : test extra build options only when env var specified by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3136 * examples : update link to Paul Tol's color scheme [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3140 * Update Readme to recommend same Openvino as Python tools by @peardox in https://github.com/ggml-org/whisper.cpp/pull/3138 * cli : print color scheme info for --print-colors by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3141 * docs : fix -owts flag typo karaoke section [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3142 * whisper : remove dummy commit comment [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3143 * vad : add initial Voice Activity Detection (VAD) support by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3065 * docs: Update README.md for whisper.objc app by @tomer-schles in https://github.com/ggml-org/whisper.cpp/pull/2569 * vad : remove shortform for --vad option in cli.cpp by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3145 * examples : add VAD speech segments example by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3147 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3148 * server : add --flash-attn usage output by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3152 * vad : add download-vad-model scripts by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3149 * examples : add --print-confidence option to cli by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3150 * whisper : add build_*/ to .gitignore [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3157 * vad : store VAD context in whisper_state by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3156 * vad : return early if no vad segments are detected by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3158 * examples : add vad-speech-segments to win warns [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3170 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3171 * ruby : add GGML_SYCL_DNN option to ruby bindings by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3172 * Fix CMakeLists.txt to handle deprecated gpu Warnings by @jugal-sheth in https://github.com/ggml-org/whisper.cpp/pull/3163 * whisper : remove redundant assignments by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3178 * docs: fix very minor typo in README by @alpaim in https://github.com/ggml-org/whisper.cpp/pull/3179 * docs : add VAD model download instructions [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3180 * feat(server): Add k6 Load Testing Script by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3175 * ci : use dynamic libopenblas.dll for window-blas by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3177 * docs : Fix VAD section heading levels in README by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3186 * Quickfix for swedish umlauts + expose model inference settings in talk-llama.cpp by @matteng1 in https://github.com/ggml-org/whisper.cpp/pull/3187 * node : enable no_prints to suppress all output by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3189 * docs : convert README_sycl.md to utf8 format [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3191 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3193 * ci : update windows artifact uploads steps by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3192 * tests : add a new benchmark test for long-form audio by @fujimotos in https://github.com/ggml-org/whisper.cpp/pull/3185 * Install shared libs when using GGML_BACKEND_DL by @peardox in https://github.com/ggml-org/whisper.cpp/pull/3195 * ruby : add VAD support, migration to Ruby's newer API by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3197 * whisper : remove whisper_load_backends function by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3196 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3202 * ggml : Fix backtrace breaking Windows build by @danielzgtg in https://github.com/ggml-org/whisper.cpp/pull/3203 * ruby : handle build options on installation by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3206 * vad : revisit timestamp alignment/mapping by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3173 * ruby : add Core ML support by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3214 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3215 * node : add language detection support by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3190 * ci : use mirrors.kernel.org for Ubuntu packages by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3220 * musa: correct MUSA SDK rc4.0.1 download URL by @yeahdongcn in https://github.com/ggml-org/whisper.cpp/pull/3217 * fix: apply whisperParams in fullTranscribeWithTime by @Jo4sDev in https://github.com/ggml-org/whisper.cpp/pull/3201 * ci : add mirror for ports.ubuntu.com (ARM packages) by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3221 * ruby : Add parallel transcription support by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3222 * devops: add main-intel dockerfile by @kwaa in https://github.com/ggml-org/whisper.cpp/pull/3229 * ci(docker): build and publish main-intel image by @kwaa in https://github.com/ggml-org/whisper.cpp/pull/3231 * ruby : output format by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3237 * sync : whisper.cpp by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3239 * ruby : add cleaning of library names in dependencies by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3241 * ci : update windows runner to windows-2022 by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3242 * ruby : add .gitignore entries for ext directory by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3245 * cli : fix short name conflict for vad options [no ci] by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3247 * server : add Voice Activity Detection (VAD) support by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3246 * whisper : fix VAD processing for skipped audio segments by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3230 * feat(server): graceful shutdown, atomic server state, and health endpoint Improvements by @sachaarbonel in https://github.com/ggml-org/whisper.cpp/pull/3243 * let people select the model the wanna use with yt-wsp.sh using a second argument by @w1redch4d in https://github.com/ggml-org/whisper.cpp/pull/3251 * examples : set the C++ standard to C++17 for server by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3261 * whisper : clear result_all if vad_samples is empty by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3262 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3264 * examples : add stereo to mono conversion in read_audio_data by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3266 * cmake : fix android build by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3265 * android : update CMakeLists.txt to use FetchContent for ggml by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3268 * sync : ggml by @ggerganov in https://github.com/ggml-org/whisper.cpp/pull/3272 * ruby : specify Apple frameworks explicitly on build by @KitaitiMakoto in https://github.com/ggml-org/whisper.cpp/pull/3270 * ci : add apt-get clean to musa Dockerfile by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3275 * `whisper-command`: write commands to text file by @aaron-ang in https://github.com/ggml-org/whisper.cpp/pull/3273 * chore: add .gitignore entries for OpenVINO support by @mochiya98 in https://github.com/ggml-org/whisper.cpp/pull/3276 * ci : reduce musa image size by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3277 * backport CoreML features to macos < 14 by @glaszig in https://github.com/ggml-org/whisper.cpp/pull/3255 * feat: update java example by @Jo4sDev in https://github.com/ggml-org/whisper.cpp/pull/3281 * ci : enable main-cuda build by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3282 * stream : add nullptr check of whisper_context by @danbev in https://github.com/ggml-org/whisper.cpp/pull/3283 ## New Contributors * @fujimotos made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3002 * @gregsadetsky made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3006 * @Olli made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3016 * @ekaitz-zarraga made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3024 * @jeffklassen made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3031 * @Podre-Henrique made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3073 * @yeahdongcn made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3069 * @JaredTweed made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3097 * @antimatter96 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3102 * @danielzgtg made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3050 * @enesgrahovac made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3134 * @peardox made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3138 * @tomer-schles made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/2569 * @jugal-sheth made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3163 * @alpaim made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3179 * @matteng1 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3187 * @Jo4sDev made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3201 * @kwaa made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3229 * @w1redch4d made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3251 * @aaron-ang made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3273 * @mochiya98 made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3276 * @glaszig made their first contribution in https://github.com/ggml-org/whisper.cpp/pull/3255 **Full Changelog**: https://github.com/ggml-org/whisper.cpp/compare/v1.7.5...v1.7.6
## Overview This is a relatively big update with various build and CI improvements especially for iOS and WASM. There are also some performance gains, especially for the Metal backend and probably for Arm-based devices. **Big shoutout to @danbev for stepping up and completing the [maintenance roadmap](https://github.com/users/ggerganov/projects/16/) for this release!** ## Mobile examples All mobile examples have been refreshed. The iOS examples specifically are now much easier to build thanks to the new XCFramework workflow. This should simplify significantly integration of `whisper.cpp` in 3rd party iOS and macOS apps. CoreML build and convert instructions have also been updated. ## WASM examples The WASM examples are now automatically updated on each new commit and hosted in Github Pages at https://ggerganov.github.io/whisper.cpp/. Problems with CORS rules should be resolved. --- Some performance numbers for this release: ## M2 Ultra **Flash Attention ON:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 1 | 7.82 | 1.31 | 0.35 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 1 | 8.32 | 1.28 | 0.37 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 1 | 8.21 | 1.28 | 0.37 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 1 | 7.97 | 1.23 | 0.36 | 0.01 | ad4e350 | | M2 ULTRA | METAL | base | 1 | 1 | 13.96 | 1.80 | 0.42 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q5_0 | 1 | 1 | 15.19 | 1.75 | 0.42 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q5_1 | 1 | 1 | 15.09 | 1.75 | 0.42 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q8_0 | 1 | 1 | 14.45 | 1.70 | 0.41 | 0.02 | ad4e350 | | M2 ULTRA | METAL | small | 1 | 1 | 40.08 | 3.54 | 0.86 | 0.05 | ad4e350 | | M2 ULTRA | METAL | small-q5_0 | 1 | 1 | 45.07 | 3.51 | 0.88 | 0.05 | ad4e350 | | M2 ULTRA | METAL | small-q5_1 | 1 | 1 | 45.05 | 3.52 | 0.88 | 0.05 | ad4e350 | | M2 ULTRA | METAL | small-q8_0 | 1 | 1 | 42.04 | 3.34 | 0.85 | 0.05 | ad4e350 | | M2 ULTRA | METAL | medium | 1 | 1 | 107.20 | 7.28 | 1.79 | 0.11 | ad4e350 | | M2 ULTRA | METAL | medium-q5_0 | 1 | 1 | 125.02 | 6.67 | 1.83 | 0.12 | ad4e350 | | M2 ULTRA | METAL | medium-q5_1 | 1 | 1 | 124.83 | 6.70 | 1.84 | 0.12 | ad4e350 | | M2 ULTRA | METAL | medium-q8_0 | 1 | 1 | 114.56 | 6.53 | 1.79 | 0.11 | ad4e350 | | M2 ULTRA | METAL | medium-dis | 1 | 1 | 95.96 | 1.01 | 0.23 | 0.01 | ad4e350 | | M2 ULTRA | METAL | large-v2 | 1 | 1 | 194.29 | 10.57 | 2.67 | 0.20 | ad4e350 | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 1 | 230.74 | 9.57 | 2.73 | 0.23 | ad4e350 | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 1 | 229.97 | 9.69 | 2.74 | 0.23 | ad4e350 | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 1 | 208.11 | 9.37 | 2.60 | 0.21 | ad4e350 | | M2 ULTRA | METAL | large-v2-dis | 1 | 1 | 172.72 | 1.12 | 0.26 | 0.02 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo | 1 | 1 | 174.46 | 1.74 | 0.42 | 0.03 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 1 | 205.78 | 1.54 | 0.42 | 0.04 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 1 | 186.33 | 1.50 | 0.40 | 0.03 | ad4e350 | **Flash Attention OFF:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 ULTRA | METAL | tiny | 1 | 0 | 8.74 | 1.20 | 0.36 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q5_0 | 1 | 0 | 10.30 | 1.15 | 0.38 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q5_1 | 1 | 0 | 10.71 | 1.13 | 0.38 | 0.01 | ad4e350 | | M2 ULTRA | METAL | tiny-q8_0 | 1 | 0 | 9.97 | 1.12 | 0.37 | 0.01 | ad4e350 | | M2 ULTRA | METAL | base | 1 | 0 | 16.77 | 1.71 | 0.44 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q5_0 | 1 | 0 | 16.92 | 1.63 | 0.44 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q5_1 | 1 | 0 | 16.84 | 1.63 | 0.44 | 0.02 | ad4e350 | | M2 ULTRA | METAL | base-q8_0 | 1 | 0 | 16.12 | 1.63 | 0.44 | 0.02 | ad4e350 | | M2 ULTRA | METAL | small | 1 | 0 | 45.29 | 3.44 | 0.92 | 0.05 | ad4e350 | | M2 ULTRA | METAL | small-q5_0 | 1 | 0 | 50.43 | 3.34 | 0.94 | 0.06 | ad4e350 | | M2 ULTRA | METAL | small-q5_1 | 1 | 0 | 50.49 | 3.35 | 0.93 | 0.06 | ad4e350 | | M2 ULTRA | METAL | small-q8_0 | 1 | 0 | 47.37 | 3.20 | 0.91 | 0.05 | ad4e350 | | M2 ULTRA | METAL | medium | 1 | 0 | 122.81 | 7.39 | 1.99 | 0.12 | ad4e350 | | M2 ULTRA | METAL | medium-q5_0 | 1 | 0 | 140.62 | 6.73 | 2.03 | 0.14 | ad4e350 | | M2 ULTRA | METAL | medium-q5_1 | 1 | 0 | 140.44 | 6.74 | 2.04 | 0.14 | ad4e350 | | M2 ULTRA | METAL | medium-q8_0 | 1 | 0 | 131.05 | 6.54 | 1.95 | 0.13 | ad4e350 | | M2 ULTRA | METAL | medium-dis | 1 | 0 | 110.95 | 0.99 | 0.24 | 0.02 | ad4e350 | | M2 ULTRA | METAL | large-v2 | 1 | 0 | 222.19 | 10.93 | 3.01 | 0.21 | ad4e350 | | M2 ULTRA | METAL | large-v2-q5_0 | 1 | 0 | 258.47 | 9.75 | 3.01 | 0.25 | ad4e350 | | M2 ULTRA | METAL | large-v2-q5_1 | 1 | 0 | 258.40 | 9.85 | 3.01 | 0.24 | ad4e350 | | M2 ULTRA | METAL | large-v2-q8_0 | 1 | 0 | 236.68 | 9.61 | 2.85 | 0.23 | ad4e350 | | M2 ULTRA | METAL | large-v2-dis | 1 | 0 | 199.28 | 1.12 | 0.27 | 0.02 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo | 1 | 0 | 201.49 | 1.76 | 0.45 | 0.03 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo-q5_0 | 1 | 0 | 233.70 | 1.55 | 0.46 | 0.04 | ad4e350 | | M2 ULTRA | METAL | large-v3-turbo-q8_0 | 1 | 0 | 214.20 | 1.51 | 0.44 | 0.04 | ad4e350 | ## M4 Max **Flash Attention ON:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M4 Max | METAL | tiny | 1 | 1 | 15.22 | 0.89 | 0.26 | 0.01 | ad4e3509 | | M4 Max | METAL | tiny-q8_0 | 1 | 1 | 14.70 | 0.86 | 0.26 | 0.01 | ad4e3509 | | M4 Max | METAL | base | 1 | 1 | 25.33 | 1.36 | 0.30 | 0.02 | ad4e3509 | | M4 Max | METAL | base-q8_0 | 1 | 1 | 21.27 | 1.31 | 0.30 | 0.02 | ad4e3509 | | M4 Max | METAL | small | 1 | 1 | 58.43 | 2.78 | 0.60 | 0.05 | ad4e3509 | | M4 Max | METAL | small-q8_0 | 1 | 1 | 60.26 | 2.39 | 0.60 | 0.05 | ad4e3509 | | M4 Max | METAL | medium | 1 | 1 | 169.73 | 6.03 | 1.31 | 0.14 | ad4e3509 | | M4 Max | METAL | medium-q8_0 | 1 | 1 | 176.61 | 4.99 | 1.31 | 0.14 | ad4e3509 | | M4 Max | METAL | large-v2 | 1 | 1 | 316.18 | 9.60 | 2.08 | 0.24 | ad4e3509 | | M4 Max | METAL | large-v2-q8_0 | 1 | 1 | 329.59 | 7.55 | 2.08 | 0.25 | ad4e3509 | **Flash Attention OFF:** | CPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M4 Max | METAL | tiny | 1 | 0 | 13.12 | 0.87 | 0.29 | 0.01 | ad4e3509 | | M4 Max | METAL | tiny-q8_0 | 1 | 0 | 15.90 | 0.88 | 0.31 | 0.01 | ad4e3509 | | M4 Max | METAL | base | 1 | 0 | 23.10 | 1.42 | 0.34 | 0.02 | ad4e3509 | | M4 Max | METAL | base-q8_0 | 1 | 0 | 27.25 | 1.31 | 0.34 | 0.02 | ad4e3509 | | M4 Max | METAL | small | 1 | 0 | 71.76 | 3.02 | 0.70 | 0.06 | ad4e3509 | | M4 Max | METAL | small-q8_0 | 1 | 0 | 73.88 | 2.60 | 0.71 | 0.06 | ad4e3509 | | M4 Max | METAL | medium | 1 | 0 | 208.22 | 6.94 | 1.55 | 0.16 | ad4e3509 | | M4 Max | METAL | medium-q8_0 | 1 | 0 | 214.65 | 5.90 | 1.57 | 0.17 | ad4e3509 | | M4 Max | METAL | large-v2 | 1 | 0 | 381.72 | 11.28 | 2.51 | 0.29 | ad4e3509 | | M4 Max | METAL | large-v2-q8_0 | 1 | 0 | 394.97 | 8.90 | 2.45 | 0.30 | ad4e3509 | ## V100 **Flash Attention ON:** | GPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | V100 | AVX2 CUDA | tiny | 8 | 1 | 4.01 | 0.90 | 0.25 | 0.01 | ad4e3509 | | V100 | AVX2 CUDA | tiny-q5_1 | 8 | 1 | 4.12 | 0.88 | 0.18 | 0.01 | ad4e3509 | | V100 | AVX2 CUDA | base | 8 | 1 | 7.00 | 1.30 | 0.35 | 0.01 | ad4e3509 | | V100 | AVX2 CUDA | base-q5_1 | 8 | 1 | 7.22 | 1.21 | 0.26 | 0.02 | ad4e3509 | | V100 | AVX2 CUDA | small | 8 | 1 | 18.68 | 2.39 | 0.69 | 0.03 | ad4e3509 | | V100 | AVX2 CUDA | small-q5_1 | 8 | 1 | 19.38 | 2.32 | 0.51 | 0.03 | ad4e3509 | | V100 | AVX2 CUDA | medium | 8 | 1 | 53.17 | 5.15 | 1.45 | 0.06 | ad4e3509 | | V100 | AVX2 CUDA | medium-q5_0 | 8 | 1 | 55.09 | 4.64 | 1.05 | 0.07 | ad4e3509 | | V100 | AVX2 CUDA | large-v2 | 8 | 1 | 85.77 | 7.57 | 2.19 | 0.10 | ad4e3509 | | V100 | AVX2 CUDA | large-v2-q5_0 | 8 | 1 | 89.24 | 6.48 | 1.48 | 0.11 | ad4e3509 | | V100 | AVX2 CUDA | large-v3-turbo | 8 | 1 | 75.56 | 1.25 | 0.37 | 0.02 | ad4e3509 | | V100 | AVX2 CUDA | large-v3-turbo-q5_0 | 8 | 1 | 78.48 | 1.01 | 0.24 | 0.02 | ad4e3509 | **Flash Attention OFF:** | GPU | Config | Model | Th | FA | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | V100 | AVX2 CUDA | tiny | 8 | 0 | 6.15 | 1.02 | 0.30 | 0.01 | ad4e3509 | | V100 | AVX2 CUDA | tiny-q5_1 | 8 | 0 | 5.92 | 0.96 | 0.25 | 0.01 | ad4e3509 | | V100 | AVX2 CUDA | base | 8 | 0 | 10.60 | 1.43 | 0.43 | 0.02 | ad4e3509 | | V100 | AVX2 CUDA | base-q5_1 | 8 | 0 | 10.80 | 1.37 | 0.36 | 0.02 | ad4e3509 | | V100 | AVX2 CUDA | small | 8 | 0 | 31.83 | 2.82 | 0.87 | 0.04 | ad4e3509 | | V100 | AVX2 CUDA | small-q5_1 | 8 | 0 | 31.88 | 2.68 | 0.72 | 0.04 | ad4e3509 | | V100 | AVX2 CUDA | medium | 8 | 0 | 81.30 | 6.02 | 1.81 | 0.09 | ad4e3509 | | V100 | AVX2 CUDA | medium-q5_0 | 8 | 0 | 83.21 | 5.44 | 1.41 | 0.10 | ad4e3509 | | V100 | AVX2 CUDA | large-v2 | 8 | 0 | 134.81 | 8.64 | 2.69 | 0.14 | ad4e3509 | | V100 | AVX2 CUDA | large-v2-q5_0 | 8 | 0 | 138.95 | 7.57 | 2.04 | 0.15 | ad4e3509 | | V100 | AVX2 CUDA | large-v3-turbo | 8 | 0 | 124.42 | 1.37 | 0.43 | 0.02 | ad4e3509 | | V100 | AVX2 CUDA | large-v3-turbo-q5_0 | 8 | 0 | 127.81 | 1.13 | 0.32 | 0.03 | ad4e3509 | ## What's Changed * docs: Fix main -> whisper-cli in download scripts by @domdomegg in https://github.com/ggerganov/whisper.cpp/pull/2707 * Adding back docker instructions in v1.7.4 by @jayant-yadav in https://github.com/ggerganov/whisper.cpp/pull/2711 * Expose whisper_full_get_segment_no_speech_prob_from_state by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/2716 * Use Unique Filenames for FFmpeg Conversion to Prevent File Overwrites by @NETZkultur in https://github.com/ggerganov/whisper.cpp/pull/2718 * talk-llama : sync llama.cpp by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2709 * whisper : fix gpu device selection by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2728 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2737 * Fix whisper.objc Xcode project by @iamcgn in https://github.com/ggerganov/whisper.cpp/pull/2736 * ruby : Make context accept initial parameters, API to retrieve a segment and more by @KitaitiMakoto in https://github.com/ggerganov/whisper.cpp/pull/2749 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2779 * Fix coreml export script by @mgrachten in https://github.com/ggerganov/whisper.cpp/pull/2770 * Add max_len param in node addon by @billyct in https://github.com/ggerganov/whisper.cpp/pull/2760 * cmake : fix compile assumptions for power9/etc by @midnightmagic in https://github.com/ggerganov/whisper.cpp/pull/2777 * Fixes for Windows by @foldl in https://github.com/ggerganov/whisper.cpp/pull/2790 * Restore big endian support by @fitzsim in https://github.com/ggerganov/whisper.cpp/pull/2816 * Add beam size parameter to stream example by @masahji in https://github.com/ggerganov/whisper.cpp/pull/2836 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2844 * Adjusted stream example to stop on ^C when no audio is received. by @petterreinholdtsen in https://github.com/ggerganov/whisper.cpp/pull/2822 * Use miniaudio for direct decoding flac, mp3, ogg and wav by @data-man in https://github.com/ggerganov/whisper.cpp/pull/2759 * common : try to fix build by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2845 * common : separate whisper sources by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2846 * whisper : support GGML_BACKEND_DL by @slaren in https://github.com/ggerganov/whisper.cpp/pull/2843 * ruby : follow audio library change by @KitaitiMakoto in https://github.com/ggerganov/whisper.cpp/pull/2851 * fix: missing include common-whisper in addon.node by @buxuku in https://github.com/ggerganov/whisper.cpp/pull/2858 * Fixes audio loading by miniaudio by @data-man in https://github.com/ggerganov/whisper.cpp/pull/2862 * Updated models download URL by @AMDphreak in https://github.com/ggerganov/whisper.cpp/pull/2756 * [Fix] When m_audio_pos overflows, m_audio_len should also increase in… by @Ivy233 in https://github.com/ggerganov/whisper.cpp/pull/2855 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2868 * whisper: add xcframework build script by @mdestagnol in https://github.com/ggerganov/whisper.cpp/pull/2873 * examples : add dl to the list of libraries linked by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2875 * ggml-ci: add run.sh by @redraskal in https://github.com/ggerganov/whisper.cpp/pull/2877 * ggml-ci: update input env variables to GG_BUILD_ by @redraskal in https://github.com/ggerganov/whisper.cpp/pull/2879 * examples : add GGML_USE_CPU=ON flag to whisper.objc by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2880 * Update convert-h5-to-ggml.py by @fltman in https://github.com/ggerganov/whisper.cpp/pull/2840 * whisper : add option to use system-installed GGML by @peter277 in https://github.com/ggerganov/whisper.cpp/pull/2887 * examples : use xcframework in whisper.objc example by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2882 * ci : add release job and include xcframework by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2889 * whisper : enable compiler warnings for src by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2891 * ci : add missing env.branch_name to build.yml by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2896 * whisper : fix compiler warnings in whisper.cpp by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2895 * ci : add ccache action to windows-cublas job by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2893 * Implementing Encoder Begin Callback for golang binding by @aderbedr in https://github.com/ggerganov/whisper.cpp/pull/2900 * ci : refactor cuda toolkit installation steps by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2902 * examples : command.wasm updates by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2904 * examples : update wasm examples to include server.py [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2908 * ci : use ninja and fix caching for windows-cublas by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2910 * examples : add WHISPER_SDL2 check to deprecation executables by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2911 * xcframework : add support for CoreML to ios/macOS by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2912 * ci : increase windows-cublas evict-old-files to 5d by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2915 * examples : update whisper.objc README.md by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2916 * whisper : add check for CPU backend initialization by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2918 * readme : update Python version to 3.11 for Core ML support [no -ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2919 * whisper.swiftui : Add Core ML support to README [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2921 * whisper : update default model download directory behavior to use current working directory when script is in /bin/ directory by @peter277 in https://github.com/ggerganov/whisper.cpp/pull/2924 * ci : remove CMAKE_CUDA_ARCHITECTURES in windows-cublas by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2923 * whisper : initialize decoder's rng with unique seed by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2932 * whisper : enhance model download scripts functionality and resolve compiler warning by @peter277 in https://github.com/ggerganov/whisper.cpp/pull/2925 * ggml : add logging for native build options/vars by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2935 * examples : fix request path for local worker files by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2937 * examples : fix nthread parsing in whisper.wasm by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2938 * examples : reduce initial memory to 512MB by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2939 * ci: fix SYCL build by @qnixsynapse in https://github.com/ggerganov/whisper.cpp/pull/2943 * whisper.android.java : update build with ggml source changes by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2942 * whisper.android : add GGML_USE_CPU compile definition by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2945 * Update README.md by @Page-MS in https://github.com/ggerganov/whisper.cpp/pull/2946 * bindings.javascript : update test instructions [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2951 * bindings.java : enable copyLibs task [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2949 * whisper : add support for backends with multiple ggml_backend_buffer_type by @eddnjjn in https://github.com/ggerganov/whisper.cpp/pull/2863 * bindings-go : update Makefile to use cmake by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2952 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2953 * support progress_callback API for addon.node by @buxuku in https://github.com/ggerganov/whisper.cpp/pull/2941 * bindings.ruby : fix test failures in test_whisper by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2955 * Adding in DetectedLanguage to go bindings by @aderbedr in https://github.com/ggerganov/whisper.cpp/pull/2947 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2962 * whisper : remove unnecessary GGML_UNUSED macro by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2960 * feat: add health check endpoint to server by @sachaarbonel in https://github.com/ggerganov/whisper.cpp/pull/2968 * ci : add github pages workflow for wasm examples by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2969 * examples : update README links to point to pages deployment by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2971 * cmake: improve Vulkan cooperative matrix support checks by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/2966 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2972 * ci : re-enable android_java job by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2958 * ci : re-enable freeBDS-latest job by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2973 * android.java : re-add ggml source updates by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2975 * tests : re-enable tests [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2977 * ci : add coreml job that converts base.en to coreml [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2981 * coreml: fix Whisper to CoreML conversion by disabling SDPA [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2979 * whisper.objc : fix typo in README.md [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2985 * ci : remove intermediate build on push to master by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2986 * examples : clarify Core ML encoder model usage [no ci] by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2987 * tests : remove gh label test-whisper-cli-tiny-en by @danbev in https://github.com/ggerganov/whisper.cpp/pull/2988 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2991 * bench : update numbers [no ci] by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2993 * release : v1.7.5 by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/2994 ## New Contributors * @domdomegg made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2707 * @jayant-yadav made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2711 * @NETZkultur made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2718 * @iamcgn made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2736 * @mgrachten made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2770 * @billyct made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2760 * @midnightmagic made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2777 * @foldl made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2790 * @masahji made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2836 * @data-man made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2759 * @buxuku made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2858 * @AMDphreak made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2756 * @Ivy233 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2855 * @mdestagnol made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2873 * @danbev made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2875 * @redraskal made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2877 * @fltman made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2840 * @peter277 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2887 * @aderbedr made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2900 * @qnixsynapse made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2943 * @Page-MS made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2946 * @eddnjjn made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/2863 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.7.4...v1.7.5