Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import whisper | |
| from groq import Groq | |
| from TTS.api import TTS | |
| import torch | |
| import os | |
| # Load models | |
| whisper_model = whisper.load_model("base") | |
| tts_model = TTS(model_name="tts_models/en/ljspeech/tacotron2-DDC", progress_bar=False, gpu=torch.cuda.is_available()) | |
| groq_client = Groq(api_key="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") | |
| # Core pipeline | |
| def voice_to_voice(audio): | |
| # Transcribe | |
| transcription = whisper_model.transcribe(audio)["text"] | |
| # Generate response from Groq | |
| response = groq_client.chat.completions.create( | |
| messages=[{"role": "user", "content": transcription}], | |
| model="llama3-70b-8192", | |
| ) | |
| groq_text = response.choices[0].message.content | |
| # Convert to speech | |
| output_path = "response.wav" | |
| tts_model.tts_to_file(text=groq_text, file_path=output_path) | |
| return groq_text, output_path | |
| # Gradio Interface | |
| iface = gr.Interface( | |
| fn=voice_to_voice, | |
| inputs=gr.Audio(source="microphone", type="filepath", label="ποΈ Speak your question"), | |
| outputs=[ | |
| gr.Textbox(label="π Groq Answer"), | |
| gr.Audio(label="π§ AI Voice Reply"), | |
| ], | |
| title="π€ Voice Chat with Groq (LLaMA 3)", | |
| description="Speak your question. Whisper will transcribe it, Groq will answer it, and TTS will reply in voice.", | |
| live=False, | |
| ) | |
| iface.launch() | |