The below “hello world” script for the TTS API gets a “permission denied” error on the temp .wav file when run on Windows 11 (without the pyaudio package installed, which is not directly referenced in the script).
Workaround: install the pyaudio package (pip install pyaudio) and rerun the script - it now correctly plays the synthesized audio.
# tts_test.py: try out the OpenAI TTS API import io from openai import OpenAI import openai from pydub import AudioSegment from pydub.playback import play def stream_and_play(text): # create stream response = client.audio.speech.create(model="tts-1", voice="alloy", input=text) # Convert the binary response content to a byte stream byte_stream = io.BytesIO(response.content) # Read the audio data from the byte stream audio = AudioSegment.from_file(byte_stream, format="mp3") # Play the audio play(audio) if __name__ == "__main__": #text = input("Enter text: ") client = OpenAI() text = "this is a test, dude! Does it sound like a human?" stream_and_play(text)