Skip to content

Latest commit

ย 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽ™๏ธ VoxScribe

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).

VoxScribe


โœจ Features

  • ๐ŸŽค 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

๐Ÿš€ Quick Start

Prerequisites

  • Windows 10/11 (x64)
  • .NET 10 SDK
  • Visual Studio 2022 or later (with C++ tools for CUDA compilation)

Installation

  1. Clone the repository
git clone https://github.com/datakent/VoxScribe.git
cd VoxScribe
  1. Build the project
dotnet build -c Release
  1. Add Whisper models Download models from Hugging Face and place them in the Models folder.

  2. Run the application

cd bin/Release/net10.0
VoxScribe.exe

๐Ÿ“ Folder Structure

VoxScribe/
โ”œโ”€โ”€ @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

๐Ÿ”ง Configuration

DLL Loading

VoxScribe uses custom compiled whisper.cpp DLLs. The application automatically selects the best available version:

  1. CUDA 13.x (if available) โ†’ Fastest
  2. AVX2 + FMA (if supported) โ†’ Fast
  3. Legacy CPU โ†’ Compatible

Custom DLL Path

If you need to use custom DLLs, modify the path in GlobalClass.cs:

GlobalClass.whisper_dll_path = @"C:\Your\Custom\Path\";

๐Ÿ› ๏ธ Building from Source

1. Build Whisper.cpp DLLs

For CUDA support:

cmake .. -DGGML_CUDA=1
cmake --build . --config Release

For CPU: (โœ“AVX2 โœ“FMA โœ“F16C)

cmake -B build
cmake --build build -j --config Release

For 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 Release

2. Build VoxScribe

dotnet build -c Release

๐Ÿ“ Whisper.net Modification

VoxScribe uses a modified version of Whisper.net to support custom DLL loading paths.

Changes Made:

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));
}

Where It's Used:

In WhisperService.cs:

// Custom DLL loading - see WHISPER_NET_MODIFICATION.md
RuntimeOptions.LibraryPath = GlobalClass.whisper_dll_path;
RuntimeOptions.BypassRuntimeDirectories = true;

โš ๏ธ Important: See WHISPER_NET_MODIFICATION.md for detailed modification instructions.


๐ŸŽฏ Usage

Microphone Recording

  1. Select a model from the dropdown
  2. Select your language (or use "auto" for automatic detection)
  3. Click Record or press your configured hotkey
  4. Speak into your microphone
  5. Click Stop to end recording and transcribe

File Transcription

You can transcribe an audio or video file using either of the following methods:

  1. Click Transcribe File and select an audio/video file, or
  2. Drag and drop an audio/video file directly onto the main window.

The file will be converted and transcribed automatically.


๐ŸŒ Supported Languages

  • 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

โš™๏ธ System Requirements

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)

๐Ÿ“„ License

MIT License - see LICENSE file for details.


๐Ÿ™ Acknowledgments


๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ฌ Contact


Happy Transcribing! ๐ŸŽ™๏ธ

About

**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).

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages