26 lines
689 B
Python
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']
|