Skip to content

Releases: sandrohanea/whisper.net

v1.7.4

26 Dec 20:57
a3ec2f8
Compare
Choose a tag to compare

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

02 Dec 10:51
635869b
Compare
Choose a tag to compare

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 to 9.0.0)

Full Changelog: 1.7.2...1.7.3

v1.7.2

10 Nov 15:19
a4877bb
Compare
Choose a tag to compare

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

Full Changelog: 1.7.1...1.7.2

v1.7.1

17 Oct 22:07
1117e52
Compare
Choose a tag to compare

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

14 Oct 13:18
40639db
Compare
Choose a tag to compare
v1.7.1-preview1 Pre-release
Pre-release

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

07 Oct 22:30
Compare
Choose a tag to compare

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 to Whisper.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

25 Nov 16:29
8711b1b
Compare
Choose a tag to compare
  • 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

02 Sep 15:40
4f9a238
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 1.4.6...1.4.7

1.4.6

02 Jul 21:17
88c65f1
Compare
Choose a tag to compare

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

19 Jun 22:41
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.4.4...1.4.5