vocal-nemo/src/vosk.py

26 lines
689 B
Python

from vosk import Model, KaldiRecognizer
import os
import json
class Vosk():
def __init__(self, vocabulary):
self.model = Model("data/model-fr")
if vocabulary:
self.rec = KaldiRecognizer(self.model, 16000, vocabulary)
else:
self.rec = KaldiRecognizer(self.model, 16000, vocabulary)
def listen(self,audio_stream,frames):
while True:
data = audio_stream.read(frames)
if len(data) == 0:
break
if self.rec.AcceptWaveform(data):
break
res = json.loads(self.rec.FinalResult())
print(res)
return res['text']