进阶 11 分钟音频

Vosk:实时语音识别,离线 ligne

直接回答

Vosk(alphacep/vosk-api,采用 Apache 2.0 许可证,由 Alpha Cephei 开发)是一款离线语音识别引擎,可进行连续流式转写,每种语言的便携模型约为 50 MB——法语轻量模型 vosk-model-small-fr-0.22 的大小为 41 MB。它支持 20 种及以上语言,可在 Raspberry Pi 或智能手机上运行,但处理难以识别的音频时,准确度仍不如 Whisper:应仅用于语音命令和实时场景。

Vosk 是一个离线语音识别引擎,由 Alpha Cephei 公司开发,基于 Kaldi 引擎构建。它非常轻量,支持流式处理:使用大小为几十兆字节的模型,即使在性能不高的处理器上,也能随着说话过程持续转写。它在转写文本质量上无法与大型模型匹敌——它做的是另一件事,而它所做的并不容易被替代。本指南先详细介绍该项目公布的数据,包括两个官方法语模型的数据,再与 Whisper 进行客观比较。

作者: Mohamed Meguedmi·更新于 2026-09-28·已在 Windows、macOS 和 Linux 上测试

#Vosk 有哪些不同的做法

作为标杆的转录模型处理的是文件:给它们一段完整录音,处理结束后才会返回文本。Vosk 处理的是音频流:它分块接收音频,随着说话过程先输出中间结果,再输出最终结果,并借助流式 API 将延迟降至接近零。项目官方介绍将这种“zero-latency response with streaming API”列为核心特性,与模型大小并列。

这种架构差异解释了其余特点:模型非常小,可轻松在处理器上运行,内存占用足以适应树莓派或入门级手机;但在处理难以识别或带有噪声的音频时,转录文本的质量不及大型模型。

#Vosk 的各项数据,包括法语识别数据

本地 AI 套件

只需 1 小时,即可在您的电脑上拥有专属的免费 ChatGPT — LM Studio、Ollama、Open WebUI、您的文档,无需云端。

  • 在线空间,终身可用
  • PDF + 文件
  • 终身更新

该项目对自身提供的功能有明确说明。官方代码仓库宣称支持「20+ languages and dialects」的语音识别,提供 Python、Java、Node.js、C#、C++、Rust 和 Go 的语言绑定,以及大小为 50 MB 的「便携」模型;对于需要更高识别精度的用户,还提供体积明显更大的服务器模型。所有内容均以 Apache 2.0 许可证发布。当项目需要向法务部门说明其开源依赖时,这是一项有用的保障。

两个官方法语模型(alphacephei.com/vosk/models 目录)
模型大小词错误率(数值越低越好)预期用途
vosk-model-small-fr-0.2241 MB23.95(Common Voice)· 19.30(MTEDX)· 27.25(播客)安卓、iOS、树莓派
vosk-model-fr-0.221.4 GB14.72(Common Voice)· 11.64(MLS)· 13.10(MTEDX)服务器,精度更高

模型大小的差异(41 MB 对比 1.4 GB)带来了明显的准确率差距:视测试集而定,词错误率几乎翻倍。这是 Vosk 的核心权衡,有数字依据,而非凭空推测:模型越轻量,出错就越频繁;对于词汇范围有限的语音命令,这可以接受,但用于采访转录就难以接受得多。除了官方模型,由法国软件厂商 Linagora 推动的 LinTO 项目也发布了自行开发、兼容 Vosk 的法语模型——对于希望在选择前比较多个来源的法语项目,这是一个有用的参考。

四个测试集(Common Voice、MTEDX、播客、MLS)的详细结果,也应被视为方法上的提醒,而不只是一个可以原样记住的排名:同一模型在不同测试集上的词错误率可相差一倍,轻量版在 MTEDX 上为 19.30,在播客上为 27.25。无论选择哪个模型,干净的录音室音频与在环境噪声中录制的对话,所得的识别质量都不同——这也是应使用能代表实际用途的录音进行测试,而不是只相信产品介绍页上公布的单一平均值的又一个理由。

#实时处理,它真正的专长

延迟
文本在说话过程中实时显示,支持语音指令和实时字幕生成。
部分结果
应用可能在句子结束前就做出响应——这对于唤醒词或短指令至关重要。
占用空间
轻量法语模型为 41 MB,而服务器版本为 1.4 GB,大型通用模型通常则为数 GB。
限定识别词汇
可以将识别范围限定为一组预期词汇,从而显著提高对命令的识别准确率。

最后这一点常被低估。要通过语音控制应用,将词汇范围限制为五十条可能的命令,就能让一个表现一般的识别引擎变得非常可靠——而通用大模型仍会在相近的同音词之间犹豫。官方说明也印证了这一点:它将“reconfigurable vocabulary”(可重新配置的词汇表)与说话人识别一同列为引擎的原生功能,而如此小的引擎很少同时原生提供这两项能力。

#Vosk或Whisper

两种工具,两种用途
标准VoskWhisper及其衍生模型
模式连续流文件
延迟几乎为零(API流式传输)处理完成后
模型大小41MB至1.4GB,根据具体变体而定数百MB到数GB
硬件性能有限的处理器、嵌入式处理器性能尚可的处理器,最好配备 GPU
处理难识别音频时的识别质量准确度尚可,有实测数据(WER 约为 15–28,具体取决于模型和测试)明显更优
标点与格式有限良好
适用于语音指令、实时处理、嵌入式应用会议、访谈和视频的转录

没有一种方案在所有方面都胜出。成熟的处理流程往往会同时使用两者:在用户说话时,用 Vosk 检测指令或显示即时反馈;在录音结束且有可用计算资源后,用 Faster-Whisper 等更重的模型生成更准确的最终转录文本。

#它具有优势的场景

  1. 01
    用语音控制应用程序
    词汇范围有限,延迟极低,无需依赖网络。
  2. 02
    实时字幕生成
    内部会议、大会、实时无障碍支持。
  3. 03
    嵌入式硬件
    微型计算机或独立设备,适用于容纳不下大型模型的硬件——该项目明确将 Raspberry Pi 和 Android 列为目标平台。
  4. 04
    严格保密,无需 GPU
    一台普通电脑,没有显卡,而且不得向外发送任何数据。

这四种场景有一个共同点:它们可以接受尚可而非出色的文本质量,以换取几乎为零的延迟,以及适合配置较低硬件的资源占用。一旦要求反过来——必须达到最高质量,而几秒的延迟可以接受——像 Faster-Whisper 这样处理文件的模型就重新占据优势。这也解释了为什么在完整且设计合理的语音处理流程中,这两个工具通常会搭配使用,而不是相互替代。

#音频格式及文本导出

实际工作中,转录项目绝不只是调用识别引擎:需要读取收到的输入格式,必要时进行转换,再将结果写入下游可使用的格式,而且往往需要同时处理多个录音提供方。上文引用的研究所记录的处理流程展示了这一完整过程:通过 Python 预处理模块读取多种常见音频格式(WAV、MP3、FLAC、OGG),使用 Vosk 的 KaldiRecognizer 进行识别,再将得到的文本导出为可供审阅或归档的结构化文档。

这个细节很重要,因为 Vosk 本身要求输入的是特定格式的音频流(单声道 PCM,通常为 16 kHz),而不是任何未经处理的文件。因此,接收各种不同格式音频的项目——手机录音、视频会议导出的文件、来源各异的压缩文件——几乎总是需要在音频进入引擎前进行格式转换。本指南前面提到的那些导致识别效果下降、却没有明确报错的缺陷,往往就隐藏在这个转换环节,而不是引擎本身。

#定制语言模型

在底层,Vosk 的语音识别依赖其自身的 KaldiRecognizer,该组件源自 Kaldi 语音识别引擎。这解释了为什么该项目能继承 Kaldi 的整套定制工具生态,而不必每遇到一种新语言或一个新领域就从零开始。近期一项围绕定制 Vosk 流水线开展的相关研究测量了适配语言模型的实际效果:定制模型能降低词错误率,尤其是在涉及技术词汇、口音较重或音频含噪声的情况下。

对于法语项目,这提供了一条切实可行的路径,不再局限于在轻量模型和服务器模型之间做选择:将业务词汇(产品名称、内部行话、缩略语、本地专有名称)注入语言模型,而不是仅仅依赖通用词汇。相比直接下载模型,这需要更多工作,但这是最能让 Vosk 部署在特定领域接近大型模型质量的手段,同时无需承担大型模型的计算成本和延迟。

!
输入格式:无报错失败的源头
Vosk 需要接收单声道 PCM 流,通常要求采样率恰好为 16 kHz。立体声文件、其他采样率或未经转换的压缩格式都会降低识别效果,却不会显示任何明确错误——症状看起来像是模型本身有问题,而真正的原因在于上游的转换环节。

#实施部署

工作原理很简单:安装软件包(Python 中使用 pip install vosk),下载所需语言的模型,打开音频流,将音频片段送入引擎,先读取中间结果,再读取最终结果。Python、Java、Node.js、C#、C++、Rust 和 Go 都有相应的语言绑定;WebSocket 服务器还可将网页或移动应用连接到运行在您机器上的引擎。

安装 Vosk 并下载轻量级法语模型
pip install vosk
curl -LO https://alphacephei.com/vosk/models/vosk-model-small-fr-0.22.zip
unzip vosk-model-small-fr-0.22.zip

投入生产前有两点需要注意:质量在很大程度上取决于所选的语言模型——上表只提供大致参考,在以此为基础构建方案之前,请先用您自己的录音进行测试——以及音频采样率必须符合模型的要求,否则识别效果会下降,却不会出现明确的错误提示。

#FAQ

Vosk是免费的吗?+
是的:alphacep/vosk-api 项目采用Apache 2.0许可证,属于最宽松的开源许可之一,允许商业使用且无需付费。但请务必检查您下载的具体语言模型的许可证:官方两个法语模型也均采用Apache 2.0,但部分第三方模型在目录中可能有各自不同的条款。
需要显卡吗?+
不需要,这正是它的优势所在:该项目专为在处理器上运行而设计,包括 Raspberry Pi 或 Android 智能手机等嵌入式设备,使用大小约为 50 MB、便于移植的模型——官方轻量法语模型的准确大小为 41 MB。
Vosk还是Whisper?+
Vosk 适合实时语音识别、语音命令和嵌入式场景,凭借其流式 API,延迟几乎为零。Whisper 及其衍生版本(如 Faster-Whisper)适合转录文件,以获得最佳文本质量。两者可以很好地结合在同一流程中使用。
支持法语吗?效果如何?+
是的,有两个官方模型:vosk-model-small-fr-0.22(41 MB,词错误率约为 20 至 27,具体取决于测试)适用于嵌入式设备;vosk-model-fr-0.22(1.4 GB,词错误率约为 12 至 14)可在服务器端提供更高的准确度。法国软件厂商 Linagora 的 LinTO 项目也提供了其他替代方案。
能否限制识别的词汇范围?+
可以,而且这是对语音命令识别准确率影响最大的设置:将识别范围限定为一组预期短语,能显著提高可靠性。项目文档明确将这一功能称为“可重新配置的词汇表”,并与说话人识别功能一同介绍。
为嵌入式项目应选择何种模型大小?+
41MB的轻量级模型(vosk-model-small-fr-0.22,适用于法语)仍是Raspberry Pi或Android设备的首选。1.4GB的服务器级模型在相同测试集上将词错误率几乎减半,但需要更多的内存和计算资源,因此不适合真正嵌入式部署。
能否在不更换模型的情况下提升精度?+
可以,方法是用项目所属领域的词汇定制语言模型,而不是改变模型规模。一项近期围绕 Vosk 流水线开展的研究表明,这种方法可降低词错误率,尤其是在涉及技术术语、浓重口音或含噪音频时,而且无需承担更大模型的计算开销。
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。