语音识别

闲来无事搞了一个利用vosk大模型实现语音识别的程序,首先下载相关插件:
去vosk相关网站下载:https://alphacephei.com/vosk/models
模型自选,选择合适的即可

接下来是代码示例:
import vosk
import sounddevice as sd
import queue
import json
import subprocess

指定vosk模型路径

MODEL_PATH = "../vosk-model-small-en-us-0.15"

初始化模型

model = vosk.Model(MODEL_PATH)

创建队列

q = queue.Queue()

回调函数

def callback(indata, frames, time, status):
if status:
print(status, flush=True)
q.put(bytes(indata))

核心识别函数

def recognize_and_execute(samplerate=16000, blocksize=8000, dtype="int16", channels=1):
rec = vosk.KaldiRecognizer(model, samplerate)
print("请说话……")

【修复】打开麦克风流

with sd.InputStream(samplerate=samplerate, blocksize=blocksize, dtype=dtype,
channels=channels, callback=callback):
while True:
data = q.get()
if rec.AcceptWaveform(data):
result = json.loads(rec.Result())
text = result.get("text", "") # 【修复】正确取值

if text:
print("识别结果:", text)
execute_command(text) # 传给指令执行

执行命令

def execute_command(text):
command = text.replace(' ', '')

if "打开酷狗" in command:
print("执行:打开酷狗")
subprocess.Popen(r"C:\Program Files\KGMusic\KuGou.exe")
else:
print("未匹配指令:", command)

if name == 'main':
recognize_and_execute()

可以实现简单的语言操控打开电脑上的文件
还是比较有用的

posted @ 2026-05-09 21:06  暗神酱  阅读(16)  评论(0)    收藏  举报