
2026 年起开源转录库 transcribe.cpp支持多模型、多平台加速助力本地语音转文本今天我特别激动地要和大家分享 transcribe.cpp。它从 2026 年 4 月至今一直在发展。transcribe.cpp 是基于 ggml 的转录库支持所有最新转录模型。在 handy-computer Hugging Face 组织下发布的每个模型都经过数值验证和字错率WER测试确保与参考实现匹配且在各平台能实现加速。我是 Handy 的作者和维护者。这个库的诞生源于我向众多用户分发跨平台语音转文本应用程序时遇到的难题。这是 0.1.0 版本的库意味着存在一些小问题仅靠我一人难以全部发现请大家将问题 反馈 给我让我们一起解决开发动机目前用现有的自动语音识别ASR推理栈分发跨平台应用程序的体验糟糕。主要选择是 whisper.cpp 和 ONNX为苹果设备引入 MLX 又需支持两种引擎还得移植模型。我曾用 ONNX 为 Handy 快速增加模型支持但仅用 CPU 时性能损失大。市面上有些声称支持多种模型的库作者不明且缺乏测试带来的疑问比答案多。比如这些库何时停止维护开发者有无考虑提供绑定用于实际桌面或移动应用这是不是演示代码有无进行基准测试是否比 ONNX 更快这些问题促使我开发 transcribe.cpp。作为 Handy 维护者我需要值得信赖的库。希望下载文件运行推理确保引擎中模型的推理结果与参考实现一样出色最好能在 GPU 运行获最佳性能能轻松嵌入 Handy不是庞大的 PyTorch 库且能在 Mac、Windows 和 Linux 上运行。而 ggml 是目前最好选择有强大社区支持分发表现出色。它能带来什么你将获得快速、准确的推理引擎支持多种模型支持 16 种 ASR 模型系列60 多个模型未来还会增加。通过 Vulkan、Metal、CUDA 和 TinyBLAS 实现加速。每个模型都经过数值验证和 WER 测试。支持流式转录。支持批量转录。基本可替代 whisper.cpp。维护者提供 4 种语言的绑定Python、Javascript/Typescript、Rust、ObjC/Swift。广泛的模型支持我们打算支持更多先进转录模型。截至目前已支持大多数公开可用的现代转录模型一些暂未支持的很快会添加。加速支持我的首要目标之一是在 Vulkan 上运行任何想要的 ASR 模型这是本地推理应用的基本要求。对于支持的每个模型都在 Fedora 系统的 Ryzen 4750UCPU Vulkan以及我的 M4 Max 上进行了基准测试。数值验证我希望确保 transcribe.cpp 中的推理结果准确接近参考实现。因为使用从 Hugging Face 上获取的 .onnx 模型时对推理准确性不确定。为确保推理正确会将每个模型与参考实现进行数值验证还会全面 WER 扫描确保输出与参考实现一致。这意味着每个模型都经过数千次语音测试输出结果与参考实现接近或相同。测试数据结果会发布在 transcribe.cpp 仓库也会在 Hugging Face 上的每个模型页面展示。可替代 whisper.cpptranscribe.cpp 基本可替代 whisper.cpp。原因是 Handy 之前用 whisper.cpp我需用 transcribe.cpp 更新替换。要与 whisper.cpp 中流行的 .bin 文件保持兼容性这些文件随 Handy 发布transcribe.cpp 能运行它们。不过whisper.cpp 中的一些标志和功能目前还不支持。但对绝大多数使用场景我们的实现可靠性能与 whisper.cpp 相当。实际分发从开始我就考虑语言绑定问题。虽库用 C/C 编写但我需要 Rust 绑定。要广泛分发本地转录功能至少需良好的官方绑定支持。我选了 4 种能代表该库使用场景的语言。当然也欢迎其他人贡献绑定前提是承担相应维护工作。很多决策受 Handy 需求驱动。因 Handy 受欢迎我打算像维护 Handy 一样维护这个库继续维护开源项目为生态系统做贡献。如果没有 Handy这个库不会存在因为我不会遇到支持多种 ASR 模型的问题也不了解人们对 ASR 的使用场景。我已尽力涵盖听到最多的使用场景库目前可能有未处理情况欢迎大家贡献让本地语音转文本更易实现transcribe.cpp 的目标是让本地运行的 ASR 更简单。多数设备能准确转录没必要将语音发送到云服务。RK3566 这样的设备用性能较弱的 CPU也能通过 transcribe.cpp 超实时运行模型用最先进模型超实时转录功耗仅需几瓦。我认为未来会有更多推理在本地进行分发问题至关重要。为让更多应用本地运行推理需让推理过程更简单。当然transcribe.cpp 不能完全解决问题但希望是向前的一小步我自己也收获颇丰。感恩之情我非常感谢支持这个项目的人。首先感谢 Mozilla AI、他们的 BiR 项目 以及 Mozilla AI 的 Davide。最初这只是我脑海中的难题向他们求助他们决定支持解决。那时transcribe.cpp 还没具体概念我在探索 Handy 中加速分发的方法。感谢他们的支持让项目诞生。还有 ggml。没有 ggml 及贡献者项目不可能实现。感谢大家付出我认为 ggml 在简化本地推理应用分发方面做得出色。Modal 也帮了大忙。我向他们寻求支持他们给了使用额度用于 WER 测试确保库在 CUDA 上正常工作。能验证工作正确性对我帮助极大。Blacksmith 为 transcribe.cpp 的部分持续集成/持续部署CI/CD提供支持。我求助后他们立刻提供使用额度。CI/CD 对确保发布内容经过一定测试很重要。Hugging Face 是本地 AI 社区的支柱为 handy-computer 组织提供私有存储让我可随意上传模型。是否使用了 AI 辅助当然使用了。我认为短短几个月内仅靠个人用 ggml 从头开发这么大的引擎没外部帮助不可能。不过这里的文字是我自己说出来或敲出来的没使用 AI 生成。