From 69bb419ac73e89e1b565b1bc57e904d5c7e5ee68 Mon Sep 17 00:00:00 2001 From: Sameer Rahmani Date: Fri, 15 Apr 2022 23:13:21 +0100 Subject: [PATCH] Finish the tcp loop --- rigel/tcp.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/rigel/tcp.py b/rigel/tcp.py index 8071ec7..dce3844 100644 --- a/rigel/tcp.py +++ b/rigel/tcp.py @@ -70,17 +70,26 @@ def synth(config): ) async def tcp_handler(reader, writer): - # Read till EOF - data = await reader.read(-1) - message = data.decode() - wav = synthesizer.tts(message, speaker_idx, "None", None) + while True: + # Read till EOF + data = await reader.read(4) + msg_len = int.from_bytes(data, 'big') - play(wav) + if msg_len != 0: + data = await reader.read(msg_len) + message = data.decode() - print(f"Received {message!r}") + print(f"Received {message!r}") - writer.write(b"Ok") - await writer.drain() + if message == "//close": + break + + wav = synthesizer.tts(message, speaker_idx, "None", None) + # synthesizer.save_wav(wav, "/tmp/blah.wav") + play(wav) + + writer.write(b"Ok") + await writer.drain() writer.close() return tcp_handler