一个简单的离线语音识别代码
是一个开源的离线语音识别库,支持多种语言,包括中文。它非常适合在需要离线语音识别的场景中使用。(我下的这个模型是识别英文音频的)
·
vosk 是一个开源的离线语音识别库,支持多种语言,包括中文。它非常适合在需要离线语音识别的场景中使用。
模型下载链接:https://alphacephei.com/vosk/models
我使用的音频:https://gitcode.com/open-source-toolkit/a3e7e
(我下的这个模型是识别英文音频的)
#记得在import前先下载需要的库
import vosk
import wave
import json
# 加载模型(确保模型文件已下载并正确设置路径)
model = vosk.Model("E:/pycode/vosk-model-en-us-daanzu-20200905") # 替换为你的模型路径
# 打开音频文件(替换为你的音频路径)
with wave.open("E:/pycode/yuyinbao/English/OSR_us_000_0010_8k.wav", "rb") as wf:
if wf.getnchannels() != 1 or wf.getsampwidth() != 2 or wf.getcomptype() != "NONE":
raise ValueError("音频文件格式不支持,仅支持单声道、16位PCM编码的WAV文件")
# 初始化识别器
rec = vosk.KaldiRecognizer(model, wf.getframerate())
# 识别语音
while True:
data = wf.readframes(4000) # 每次读取4000帧(根据需要调整)
if len(data) == 0:
break
if rec.AcceptWaveform(data):
# 如果识别器返回了完整的结果
result = json.loads(rec.Result())
print(result)
else:
# 如果识别器尚未返回完整结果,可以获取部分结果
partial_result = json.loads(rec.PartialResult())
print(partial_result)
# 获取最终结果(如果需要)
final_result = json.loads(rec.FinalResult())
print(final_result)
准确率一般...
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)