From 1d6e38c1a363e5c0b6da2542ff74a6ab7914591b Mon Sep 17 00:00:00 2001 From: zachary62 Date: Tue, 13 May 2025 15:47:00 -0400 Subject: [PATCH] implement audio func --- .../pocketflow-voice-chat/utils/call_llm.py | 17 +------ .../utils/speech_to_text.py | 45 ++++++++++++++++++ .../utils/text_to_speech.py | 32 +++++++++++++ .../utils/tts_output.mp3 | Bin 0 -> 65664 bytes 4 files changed, 78 insertions(+), 16 deletions(-) create mode 100644 cookbook/pocketflow-voice-chat/utils/speech_to_text.py create mode 100644 cookbook/pocketflow-voice-chat/utils/text_to_speech.py create mode 100644 cookbook/pocketflow-voice-chat/utils/tts_output.mp3 diff --git a/cookbook/pocketflow-voice-chat/utils/call_llm.py b/cookbook/pocketflow-voice-chat/utils/call_llm.py index 5f7dc09..830185e 100644 --- a/cookbook/pocketflow-voice-chat/utils/call_llm.py +++ b/cookbook/pocketflow-voice-chat/utils/call_llm.py @@ -2,19 +2,7 @@ import os from openai import OpenAI def call_llm(prompt, history=None): - """ - Calls the OpenAI API to get a response from an LLM. - - Args: - prompt: The user's current prompt. - history: A list of previous messages in the conversation, where each message - is a dict with "role" and "content" keys. E.g., - [{"role": "user", "content": "Hello"}, {"role": "assistant", "content": "Hi there!"}] - - Returns: - The LLM's response content as a string. - """ - client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY", "your-api-key")) # Default if not set + client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY", "your-api-key")) messages = [] if history: @@ -28,14 +16,11 @@ def call_llm(prompt, history=None): return r.choices[0].message.content if __name__ == "__main__": - # Ensure you have OPENAI_API_KEY set in your environment for this test to work print("Testing LLM call...") - # Test with a simple prompt response = call_llm("Tell me a short joke") print(f"LLM (Simple Joke): {response}") - # Test with history chat_history = [ {"role": "user", "content": "What is the capital of France?"}, {"role": "assistant", "content": "The capital of France is Paris."} diff --git a/cookbook/pocketflow-voice-chat/utils/speech_to_text.py b/cookbook/pocketflow-voice-chat/utils/speech_to_text.py new file mode 100644 index 0000000..35d533d --- /dev/null +++ b/cookbook/pocketflow-voice-chat/utils/speech_to_text.py @@ -0,0 +1,45 @@ +import os +from openai import OpenAI +import io + +def speech_to_text_api(audio_data: bytes, sample_rate: int): + client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY")) + + # The API expects a file-like object. We can use io.BytesIO for in-memory bytes. + # We also need to give it a name, as if it were a file upload. + audio_file = io.BytesIO(audio_data) + audio_file.name = "audio.mp3" # Provide a dummy filename with a common audio extension + + transcript = client.audio.transcriptions.create( + model="gpt-4o-transcribe", + file=audio_file + # language="en" # Optional: specify language ISO-639-1 code + # prompt="PocketFlow, LLM" # Optional: provide a prompt to guide the model + ) + return transcript.text + +if __name__ == "__main__": + print("Testing Speech-to-Text API...") + # The OpenAI client will raise an error if API key is not found or invalid. + # No explicit check here to keep it minimal. + test_audio_path = "tts_output.mp3" + if os.path.exists(test_audio_path): + print(f"Found {test_audio_path}, using it for STT test.") + with open(test_audio_path, "rb") as f: + audio_bytes_for_stt = f.read() + + # Sample rate for tts_output.mp3 from our TTS script is 24000 + # but Whisper should ideally infer or handle common formats well. + stt_sample_rate = 24000 + + transcribed_text = speech_to_text_api(audio_bytes_for_stt, stt_sample_rate) + + if transcribed_text: + print(f"Transcribed text: {transcribed_text}") + else: + print("Failed to transcribe audio (API returned empty data).") + else: + print(f"Test audio file '{test_audio_path}' not found.") + print("Please run the text_to_speech.py test first to generate it, or place your own audio file") + print(" (e.g., named 'test_audio.mp3') in the same directory as this script and modify the path.") + print("Make sure it's a common audio format like MP3, WAV, M4A etc.") \ No newline at end of file diff --git a/cookbook/pocketflow-voice-chat/utils/text_to_speech.py b/cookbook/pocketflow-voice-chat/utils/text_to_speech.py new file mode 100644 index 0000000..8a90f58 --- /dev/null +++ b/cookbook/pocketflow-voice-chat/utils/text_to_speech.py @@ -0,0 +1,32 @@ +import os +from openai import OpenAI + +def text_to_speech_api(text_to_synthesize: str): + client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY")) + + response = client.audio.speech.create( + model="gpt-4o-mini-tts", + voice="alloy", # Other voices: echo, fable, onyx, nova, shimmer + input=text_to_synthesize, + response_format="mp3" # Other formats: opus, aac, flac. MP3 is widely supported. + # OpenAI default sample rate for tts-1 is 24kHz. + ) + # The response.content is already bytes (the audio data) + # Alternatively, for streaming and saving to file: response.stream_to_file("output.mp3") + audio_data_bytes = response.content + sample_rate = 24000 # OpenAI TTS model tts-1 outputs 24kHz + return audio_data_bytes, sample_rate + +if __name__ == "__main__": + print("Testing Text-to-Speech API...") + # The OpenAI client will raise an error if API key is not found or invalid. + # No explicit check here to keep it minimal. + text = "Hello from PocketFlow! This is a test of the text-to-speech functionality." + audio_bytes, rate = text_to_speech_api(text) + if audio_bytes and rate: + print(f"Successfully converted text to speech. Audio data length: {len(audio_bytes)} bytes, Sample rate: {rate} Hz.") + with open('tts_output.mp3', 'wb') as f: + f.write(audio_bytes) + print("Saved TTS output to tts_output.mp3") + else: + print("Failed to convert text to speech (API returned empty data).") \ No newline at end of file diff --git a/cookbook/pocketflow-voice-chat/utils/tts_output.mp3 b/cookbook/pocketflow-voice-chat/utils/tts_output.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7239809c566a8791d02aa41ebce1e8f460b369f9 GIT binary patch literal 65664 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

*V1KkZ1PaiNbKH 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