From 529c8ba20a219eba68432b97d53bcc4deacbd2ea Mon Sep 17 00:00:00 2001 From: mtuszowski Date: Thu, 19 Sep 2024 20:44:36 +0200 Subject: [PATCH] addfs --- voice_recognition.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/voice_recognition.py b/voice_recognition.py index b5676af..3141ed5 100644 --- a/voice_recognition.py +++ b/voice_recognition.py @@ -42,7 +42,9 @@ location = "/home/pi/Conjurer/transcripts/" class WaveWriter: def __init__(self, user_id): - self.username = str(user_id) + self.username = str(user_id.id) + logger.info("Creating Wavewriter %s", self.username) + logger.info(user_id) self.present_file_id = 0 self.file_name_past = None @@ -101,20 +103,20 @@ class SRBuffer(voice_recv.AudioSink): self.wavewriter = {} def on_user_connect(self, username): - self.wavewriter[str(username)] = [WaveWriter(username), time.time_ns(), False] + self.wavewriter[str(username.id)] = [WaveWriter(username), time.time_ns(), False, False] - def on_user_disconnect(self,username): - self.wavewriter[str(username)].cleanup() - self.wavewriter.pop(str(username)) + def on_user_disconnect(self,username.id): + self.wavewriter[str(username.id)].cleanup() + self.wavewriter.pop(str(username.id)) def rotate_user(self,username): - self.wavewriter[str(username)].rotate() + self.wavewriter[str(username.id)].rotate() def wants_opus(self) -> bool: return False def write(self, user, data) -> None: - logger.info("User %s", user) + #logger.info("User %s", user) if user: self.wavewriter[str(user.id)][0].writeframes(data.pcm) self.wavewriter[str(user.id)][1] = time.time_ns() @@ -162,7 +164,7 @@ class Transcriber(commands.Cog): vc.listen(self.wsink) self.check_data.start() - @tasks.loop(seconds=5) + @tasks.loop(seconds=0.5) async def check_data(self): for item in self.wsink.wavewriter.values(): logger.info(item[0]) @@ -174,12 +176,12 @@ class Transcriber(commands.Cog): async def on_voice_state_update(self, user, before, after): if before.channel is None: logger.info("User %s connected to channel %s", user, after.channel.name) - self.wsink.on_user_connect(user.id) + self.wsink.on_user_connect(user) elif after.channel is None: logger.info("User %s disconnected from channel %s", user, before.channel.name) operation = { "type": "user_cleanup", - user : str(user.id) + user : user.id } self.comm_queue.put(operation) else: