Skip to content

This feature and documentation are contributed by GitHub phoenixlyq

Whisper.NET Setup Guide

What is This?

Whisper.NET is a speech recognition engine that enables your AMD GPU to accelerate speech recognition via Vulkan (no NVIDIA CUDA required).

Who is This For?

Ideal for Windows + AMD GPU users.

Background: While using Whisper.cpp, I found that the latest version no longer supports AMD GPUs on Windows, forcing Windows + AMD GPU users to rely on CPU for speech recognition, which is very slow. After consulting and experimenting with AI, I chose the Whisper.NET technical path and implemented it with AI programming assistance.

Tested Environment: Currently tested only on Windows 11 23H2 + RX 6650 XT. Other environments may require user testing. Feedback is welcome.


Step 1: Download DLL Files

Files to Download

1. Managed DLLs (place in the deps/ folder):

FileVersionDownload Link
Whisper.net.dll1.9.0Click to download
Microsoft.Extensions.AI.Abstractions.dll10.0.0Click to download
Microsoft.Bcl.AsyncInterfaces.dll10.0.0Click to download
System.Memory.dll4.6.3Click to download
System.Buffers.dll4.6.1Click to download
System.Runtime.CompilerServices.Unsafe.dll6.1.2Click to download
System.Numerics.Vectors.dll4.6.1Click to download

2. Native DLLs (place in the deps/native/ folder):

Open the Whisper.net.Runtime.Vulkan 1.9.0 page, find and click the Download package (27.98 MB) link on the right. After downloading, rename the file extension from .nupkg to .zip, then extract. Copy all DLL files from the extracted build/win-x64/ folder to deps/native/.

The NuGet package includes these files (all required; for alias files, copy and rename):

FileSizePurpose
whisper.dll473KBSpeech recognition core
libwhisper.dll473KBCopy whisper.dll and rename to libwhisper.dll (alias required)
ggml-whisper.dll66KBCompute library
libggml-whisper.dll66KBCopy ggml-whisper.dll and rename to libggml-whisper.dll (alias required)
ggml-base-whisper.dll528KBBase library (required dependency)
libggml-base-whisper.dll528KBCopy ggml-base-whisper.dll and rename to libggml-base-whisper.dll (alias required)
ggml-cpu-whisper.dll590KBCPU fallback
libggml-cpu-whisper.dll590KBCopy ggml-cpu-whisper.dll and rename to libggml-cpu-whisper.dll (alias required)
ggml-vulkan-whisper.dll45MBGPU acceleration (Vulkan)
libggml-vulkan-whisper.dll45MBCopy ggml-vulkan-whisper.dll and rename to libggml-vulkan-whisper.dll (alias required)

Step 2: Download the Speech Model

Download .bin format model files from ggerganov/whisper.cpp models and place them in the models/ folder.

For example, download: ggml-large-v3-turbo.bin (good quality, fast speed).


Step 3: Verify File Structure

Make sure your directory structure looks like this:

pyvideotrans/
├─ models/
│  └─ ggml-large-v3-turbo.bin    ← Speech model
└─ deps/
   ├─ Whisper.net.dll            ← The following 7 are managed DLLs
   ├─ Microsoft.Extensions.AI.Abstractions.dll
   ├─ Microsoft.Bcl.AsyncInterfaces.dll
   ├─ System.Memory.dll
   ├─ System.Buffers.dll
   ├─ System.Runtime.CompilerServices.Unsafe.dll
   ├─ System.Numerics.Vectors.dll
   └─ native/                     ← Copy all DLLs from NuGet's build/win-x64/ folder here
      ├─ whisper.dll
      ├─ libwhisper.dll
      ├─ ggml-whisper.dll
      ├─ libggml-whisper.dll
      ├─ ggml-base-whisper.dll
      ├─ libggml-base-whisper.dll
      ├─ ggml-cpu-whisper.dll
      ├─ libggml-cpu-whisper.dll
      ├─ ggml-vulkan-whisper.dll
      └─ libggml-vulkan-whisper.dll

Step 4: Start Using

Currently only supported in the source code deployment. Make sure you deploy the software via source code.

  1. Deploy this project via source code, run uv sync --all-extras. If already installed, run uv sync --extra dotnet separately to install the pythonnet module.
  2. Run uv run sp.py to open the software.
  3. Select "Whisper.NET" from the speech recognition dropdown.
  4. Choose your downloaded model file.
  5. Click Start.

Troubleshooting?

Getting "Native Library not found" or error code 0x8007007E

  • Check if the deps/native/ folder contains all 10 DLL files.
  • Verify that file names are correct.

GPU acceleration not working

  • Update your graphics driver.
  • AMD GPUs need Vulkan support (RX 400 series and above).
  • NVIDIA GPUs need GTX 600 series and above.

Getting a pythonnet initialization failure

  • Install the .NET Runtime (choose the latest .NET 8 or .NET 9).

Check if your GPU supports Vulkan

Open the command line and type:

vulkaninfo

If it shows your GPU information, it supports Vulkan.