You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows系统中基于Vosk实现实时音频转文字(STT)?

Windows下基于Vosk的Python实时音频获取方案

1. 先搞定依赖安装

  • 基础依赖:执行 pip install vosk 安装Vosk核心库
  • 音频输入依赖PyAudio:直接用pip install pyaudio可能会失败,建议用Windows专用的pipwin安装:
    pip install pipwin
    pipwin install pyaudio
    

2. 准备Vosk模型

下载对应语言的Vosk预训练模型(比如中文通用模型),解压到本地任意路径,记住该路径后续要用到。

3. 实时音频识别代码示例

以下是可直接运行的实时麦克风音频获取+识别代码,适配Windows环境:

import vosk
import pyaudio
import json

# 初始化Vosk模型,替换为你的模型解压路径
model_path = "D:/models/vosk-model-small-cn-0.22"
model = vosk.Model(model_path)

# 初始化音频输入流
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16,
                channels=1,
                rate=16000,
                input=True,
                frames_per_buffer=8192)
stream.start_stream()

# 实时识别循环
print("开始说话,按Ctrl+C停止")
try:
    while True:
        data = stream.read(4096)
        if len(data) == 0:
            break
        result = model.SpeechRecognizer().AcceptWaveform(data)
        if result:
            # 解析并输出识别结果
            text = json.loads(result)["text"]
            if text:
                print(f"识别结果:{text}")
except KeyboardInterrupt:
    print("\n停止识别")
finally:
    stream.stop_stream()
    stream.close()
    p.terminate()

关键注意事项

  • 采样率匹配:代码中的rate=16000要与你下载的模型采样率一致,大部分Vosk模型默认是16kHz,若模型为其他采样率需对应修改。
  • 音频设备选择:如果有多个麦克风,可在p.open()中添加device_index=N参数(N为设备编号,可通过p.get_device_count()和p.get_device_info_by_index(N)查看设备信息)。
  • 模型路径:确保使用绝对路径,避免相对路径导致的模型加载失败。

常见问题解决

  • PyAudio安装报错:用pipwin安装基本能解决Windows下的编译问题;若仍失败,可下载对应Python版本的PyAudio .whl文件,通过pip install 文件名.whl安装。
  • 模型加载失败:检查路径是否正确,确认模型文件夹解压完整(需包含model.json等核心文件)。

内容的提问来源于stack exchange,提问作者kenikF

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 14:32:14