Releases: sandrohanea/whisper.net
v1.7.4
We're thrilled to announce the release of whisper.net 1.7.4, featuring a host of improvements and new functionalities.
Key Features and Changes
- Custom Alignment Heads for DTW: Now, you can define custom alignment heads for Dynamic Time Warping (DTW), enhancing the accuracy of speech-to-text alignment in various scenarios.
- Upgrade to
Whisper.cpp 1.7.3
which included multiple updates and fixes:WithNoSpeechThreshold
Support: This allows for better handling of silent segments in audio, improving transcription accuracy.- Performance Enhancements: Significant improvements, especially on the Metal runtime for macOS, ensuring faster processing times.
- Library Split: The native libraries are now split into multiple files (
libggml-whisper
,libggml-base-whisper
, etc.), allowing for more modular use and easier updates.
- MAUI App Testing for iOS: Added tests for MAUI applications on iOS, ensuring better support for cross-platform development. 🚀
- Whisper Factory Options: Introduced new options at the WhisperFactory level for more granular control over configurations, previously managed through a singleton at the library level (RuntimeOptions). This improves flexibility and maintainability. Note: RuntimeOptions are still available but only to configure the way how the native runtime is being loaded.
- The continuous recognition example has been deprecated in favor of EchoSharp, which provides a more robust and up-to-date demonstration of continuous speech recognition capabilities.
- FIxed an issue where the native library couldn't be auto-loaded on systems that are not providing any command line arguments (like godot)
What's Changed
- Bumped version 1.7.3 by @sandrohanea in #292
- Bump FluentAssertions from 6.12.2 to 7.0.0 by @dependabot in #291
- Bump Microsoft.DotNet.XHarness.TestRunners.Xunit from 10.0.0-prerelease.24575.1 to 10.0.0-prerelease.24604.1 by @dependabot in #294
- Bump Microsoft.DotNet.XHarness.TestRunners.Xunit from 10.0.0-prerelease.24604.1 to 10.0.0-prerelease.24610.1 by @dependabot in #298
- Support setting custom alignment heads for dtw by @jettoblack in #301
- Added Whisper Factory Options by @sandrohanea in #302
- Added test reporter by @sandrohanea in #303
- Removed unnecessary instances and simplified LogProviders + RuntimeOptions by @sandrohanea in #304
- Bump xunit.runner.visualstudio from 2.8.2 to 3.0.0 by @dependabot in #306
- Bumped Whispercpp 1.7.3 that adds WithNoSpeechThreshold by @sandrohanea in #305
- Removed continuous recognition example and replaced it with a link the echosharp by @sandrohanea in #309
Full Changelog: 1.7.3...1.7.4
v1.7.3
Summary
- Introduced support for dotnet 9 MAUI apps
- Upgraded whisper.cpp to 1.7.2
- Fixed the iOS linking (thanks to @AncientLust )
- Added support for Linux with Vulkan runtime
- Bumped various nuget versions to newly released packages (e.g.
Microsoft.Bcl.AsyncInterfaces
to9.0.0
)
Full Changelog: 1.7.2...1.7.3
v1.7.2
What's Changed
- Fix RuntimeOptions example by @SnakyBeaky in #232
- fix linux cuda broken in 1.7.1 by @jettoblack in #234
- Added logs for lib loading in #236
- Bump Microsoft.Extensions.Logging.Debug from 8.0.0 to 8.0.1 by @dependabot in #237
- Fix Whisper.net.Runtime.NoAvx package. in #240
- Fixed the mono and netframework directory retrieval issue in #244
- Added GetSupportedLanguages method in #245
- Bump Microsoft.DotNet.XHarness.TestRunners.Xunit from 10.0.0-prerelease.24511.1 to 10.0.0-prerelease.24529.1 by @dependabot in #242
- Fixed linux performance by adding F16C to list of required specialized instructions in #246
- Fixed CD pipeline to add the tag and conditionally push to nuget in #248
- Renamed ggml to ggml-whisper to not conflict with Llama in #252
- Add option to enable DTW timestamps; expose tokens in SegmentData by @jettoblack in #241
- Added try catch for getting the directory name in #255
- Fixed the issue with the eager init context that is not freeing memory in #258
New Contributors
- @SnakyBeaky made their first contribution in #232
- @jettoblack made their first contribution in #234
Full Changelog: 1.7.1...1.7.2
v1.7.1
What's Changed
- Fixed Android build + improved CI/CI with xharness + added AllRuntimes package in #216
- Fixed vulkan and coreml targets in #218
- Bump Microsoft.AspNetCore.Components.WebAssembly from 8.0.8 to 8.0.10 in /examples by @dependabot in #220
- Bump Microsoft.AspNetCore.Components.WebAssembly.Server from 8.0.8 to 8.0.10 in /examples by @dependabot in #221
- Add FlashAttention support by @Sing303 in #223
- Fixed cuda load when no cuda device available by @sandrohanea and @Sing303 in #225
- Fixed multiruntime issue in #228
- Fixed the perf issue on linux from 1.7.1-preview1 in #229
- Versions bumped after release in #230
New Contributors
Full Changelog: 1.7.0...1.7.1
v1.7.1-preview1
What's Changed
- Fixed Android build + improved CI/CI with xharness
- Added AllRuntimes package
- Fixed vulkan and coreml
- Fixed nuget push
- Added nuget push workflow
Full Changelog: 1.7.0...1.7.1-preview1
v1.7.0
Whisper.net v1.7.0 Release Notes
We're excited to announce the latest version of Whisper.net, packed with new features, enhanced runtime flexibility, and improved support for high-performance speech recognition!
New Features & Improvements
🛠️ Multiple Runtimes Support
- Flexible runtime support: In the past, you could only reference one runtime at a time. Now, Whisper.net allows you to include multiple runtimes within the same project. This makes it easier to build cross-platform applications that take advantage of different runtime options depending on the hardware and platform being used.
🚀 Vulkan Runtime Support
- We’ve added Vulkan as a new GPU runtime option, enabling better GPU acceleration on Windows x64 for systems supporting Vulkan.
⚡ OpenVINO Runtime Support
- Support for OpenVINO has been introduced, providing improved performance on Intel hardware (both CPU and GPU). You can now offload heavy computation to Intel devices with this runtime.
- Added an OpenVINO encoder downloader to make it easier to acquire necessary models for your OpenVINO workloads.
📥 Downloader for OpenVINO Encoders
- Simplified the process of downloading OpenVINO encoder models for faster setup and enhanced model management.
🔄 RuntimeOptions for Configurable Runtimes
- Introducing
RuntimeOptions
, which allows you to configure runtime behaviors, such as selecting which GPU or device to use. This adds greater flexibility and control over how Whisper.net operates on different hardware setups.
Updates
⚙️ CUDA Runtime Update
- The previous
Whisper.net.Cublas
runtime has been renamed toWhisper.net.Cuda
to reflect the use of CUDA for Nvidia GPUs. This renaming ensures consistency and clarity in runtime names.
🛑 ClBlast Runtime Removal
- Removed support for the
Whisper.net.Runtime.Clblast
runtime. Vulkan, CUDA, and OpenVINO now provide more efficient alternatives for hardware acceleration.
🚀 Support for Whisper Large v3 Turbo Models
- We've added support for Whisper Large v3 Turbo, which delivers enhanced performance for large-scale speech recognition tasks.
🔄 Upgraded to Latest Whisper.cpp
- This release integrates the latest Whisper.cpp updates, including all new features, optimizations, and bug fixes from the underlying
whisper.cpp
project. Expect improved performance, stability, and broader platform compatibility.
We hope these improvements will help make Whisper.net even more powerful for your projects. As always, your feedback is welcome, and be sure to check out our documentation for examples and usage details.
Happy coding! 🎉
Full Changelog: 1.5.0...1.7.0
1.5.0
-
Upgraded to Whisper.cpp 1.5.1
-
Improved cancellation using CancellationToken provided => it's using the onabort handler in native library to cancel the processing faster
=> addressing concerns from #23 -
Logging improvements: not logging to stderr by default anymore, but events can be registered (see LogProvider)
=> Added optional logging in simple samples + CoreML sample
=> Logging is now suppressed by default: #129 -
Added
useGpu
on WhisperFactory creation so that GPU usage can be disabled on specific runtimes (e.g. Cublas, CoreML, etc) -
Upgraded dotnet targets to dotnet 8
-
Added support for whisper large v3 (including downloader + coreml model)
=> Old model Large in downloader should be renamed to LargeV2 see GgmlType -
Added linux-x64 support for Whisper.net.Runtime.Cublas
-
Added support for distil-whisper #126
=> No downloader added, you'll need to load the model yourself
=> How to build the model: https://github.com/ggerganov/whisper.cpp/tree/master/models#distilled-models -
Added automated builds for all runtimes using Github Actions
-
Unified runtime builds with make for linux, macos, ios, tvos, wasm and powershell scripts for windows
-
Added Blazor with InteractivityAuto, InteractivityServer and InteractivityWebAssemly support
=> sample with new dotnet 8 Blazor template added. -
Unified Whisper.net.Runtime.Wasm with Whisper.net.Runtime
=> If previously you were using Whisper.net.Runtime.Wasm, just replace it with Whisper.net.Runtime -
Added metal support for arm-based apple platforms (both Whisper.net.Runtime + Whisper.net.Runtime.CoreML)
Full Changelog: 1.4.7...1.5.0
1.4.7
What's Changed
- Bump Microsoft.NET.Test.Sdk from 17.6.2 to 17.6.3 by @dependabot in #92
- Bump Microsoft.AspNetCore.Components.WebAssembly from 7.0.7 to 7.0.9 in /examples by @dependabot in #94
- Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer from 7.0.7 to 7.0.9 in /examples by @dependabot in #95
- Bump whisper.cpp and address breaking changes by @drasticactions in #105
- Bump FluentAssertions from 6.11.0 to 6.12.0 by @dependabot in #104
- Bump NAudio from 2.1.0 to 2.2.0 in /examples by @dependabot in #103
- Bump Microsoft.AspNetCore.Components.WebAssembly.DevServer from 7.0.9 to 7.0.10 in /examples by @dependabot in #99
- Bump Microsoft.NET.Test.Sdk from 17.6.3 to 17.7.2 by @dependabot in #106
- Bump Microsoft.AspNetCore.Components.WebAssembly from 7.0.9 to 7.0.10 in /examples by @dependabot in #98
- Bumped version to 1.4.7 by @sandrohanea in #107
- Retargeted ios, tvos, android and maccatalyst to net7 by @sandrohanea in #107
- Fixed large coreml download" by @sandrohanea in https://huggingface.co/sandrohanea/whisper.net/commit/52d442449e62c86ec74a8b4711c23ec6c0fb30c1
- Fixed #93 by @sandrohanea in https://huggingface.co/sandrohanea/whisper.net/commit/52d442449e62c86ec74a8b4711c23ec6c0fb30c1
New Contributors
- @dependabot made their first contribution in #92
Full Changelog: 1.4.6...1.4.7
1.4.6
What's Changed
- Various changes in the native library incorporated into in #90
- Fixed osx build #88
- Improved WaveParser and fixed #86
- Improved examples
Full Changelog: 1.4.5...1.4.6
1.4.5
What's Changed
- Fixed #74 Issue with Wave Memorystream obtained through ffmpegcore @sandrohanea in dd7525c
- Cleanup some additional memory @sandrohanea in 8723442
Full Changelog: 1.4.4...1.4.5