#!/usr/bin/env rye run python import time import asyncio from openai import AsyncOpenAI from openai.helpers import LocalAudioPlayer # gets OPENAI_API_KEY from your environment variables openai = AsyncOpenAI() async def main() -> None: start_time = time.time() async with openai.audio.speech.with_streaming_response.create( model="tts-1", voice="alloy", response_format="pcm", # similar to WAV, but without a header chunk at the start. input="""I see skies of blue and clouds of white The bright blessed days, the dark sacred nights And I think to myself What a wonderful world""", ) as response: print(f"Time to first byte: {int((time.time() - start_time) * 1000)}ms") await LocalAudioPlayer().play(response) print(f"Time to play: {int((time.time() - start_time) * 1000)}ms") if __name__ == "__main__": asyncio.run(main())