Harpyia/src/file_stack.py
Sviatoslav Tsariov e89122cb76 Implemented new architecture
Created message service responsible for searching the prompts inside the recognized text and sending it to the client.

Created recognizer with two strategies: whisper and Dany's fast whisper.

Implemented file stack which works in the separated thread, sends the file to the recognizer and after that sends the message to the client (Rat, for example).
2024-03-19 19:01:36 +03:00

32 lines
831 B
Python

from threading import Thread
from recognizer import Recognizer
from message import MessageComposer
class WavStack:
def __init__(self, recognizer: Recognizer, message_composer: MessageComposer):
self._stack = []
self._recognizer = recognizer
self._message_composer = message_composer
self._running = False
def append(self, file):
self._stack.append(file)
def loop(self):
self._running = True
while self._running:
if self._stack:
file = self._stack.pop(0)
recognized_text = self._recognizer.recognize(file)
message = self._message_composer.compose(recognized_text)
if message.has_prompt():
message.send()
def start_loop_in_thread(self):
thread = Thread(target=self.loop)
thread.start()
def stop_loop(self):
self._running = False