Transcribe.cpp
一个新的开源 C++ 库 Transcribe.cpp,旨在让高质量语音转文字推理能够在各类设备上本地运行,并定位为比 whisper.cpp 更灵活、模型无关的继任者。评论者强调了它的流式支持、Rust/Python/TS 绑定,以及在 Handy 等应用中用于离线听写的集成,同时也提到正在推进说话人分离、浏览器支持和 Linux 可用性。该项目被视为更广泛转向隐私保护、在本地运行的 AI 工具的一部分,这类工具可避免云订阅和厂商锁定。
总体角色与定位
- 在很大程度上被视为 whisper.cpp 的现代化、更灵活的继任者,具备更好的多模型支持和流式处理能力。
- 目标是让本地语音推理能够轻松嵌入应用,长期来看则希望成为系统级库。
- 也契合评论者指出的更广泛趋势:更多 AI 推理正在转向设备端,以提升性能、隐私和可靠性。
模型支持与性能
- 支持多种 SOTA 开源模型(例如 Parakeet、Whisper、Cohere Transcribe、Nemotron streaming 等),并且准确率已通过各模型的参考实现进行验证。
- GPU 性能会随硬件而有显著差异;示例对比了速度很快的 Apple Silicon(Metal)与较弱的集成 GPU(Vulkan)。
- 有人认为 ONNX 在 CPU 上表现出色,但在 GPU STT 上令人失望或显得臃肿;transcribe.cpp 被视为更轻量的替代方案。
流式处理、UX 与连续听写
- 大家非常关注低延迟、连续转录,即在光标位置直接输入,而不只是批量输出结果。
- 有些人更偏好非流式(批处理),因为专注度和准确率更好;另一些人则坚持流式对于编码、记笔记和 AI 提示词等工作流是必需的。
- 讨论了“边写边改”的 UX(先输出粗略文本,再回头修正),类似旧版 Dragon 和现代移动端听写。
说话人分离与说话人特性
- 说话人分离和 diarization 正在积极开发中,正在集成多个模型家族。
- 评论者强调 diarization 越来越关键,尤其适用于多说话人会议和协作翻译。
- 说话人识别(谁是谁)是被请求的功能,但目前还不清楚是否已支持;diarization 先于它。
绑定、平台与部署
- 提供多个语言的第一方绑定(包括 Rust 和 Python);计划提供捆绑二进制的 Python wheel,但尚未完全到位。
- 有人希望有一个稳健的本地转录服务器/API,也希望支持浏览器;浏览器使用明确不是开箱即用,且属于未来/不明确事项。
- 基于它构建的 Handy 和其他应用受到好评,但 Linux/Wayland 的全局热键和文本注入仍是痛点;同时也在寻求更多测试者。
其他主题与局限
- 用户希望加入填充词过滤、领域特定词汇增强和翻译;目前这些大多仍是后处理或“未来”功能。
- 针对少数语言的 IPA/音素级转录也有人期待,但除非出现合适模型,否则被认为超出范围。
- 关于方言和强口音的处理有混合反馈;当前效果尚不明确。
- 总体情绪:对该项目以及本地、开源听写作为 SaaS 工具替代方案的热情非常高。