Вы можете играть с упаковщиком Kaldi как https://github.com/alphacep/vosk-api для простого декодирования с python. Код для запуска выглядит следующим образом: this :
model = Model("model")
# Large vocabulary free form recognition
rec = KaldiRecognizer(model, 16000)
# You can also specify the possible word list
#rec = KaldiRecognizer(model, 16000, "zero oh one two three four five six seven eight nine")
wf = open(sys.argv[1], "rb")
wf.read(44) # skip header
while True:
data = wf.read(2000)
if len(data) == 0:
break
if rec.AcceptWaveform(data):
res = json.loads(rec.Result())
print (res)
else:
res = json.loads(rec.PartialResult())
print (res)
res = json.loads(rec.FinalResult())
print (res)
Для использования микрофона вы можете попробовать с Pyaudio:
В качестве альтернативы вы можете читать с микрофона
import pyaudio
p = pyaudio.PyAudio()
stream = p.open(format=pyaudio.paInt16, channels=1, rate=16000, input=True, frames_per_buffer=1024)
stream.start_stream()
while True:
data = stream.read(2000)