
5 分钟跑通离线语音识别Vosk 零基础上手指南【免费下载链接】vosk-apiOffline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node项目地址: https://gitcode.com/GitHub_Trending/vo/vosk-apiVosk 是一个可以完全脱机运行的离线语音识别工具包音频不用出网就能转成文字。这份指南写给第一次接触它的开发者读完你能装好环境、跑通最小示例并判断它适不适合你的场景。为什么值得试它市面上多数语音识别走云端 API而 Vosk 把整套识别引擎打包到了本地模型小、能上树莓派。单语言模型约 50MB手机、树莓派这类轻量设备能直接跑服务器端则提供更大的模型和 GPU 批量识别python/example/test_gpu_batch.py。流式识别边说边出字。音频按小块喂给识别器没说完就返回 partial部分结果句尾停顿立刻给最终结果交互延迟几乎为零。语言覆盖广。英语、中文、日语、德语、法语、西班牙语、俄语、阿拉伯语等 20 多种语言和方言换模型就能切换语种。多语言绑定齐全。Python、Java、C、Go、C#、Node.js、Ruby、Kotlin 都有现成封装仓库里每个语言都有独立目录如 go/example/ 和 c/test_vosk.c。三步装好 vosk你只需要 Python 3其余由 pip 解决。执行下面这条命令装好后from vosk import Model即可导入pip3 install vosk模型不用手动准备Python 模块第一次运行时会自动从官方源下载对应语言的小模型并解压到本地缓存~/.cache/vosk也可以先下载好模型目录后用路径加载。5 分钟跑通第一个例子准备一段单声道、16 位 PCM 的 WAV 音频麦克风录的即可保存为test.wav然后运行import wave from vosk import Model, KaldiRecognizer, SetLogLevel SetLogLevel(-1) # 关闭调试日志输出更干净 wf wave.open(test.wav, rb) model Model(langen-us) # 自动下载英语小模型 rec KaldiRecognizer(model, wf.getframerate()) while True: data wf.readframes(4000) # 每次读 4000 帧音频 if len(data) 0: break if rec.AcceptWaveform(data): # 返回 1 表示识别出一整句 print(rec.Result()) else: print(rec.PartialResult()) # 句中实时输出部分结果 print(rec.FinalResult())预期效果终端先滚动打印带partial字段的 JSON你说到哪它打到哪每停顿一句就打印一条完整结果的 JSON最后一行是收尾的FinalResult。打开完整 JSON 能看到result数组每个词都带start/end秒级时间戳。四个最值得试的能力1. 流式识别 实时部分结果。上面例子里AcceptWaveform返回 0 时调PartialResult()做语音助手、听写输入就靠它人还没说完字已经出来了。2. 自动生成字幕。开启SetWords(True)拿到词级时间戳后rec.SrtResult(stream)能直接把音频流转成标准 SRT 字幕文件。仓库里现成的做法是先用 ffmpeg 把任意视频抽成 16kHz 单声道再喂给识别器参考 python/example/test_srt.py。3. 说话人识别。加载一个SpkModel附加到识别器上识别结果里会多出spk向量说话人指纹。用它算余弦距离就能判断这段是不是同一个人说的适合做会议记录区分发言人示例见 python/example/test_speaker.py。4. 词表限定。初始化KaldiRecognizer时传一个 JSON 词表字符串识别就被限制在这些词和短语之内。命令式交互打开客厅的灯这类固定指令用它又快又稳还能用SetGrammar在运行中动态换词表示例见 python/example/test_words.py。三个典型落地场景离线会议转录。做法录下会议音频用ModelKaldiRecognizer循环喂音频配合SetEndpointerMode调整断句。收益数据不出内网合规敏感场景可用长音频还能开多线程并行处理。视频批量加字幕。做法ffmpeg 抽 16kHz 单声道 → 流式喂给识别器 →SrtResult输出 SRT。收益一部电影的字幕几分钟就能出初稿再人工校对即可。嵌入式语音助手。做法仓库自带 Android/iOS 封装android/、ios/App 里把麦克风数据流直接传给识别器。收益50MB 模型装进手机毫无压力弱网、无网环境照常工作。常见坑先避开 ️音频格式不对直接报错。必须是单声道、16 位 PCM 的 WAVMP3、视频要先用 ffmpeg 转。采样率不匹配。模型按 16kHz 训练如果你的音频是 44.1kHz先重采样再喂入否则结果错乱。说话人向量别用太短的音频算。官方示例里注明少于 4 秒的语音算出的 x-vector 不太可靠。想用 GPU 批量识别需要 GPU 版本的模型文件配合BatchModel普通模型加载不进去。周边生态与延伸阅读KaldiVosk 的识别引擎底座学术血统的开源语音识别工具箱想深挖声学模型可以看它。仓库内的入口文档python/README.md 说明模块能力python/example/ 是官方示例合集麦克风、Gradio 网页演示、NLSML 输出等都有training/ 目录则放了训练自定义模型的脚本。一句话总结50MB 模型 流式 API就是 Vosk 的核心卖点。下一步建议——今天就用上面那段代码转一段你手机里的语音看看部分结果滚出来的速度。【免费下载链接】vosk-apiOffline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node项目地址: https://gitcode.com/GitHub_Trending/vo/vosk-api创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考