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)

准确率一般...

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐