qourex/FasterWhisper.NET
LibraryLive in productionFasterWhisper.NET is a high-performance, cross-platform .NET SDK for Whisper speech recognition, powered by CTranslate2.
FasterWhisper.NET is a high-performance, cross-platform .NET SDK for Whisper speech recognition, powered by CTranslate2. Built for production workloads with streaming, Silero VAD, batching, multi-replica inference, audio diagnostics, subtitle generation, and local CPU/CUDA execution without Python dependencies.
qourex.github.io/FasterWhisper.NET/
- C#87.8%
- C++5.5%
- PowerShell2.5%
- C2.2%
- Shell1.4%
- CMake0.7%
1 Review
FasterWhisper.NET is a substantial speech-recognition SDK with a strong focus on the .NET ecosystem. It provides offline Whisper transcription through CTranslate2, real-time streaming with IAsyncEnumerable, Silero voice activity detection, word timestamps, concurrent replica pools, audio-quality checks, hallucination controls, and exports to formats such as SRT, WebVTT, JSON, and Markdown. The managed API uses source-generated native interop, explicit cleanup functions, nullable reference types, and asynchronous model downloads. Platform coverage is broad, including Windows, Linux, macOS, Android, and iOS, with separate CPU and CUDA packages. The repository also includes ten sample applications across console, ASP.NET Core, Blazor, WinForms, and MAUI. Documentation, contribution guidance, a security policy, third-party licensing notices, model integrity checks, and a large xUnit suite give the project a solid foundation.
The highest-value improvement is validating the native code that users actually receive. Pull request CI runs only on Windows and excludes every test marked as integration. The release workflow builds native libraries for Linux, macOS, Android, and iOS, but still runs only managed unit tests. Windows CPU binaries and Windows and Linux CUDA binaries are committed artifacts rather than reproducibly built during release. Adding native transcription smoke tests on each desktop platform, mobile package tests, CUDA validation, checksums, and build provenance would better support the “production-ready” claim. The repository should also fix the sample links in the README, which currently use local file:///g:/Git-Repos/... paths that cannot work for visitors. Benchmark results are useful and disclose the hardware, though a repeatable BenchmarkDotNet project and results from newer CPUs and GPUs would make performance comparisons stronger. Overall, FasterWhisper.NET offers an unusually complete .NET interface for Whisper. Stronger release verification would make its broad platform and reliability claims easier to trust.
Thank you for the detailed architectural review. It accurately reflects the goals of FasterWhisper.NET: providing a high-performance, idiomatic .NET interface for Whisper while making the native components easier to verify and maintain. Here is how we are addressing the feedback: Multi-Platform Native CI Smoke Tests Desktop Smoke Tests: We are expanding our CI matrix to run native transcription smoke tests on Ubuntu (linux-x64), macOS (osx-x64 and osx-arm64), and Windows (win-x64). These tests will use the lightweight tiny model to verify that the distributed native binaries load and transcription works correctly on each platform before a merge. Pre-Release Hardware Checks: Before major releases, we will test the CUDA 12.x and cuDNN execution paths on physical NVIDIA hardware, including INT8 and FP16 workloads. Build Instructions and SHA-256 Checksums Since the full CUDA and oneMKL toolchains are too large for standard CI runners, we provide version-locked Dockerfiles and CMake build scripts in the repository. This allows the native libraries to be rebuilt from source using a consistent environment. We will also publish SHA-256 checksums for all distributed native binaries (.dll, .so, and .dylib) alongside official NuGet releases so users can verify the integrity of downloaded files. Documentation and Link Fixes The file:/// path issue in the README has been fixed. The affected links now point to the appropriate repository paths, including samples/ and samples/README.md. Standardized Benchmarking We are adding a dedicated BenchmarkDotNet project to provide repeatable and consistent performance measurements alongside the existing samples. We also plan to expand the benchmark results to include newer hardware, including NVIDIA RTX 40/50-series GPUs and Apple Silicon. These changes should make the project easier to validate across platforms and hardware, while also making the native build and release process more transparent.
Following up on our earlier note, we wanted to let you know that the verification and tooling improvements discussed have now been fully implemented and merged into the main branch: Multi-Platform CI Matrix GitHub Actions workflows (pr-check.yml and build.yml) now execute cross-platform test matrices across Windows (windows-latest), Ubuntu (ubuntu-latest), and macOS (macos-latest). Native End-to-End Smoke Test Suite Added a dedicated 6-test suite in tests/Qourex.FasterWhisper.NET.Tests/NativeSmokeTests.cs validating: Real-time audio file transcription Raw in-memory 16kHz float PCM buffer decoding IAsyncEnumerable non-blocking streaming Word-level timestamp alignment and confidence scores Silero Voice Activity Detection (VAD) filtering Multilingual language identification SHA-256 Checksum Automation Added scripts/generate-checksums.ps1 and updated release.yml to automatically hash all distributed .dll, .so, and .dylib binaries and attach SHA256SUMS.txt to every GitHub release. Pre-Release GPU Validation Script Added scripts/test-gpu.ps1 to automate CUDA 12.x and cuDNN initialization, model loading, and FP16/INT8 inference testing on physical NVIDIA hardware before tagging releases. Documentation Link Corrections All documentation links in the README have been updated to clean relative paths (samples/ and samples/README.md). The dedicated BenchmarkDotNet project is next on our roadmap. Thank you again for the constructive feedback that helped strengthen the repository.
