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

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐