ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

不联网也能把语音转成文字:Vosk 离线语音识别实用笔记

不联网也能把语音转成文字:Vosk 离线语音识别实用笔记 不联网也能把语音转成文字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 是一套完全在本地运行的离线语音识别工具包解决的是不上传音频到云端也能把声音变成文字的问题。离线语音识别解决了什么真实痛点设想一个场景你有一段一小时的会议录音或者一批医疗记录音频不想交给第三方云服务处理但又需要当场拿到文字。Vosk 的做法很直接整个识别过程发生在你自己的机器上音频一个字节都不离开设备敏感内容外泄的顾虑可以直接放下同时它按流式方式处理音频边说边出字话音落下结果就出来了不必等服务器把整段文件跑完再回传。这两点凑齐基本覆盖了对联网不舒服的大部分使用场景。离线语音识别安装步骤十分钟跑通第一次识别第一次运行拆成三步。第一步装包在终端执行 pip install vosk。第二步下模型单个语言模型一般只有 50MB 左右放到任意目录解压即可。第三步准备一段 16kHz 的 wav 音频让它过一遍。下面这段代码在做一件事载入模型把音频数据一小块一小块喂给识别器每确认一句完整的话就打印出来。from vosk import Model, KaldiRecognizer import wave model Model(model-en) audio wave.open(audio.wav, rb) rec KaldiRecognizer(model, audio.getframerate()) while True: chunk audio.readframes(4000) if not chunk: break if rec.AcceptWaveform(chunk): print(rec.Result())跑起来之后终端每行输出的就是一句识别出的文本音频播完还可以用 FinalResult 把最后没断句的一段取出来一个词都不会漏。装完之后能做什么三条现成工作流做字幕适合剪视频的人。把录好的音频喂进去它会带时间戳地给出 SRT 或 WebVTT 格式的字幕文件。想看具体写法可以对照 python 绑定里 example 目录下的示例代码。批量转写适合大量存档。课程系列、访谈录音这类几十个甚至上百个音频文件的场景走批量识别接口整体速度比写脚本逐个循环快得多。仓库的 Go 语言示例目录里有现成的演示。区分说话人适合多人对话。会议录音里它能标出哪句话属于哪个人方便你还原谁在什么时候说了什么。离线语音识别模型下载与选型语言和平台怎么覆盖作为离线语音识别开源项目它的语言清单已覆盖 20 种以上英语、中文这些常用语种都有对应模型可下下载时注意选和音频语言一致的那一个。开发层面项目为多种语言提供了绑定按你的技术栈挑就行绑定适合的场景Python上手最快适合首次体验和脚本JavaJVM 应用、Android 设备Node.js服务端 JS 项目C核心库本身性能敏感的定制开发Go命令行工具、并发处理C#.NET 生态项目Rust看重内存安全的场景另外 Kotlin、Ruby、iOS 等也有对应绑定。设备资源紧张比如树莓派就选小模型想把识别准确率再提一提就选大一号的模型。新手最常踩的几个坑采样率没对上。模型普遍按 16000Hz 采样率训练传给识别器的 sampleRate 和音频实际采样、模型要求不一致时要么不出结果要么错一堆。模型语言选错。中文音频配上英文模型结果没法用。先确认音频语种再去挑模型。内存吃紧。设备内存小的时候把音频切小块处理别一次性把整个文件读进内存模型也尽量逐个加载更稳。跳过错误处理。模型加载失败、音频损坏时接口都会给出失败信息先确认模型能正常载入再谈识别别让异常直接把程序带崩。如果你的场景恰好是音频敏感 要当场出字Vosk 值得先试一轮现在就可以执行 pip install 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),仅供参考
返回列表