VoxScribe is a Windows desktop application for speech-to-text transcription using Whisper.cpp. It supports both microphone recording and audio/video file transcription with GPU acceleration (CUDA) and CPU optimizations (AVX2/FMA).
- ๐ค Microphone Recording - Record and transcribe speech from your microphone
- ๐ File Transcription - Supports MP3, MP4, WAV, FLAC, OGG, M4A, MKV, WEBM, AVI, AAC, OPUS, WMA
- ๐ง GGML Models - Use Whisper GGML models with easy model management
- โก GPU Acceleration - CUDA 13.x support for fast transcription
- ๐ง CPU Optimizations - AVX2 + FMA support for modern CPUs
- ๐ Multilingual - 30+ languages supported
- ๐ฏ Smart Templates - Quick preset configurations for different use cases
- โจ๏ธ Hotkey Support - Start/stop recording with customizable hotkeys
- ๐ Paste to Cursor - Automatically paste results to any active text field
- ๐พ Export & Save - Save transcriptions as text files
- ๐ Multilingual UI - Turkish and English interface
- Windows 10/11 (x64)
- .NET 10 SDK
- Visual Studio 2022 or later (with C++ tools for CUDA compilation)
- Clone the repository
git clone https://github.com/datakent/VoxScribe.git
cd VoxScribe- Build the project
dotnet build -c Release-
Add Whisper models Download models from Hugging Face and place them in the
Modelsfolder. -
Run the application
cd bin/Release/net10.0
VoxScribe.exeVoxScribe/
โโโ @gpu_cuda13/ โ CUDA 13.x optimized DLLs
โโโ @new_cpu/ โ AVX2 + FMA optimized DLLs
โโโ @old_cpu/ โ Legacy CPU DLLs
โโโ Models/ โ Whisper model files (.bin)
โโโ Data/ โ Settings and history logs
โโโ Resources/ โ Application resources
VoxScribe uses custom compiled whisper.cpp DLLs. The application automatically selects the best available version:
- CUDA 13.x (if available) โ Fastest
- AVX2 + FMA (if supported) โ Fast
- Legacy CPU โ Compatible
If you need to use custom DLLs, modify the path in GlobalClass.cs:
GlobalClass.whisper_dll_path = @"C:\Your\Custom\Path\";For CUDA support:
cmake .. -DGGML_CUDA=1
cmake --build . --config ReleaseFor CPU: (โAVX2 โFMA โF16C)
cmake -B build
cmake --build build -j --config ReleaseFor Legacy CPU: (โAVX โAVX2 โFMA โF16C)
cmake -B build-oldCpu -DGGML_NATIVE=OFF -DGGML_AVX2=OFF -DGGML_FMA=OFF -DGGML_F16C=OFF
cmake --build build-oldCpu -j --config Releasedotnet build -c ReleaseVoxScribe uses a modified version of Whisper.net to support custom DLL loading paths.
1. RuntimeOptions.cs - Added BypassRuntimeDirectories property:
public static bool? BypassRuntimeDirectories { get; set; }2. NativeLibraryLoader.cs - Added custom path loading logic:
if (RuntimeOptions.BypassRuntimeDirectories.HasValue &&
RuntimeOptions.BypassRuntimeDirectories.Value &&
!string.IsNullOrEmpty(RuntimeOptions.LibraryPath))
{
var loader = new UniversalLibraryLoader();
var whisperPath = Path.Combine(RuntimeOptions.LibraryPath, "whisper.dll");
if (!loader.TryOpenLibrary(whisperPath, out var handle))
throw new Exception($"whisper.dll not found in {RuntimeOptions.LibraryPath}");
RuntimeOptions.LoadedLibrary = RuntimeLibrary.Cpu;
return LoadResult.Success(new NativeLibraryWhisper(handle));
}In WhisperService.cs:
// Custom DLL loading - see WHISPER_NET_MODIFICATION.md
RuntimeOptions.LibraryPath = GlobalClass.whisper_dll_path;
RuntimeOptions.BypassRuntimeDirectories = true;
โ ๏ธ Important: SeeWHISPER_NET_MODIFICATION.mdfor detailed modification instructions.
- Select a model from the dropdown
- Select your language (or use "auto" for automatic detection)
- Click Record or press your configured hotkey
- Speak into your microphone
- Click Stop to end recording and transcribe
You can transcribe an audio or video file using either of the following methods:
- Click Transcribe File and select an audio/video file, or
- Drag and drop an audio/video file directly onto the main window.
The file will be converted and transcribed automatically.
- auto (automatic detection)
- ๐น๐ท Turkish, ๐ฌ๐ง English, ๐ฉ๐ช German, ๐ซ๐ท French, ๐ช๐ธ Spanish
- ๐ธ๐ฆ Arabic, ๐ง๐ฌ Bulgarian, ๐จ๐ฟ Czech, ๐ฉ๐ฐ Danish, ๐ฌ๐ท Greek
- ๐ฎ๐ท Persian, ๐ซ๐ฎ Finnish, ๐ฎ๐ณ Hindi, ๐ญ๐ท Croatian, ๐ญ๐บ Hungarian
- ๐ฎ๐ฉ Indonesian, ๐ฎ๐ธ Icelandic, ๐ฎ๐น Italian, ๐ฏ๐ต Japanese, ๐ฐ๐ท Korean
- ๐ณ๐ฑ Dutch, ๐ณ๐ด Norwegian, ๐ต๐ฑ Polish, ๐ต๐น Portuguese, ๐ท๐ด Romanian
- ๐ท๐บ Russian, ๐ธ๐ฐ Slovak, ๐ธ๐ฎ Slovenian, ๐ท๐ธ Serbian, ๐ธ๐ช Swedish
- ๐บ๐ฆ Ukrainian, ๐ป๐ณ Vietnamese, ๐จ๐ณ Chinese
| Component | Minimum | Recommended |
|---|---|---|
| OS | Windows 10 (x64) | Windows 11 (x64) |
| CPU | AVX support | AVX2 + FMA |
| RAM | 4 GB | 8 GB+ |
| GPU (Optional) | - | NVIDIA CUDA 13.x compatible |
| Disk Space | 2 GB | 10 GB+ (for models) |
MIT License - see LICENSE file for details.
- Whisper.cpp by Georgi Gerganov
- Whisper.net by Sandro Hanea
- NAudio by Mark Heath
- FFmpeg for audio processing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- GitHub: datakent
- Issues: GitHub Issues
Happy Transcribing! ๐๏ธ
