This commit is contained in:
2024-09-19 17:30:43 +02:00
parent dd0b679bfc
commit 2646178a28
+8 -11
View File
@@ -93,6 +93,9 @@ class WaveWriter:
self.file_name_future.setframerate(SAMPLING_RATE)
# send present to transcription
def writeframes(self, pcmdata):
self.transcript_file_present.writeframes(pcmdata)
def cleanup(self):
self.transcript_file_present.close()
self.transcript_file_future.close()
@@ -103,20 +106,13 @@ class SRBuffer(voice_recv.AudioSink):
"""Endpoint AudioSink that generates a wav file.
Best used in conjunction with a silence generating sink. (TBD)
"""
# on member join dodajemytypa do listy
# on member disconnect - dropujemy go
def __init__(self, destination):
super().__init__()
self._file: wave.Wave_write = wave.open(destination, "wb")
self._file.setnchannels(CHANNELS)
self._file.setsampwidth(SAMPLE_WIDTH)
self._file.setframerate(SAMPLING_RATE)
self.user_list = {}
self.wavewriter = {}
self.wavewriter = {
"polishhammer" : WaveWriter("polishhammer")
}
def on_user_connect(self, username):
self.wavewriter[username] = WaveWriter(username)
@@ -130,10 +126,11 @@ class SRBuffer(voice_recv.AudioSink):
def write(self, user, data) -> None:
logger.info("writing to file %s", self._file)
logger.info("user: %s", user)
self._file.writeframes(data.pcm)
self.wavewriter[user].writeframes(data.pcm)
def cleanup(self) -> None:
try:
logger.info("Cleanup for SRBuffer")
self._file.close()
except Exception:
logger.warning("WaveSink got error closing file on cleanup", exc_info=True)