Spaces:
Runtime error
Runtime error
| import socket | |
| import sounddevice as sd | |
| import numpy as np | |
| def play_audio_stream(client_socket): | |
| buffer = b'' | |
| stream = sd.OutputStream(samplerate=24000, channels=1, dtype='float32') | |
| stream.start() | |
| try: | |
| while True: | |
| chunk = client_socket.recv(1024) | |
| if b"END_OF_AUDIO" in chunk: | |
| buffer += chunk.replace(b"END_OF_AUDIO", b"") | |
| if buffer: | |
| audio_array = np.frombuffer(buffer, dtype=np.float32) | |
| stream.write(audio_array) | |
| break | |
| buffer += chunk | |
| while len(buffer) >= 4096: | |
| audio_chunk = buffer[:4096] | |
| audio_array = np.frombuffer(audio_chunk, dtype=np.float32) | |
| stream.write(audio_array) | |
| buffer = buffer[4096:] | |
| finally: | |
| stream.stop() | |
| stream.close() | |
| def send_text_to_server(character_name, text, server_ip='localhost', server_port=5000): | |
| client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
| client_socket.connect((server_ip, server_port)) | |
| try: | |
| data = f"{character_name}|{text}" | |
| client_socket.sendall(data.encode('utf-8')) | |
| play_audio_stream(client_socket) | |
| print("Audio playback finished.") | |
| finally: | |
| client_socket.close() | |
| if __name__ == "__main__": | |
| character_name ="deniro" | |
| text = "Hello This is just for a live speaking test" | |
| send_text_to_server(character_name, text) | |