handy-computer/transcribe.cpp

ggml speech-to-text inference for 16+ model families

What it solves

transcribe.cpp is a high-performance C/C++ speech-to-text (STT) inference library designed to run diverse model families across various hardware platforms. It eliminates the need for heavy dependencies by providing a lightweight, portable runtime that supports both streaming and batch transcription.

How it works

The library uses the ggml runtime and GGUF model formats to execute inference. It leverages hardware acceleration via Metal (Apple Silicon), Vulkan (Linux/Windows), and CUDA (NVIDIA GPUs), while providing a tinyBLAS-accelerated path for CPUs. It includes a quantization tool to reduce model size and a converter to transform NVIDIA NeMo checkpoints into GGUF format.

Who it’s for

Developers who need to integrate fast, local speech-to-text capabilities into their applications without relying on cloud APIs or heavy ML frameworks. It provides official bindings for Python, TypeScript/JavaScript, Rust, and Swift.

Highlights

  • Broad Model Support: Supports 16 model families and 60+ variants, including Whisper, Parakeet, Canary, and Qwen3-ASR.
  • Cross-Platform Acceleration: Native GPU support for Metal, Vulkan, and CUDA.
  • Numerical Verification: All published models are numerically verified and WER-tested against reference implementations.
  • Flexible Deployment: Supports both streaming and batch processing of audio.
  • Quantization: Built-in tools to create smaller, more efficient models (F16, Q8_0, Q4_K_M, etc.).