From d0bd90db8ce08a422f224da07c385d3c626da8e9 Mon Sep 17 00:00:00 2001 From: fithwum Date: Sat, 8 Nov 2025 09:47:15 -0800 Subject: [PATCH] Add pipertts-script.py --- pipertts-script.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 pipertts-script.py diff --git a/pipertts-script.py b/pipertts-script.py new file mode 100644 index 0000000..84356e6 --- /dev/null +++ b/pipertts-script.py @@ -0,0 +1,25 @@ +from piper.voice import PiperVoice as piper # Backbone of text to speech +import pyaudio + +voice = piper.load("path/to/voice.onnx") # Load the model + +chunks = voice.synthesize("text to be synthesized by the model") # Set up Piper to stream audio +first_chunk = next(chunks) # Get the first chunk to set up audio stream configuration + +p = pyaudio.PyAudio() +stream = p.open( # Open audio stream with correct settings + format=p.get_format_from_width(first_chunk.sample_width), + channels=first_chunk.sample_channels, + rate=first_chunk.sample_rate, + output=True, +) + +stream.write(first_chunk.audio_int16_bytes) # Play the first chunk + +for chunk in chunks: # Play subsequent chunks of audio + stream.write(chunk.audio_int16_bytes) + +# Cleanup +stream.stop_stream() +stream.close() +p.terminate() \ No newline at end of file