handy-computer/transcribe.cpp

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

解决的问题

transcribe.cpp 是一个高性能的 C/C++ 语音转文本 (STT) 推理库,旨在各种硬件平台上运行多样化的模型系列。它通过提供支持流式传输和批量转写的轻量级、可移植运行时,消除了对沉重依赖项的需求。

工作原理

该库使用 ggml 运行时和 GGUF 模型格式执行推理。它利用 Metal (Apple Silicon)、Vulkan (Linux/Windows) 和 CUDA (NVIDIA GPUs) 进行硬件加速,同时为 CPU 提供 tinyBLAS 加速路径。它包含一个用于减小模型尺寸的量化工具,以及一个将 NVIDIA NeMo 检查点转换为 GGUF 格式的转换器。

适用对象

需要将快速、本地的语音转文本功能集成到其应用程序中,且不依赖云端 API 或沉重 ML 框架的开发人员。它为 Python、TypeScript/JavaScript、Rust 和 Swift 提供官方绑定。

亮点

  • 广泛的模型支持:支持包括 Whisper、Parakeet、Canary 和 Qwen3-ASR 在内的 16 个模型系列和 60 多个变体。
  • 跨平台加速:对 Metal、Vulkan 和 CUDA 的原生 GPU 支持。
  • 数值验证:所有发布的模型都经过数值验证,并针对参考实现进行了 WER 测试。
  • 灵活的部署:支持音频的流式处理和批量处理。
  • 量化:内置用于创建更小、更高效模型的工具 (F16, Q8_0, Q4_K_M 等)。