简介
Vosk是语音识别开源框架,支持二十+种语言 - 中文,英语,印度英语,德语,法语,西班牙语,葡萄牙语,俄语,土耳其语,越南语,意大利语,荷兰人,加泰罗尼亚语,阿拉伯, 希腊语, 波斯语, 菲律宾语,乌克兰语, 哈萨克语, 瑞典语, 日语, 世界语, 印地语, 捷克语, 波兰语, 乌兹别克语, 韩国语, 塔吉克语。
模型下载链接:https://alphacephei.com/vosk/models/vosk-model-cn-0.15.zip
实验环境:
- 树莓派第5代
- usb麦克风
安装
pip install vosk -i https://pypi.tuna.tsinghua.edu.cn/simple --break-system-packages
pip install sounddevice -i https://pypi.tuna.tsinghua.edu.cn/simple --break-system-packages
将下载好的模型文件 vosk-model-cn-0.15.zip 上传到树莓派系统自定义的目录并解压,如图所示:
编写示例代码测试:
import sounddevice as sd
import vosk
import queue
import json
q = queue.Queue()
def callback(indata, frames, time, status):
q.put(bytes(indata))
def recognize_speech():
model = vosk.Model(r"/home/work/vosk-model-cn-0.15") #模型文件路径
with sd.RawInputStream(samplerate=16000, blocksize=8000, dtype='int16', channels=1, callback=callback):
recognizer = vosk.KaldiRecognizer(model, 16000)
print("请说话...")
while True:
data = q.get()
if recognizer.AcceptWaveform(data):
result = recognizer.Result()
text = json.loads(result)["text"]
print("你说的是: " + text)
break
if __name__ == "__main__":
recognize_speech()
运行结果示例: