From 7e862fe3d38d416556ef4ebc6d54c4e80985da87 Mon Sep 17 00:00:00 2001 From: Joey Yakimowich-Payne Date: Thu, 22 Sep 2022 18:26:07 -0600 Subject: [PATCH] Add compatibility for windows --- requirements.txt | 3 +++ tts.py | 17 ++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..39afb93 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,3 @@ +simpleaudio +git+https://github.com/jyapayne/espeak-phonemizer +git+https://github.com/jyapayne/mimic3 diff --git a/tts.py b/tts.py index ce61f12..c897ae1 100644 --- a/tts.py +++ b/tts.py @@ -14,6 +14,7 @@ # along with this program. If not, see . # import argparse +import os import io import logging import threading @@ -117,14 +118,16 @@ def create_mimic3_system( return mimic3 def play_wav_bytes(wav_bytes: bytes): - with tempfile.NamedTemporaryFile(mode="wb+", suffix=".wav") as wav_file: - wav_file.write(wav_bytes) - wav_file.seek(0) + wav_file = tempfile.NamedTemporaryFile(mode="wb+", suffix=".wav", delete=False) + wav_file.write(wav_bytes) + wav_file.seek(0) + wav_file.close() - filename = wav_file.name - wave_obj = sa.WaveObject.from_wave_file(filename) - play_obj = wave_obj.play() - play_obj.wait_done() + filename = wav_file.name + wave_obj = sa.WaveObject.from_wave_file(filename) + play_obj = wave_obj.play() + play_obj.wait_done() + os.unlink(filename) def say_words(words: str, mimic3: Mimic3TextToSpeechSystem, length_scale: float = None, ssml=False): """Thread handler for synthesis requests"""