You've already forked STARK
mirror of
https://github.com/MarkParker5/STARK.git
synced 2025-07-12 22:50:22 +02:00
separate transcribe method
This commit is contained in:
@ -37,7 +37,9 @@ class VoskSpeechRecognizer(SpeechRecognizer):
|
|||||||
self.audio_queue = queue.Queue()
|
self.audio_queue = queue.Queue()
|
||||||
self.kaldiRecognizer = vosk.KaldiRecognizer(self.model, self.samplerate)
|
self.kaldiRecognizer = vosk.KaldiRecognizer(self.model, self.samplerate)
|
||||||
|
|
||||||
self.parameters = {
|
@property
|
||||||
|
def sounddevice_parameters(self):
|
||||||
|
return {
|
||||||
'samplerate': self.samplerate,
|
'samplerate': self.samplerate,
|
||||||
'blocksize': self.blocksize,
|
'blocksize': self.blocksize,
|
||||||
'dtype': self.dtype,
|
'dtype': self.dtype,
|
||||||
@ -52,12 +54,15 @@ class VoskSpeechRecognizer(SpeechRecognizer):
|
|||||||
async def start_listening(self):
|
async def start_listening(self):
|
||||||
self._is_listening = True
|
self._is_listening = True
|
||||||
|
|
||||||
with sounddevice.RawInputStream(**self.parameters):
|
with sounddevice.RawInputStream(**self.sounddevice_parameters):
|
||||||
while self._is_listening:
|
while self._is_listening:
|
||||||
|
|
||||||
await asyncio.sleep(0.05)
|
await asyncio.sleep(0.05)
|
||||||
data = self.audio_queue.get()
|
data = self.audio_queue.get()
|
||||||
|
|
||||||
|
self._transcribe(data)
|
||||||
|
|
||||||
|
def _transcribe(self, data):
|
||||||
if self.kaldiRecognizer.AcceptWaveform(data):
|
if self.kaldiRecognizer.AcceptWaveform(data):
|
||||||
result = json.loads(self.kaldiRecognizer.Result())
|
result = json.loads(self.kaldiRecognizer.Result())
|
||||||
if (string := result.get('text')) and string != self.last_result:
|
if (string := result.get('text')) and string != self.last_result:
|
||||||
|
Reference in New Issue
Block a user