#!/usr/bin/env python3
from vosk import Model, KaldiRecognizer, SetLogLevel
import sys
import os
import wave
SetLogLevel(0)
if not os.path.exists("model"):
print ("Please download the model from https://alphacephei.com/vosk/models and unpack as 'model' in the current folder.")
exit (1)
wf = wave.open("3.wav", "rb")
if wf.getnchannels() != 1 or wf.getsampwidth() != 2 or wf.getcomptype() != "NONE":
print ("Audio file must be WAV format mono PCM.")
exit (1)
model = Model("model")
rec = KaldiRecognizer(model, wf.getframerate())
num = 0
while True:
data = wf.readframes(256)
# print(data)
if len(data) == 0:
break
if rec.AcceptWaveform(data):
print(rec.Result())
else:
print("第{}贞".format(num))
print(rec.PartialResult())
num = num + 1
print(rec.FinalResult())
结果
第111贞
{
"partial" : ""
}
第112贞
{
"partial" : ""
}
第113贞
{
"partial" : ""
}
第114贞
{
"partial" : "小"
}
第115贞
{
"partial" : "小"
}
第116贞
{
"partial" : "小"
}
第117贞
{
"partial" : "小"
}
第118贞
{
"partial" : "小"
}
第119贞
{
"partial" : "小"
}
第120贞
{
"partial" : "小"
}
第121贞
{
"partial" : "小"
}
第122贞
{
"partial" : "小"
}
第123贞
{
"partial" : "小"
}
第124贞
{
"partial" : "小"
}
第125贞
{
"partial" : "小"
}
第126贞
{
"partial" : "小"
}
第127贞
{
"partial" : "小记"
}
第128贞
{
"partial" : "小记"
}
第129贞
{
"partial" : "小记"
}
第130贞
{
"partial" : "小记"
}
更多内容请参考