write srt file only for faster_whisper backend

This commit is contained in:
makaveli10
2024-02-01 14:22:45 +05:30
parent f590446865
commit 08575a03c2
2 changed files with 17 additions and 7 deletions
+9 -1
View File
@@ -192,6 +192,8 @@ class Client:
if "message" in message.keys() and message["message"] == "SERVER_READY": if "message" in message.keys() and message["message"] == "SERVER_READY":
self.recording = True self.recording = True
self.server_backend = message["backend"]
print(f"[INFO]: Server Running with backend {self.server_backend}")
return return
if "language" in message.keys(): if "language" in message.keys():
@@ -218,7 +220,7 @@ class Client:
if i == n_segments-1: if i == n_segments-1:
self.last_segment = seg self.last_segment = seg
else: elif self.server_backend == "faster_whisper":
if not len(self.transcript) or float(seg['start']) >= float(self.transcript[-1]['end']): if not len(self.transcript) or float(seg['start']) >= float(self.transcript[-1]['end']):
self.transcript.append(seg) self.transcript.append(seg)
@@ -337,6 +339,8 @@ class Client:
assert self.last_response_recieved assert self.last_response_recieved
while time.time() - self.last_response_recieved < self.disconnect_if_no_response_for: while time.time() - self.last_response_recieved < self.disconnect_if_no_response_for:
continue continue
if self.server_backend == "faster_whisper":
self.write_srt_file(self.srt_file_path) self.write_srt_file(self.srt_file_path)
self.stream.close() self.stream.close()
self.close_websocket() self.close_websocket()
@@ -347,6 +351,7 @@ class Client:
self.stream.close() self.stream.close()
self.p.terminate() self.p.terminate()
self.close_websocket() self.close_websocket()
if self.server_backend == "faster_whisper":
self.write_srt_file(self.srt_file_path) self.write_srt_file(self.srt_file_path)
print("[INFO]: Keyboard interrupt.") print("[INFO]: Keyboard interrupt.")
@@ -475,6 +480,7 @@ class Client:
t.start() t.start()
n_audio_file += 1 n_audio_file += 1
self.frames = b"" self.frames = b""
if self.server_backend == "faster_whisper":
self.write_srt_file(self.srt_file_path) self.write_srt_file(self.srt_file_path)
except KeyboardInterrupt: except KeyboardInterrupt:
@@ -489,6 +495,7 @@ class Client:
self.close_websocket() self.close_websocket()
self.write_output_recording(n_audio_file, out_file) self.write_output_recording(n_audio_file, out_file)
if self.server_backend == "faster_whisper":
self.write_srt_file(self.srt_file_path) self.write_srt_file(self.srt_file_path)
def write_output_recording(self, n_audio_file, out_file): def write_output_recording(self, n_audio_file, out_file):
@@ -530,6 +537,7 @@ class Client:
self.transcript.append(self.last_segment) self.transcript.append(self.last_segment)
create_srt_file(self.transcript, output_path) create_srt_file(self.transcript, output_path)
class TranscriptionClient: class TranscriptionClient:
""" """
Client for handling audio transcription tasks via a WebSocket connection. Client for handling audio transcription tasks via a WebSocket connection.
+4 -2
View File
@@ -407,7 +407,8 @@ class ServeClientTensorRT(ServeClientBase):
json.dumps( json.dumps(
{ {
"uid": self.client_uid, "uid": self.client_uid,
"message": self.SERVER_READY "message": self.SERVER_READY,
"backend": "tensorrt"
} }
) )
) )
@@ -615,7 +616,8 @@ class ServeClientFasterWhisper(ServeClientBase):
json.dumps( json.dumps(
{ {
"uid": self.client_uid, "uid": self.client_uid,
"message": self.SERVER_READY "message": self.SERVER_READY,
"backend": "faster_whisper"
} }
) )
) )