Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import tempfile | |
| from openai import OpenAI | |
| first_alert = "1mp3.mp3" | |
| next_alert = "3mp3.mp3" | |
| def Txt_To_Speech(api_key, model, voice,speed,text): | |
| if api_key == '': | |
| output= first_alert | |
| else: | |
| try: | |
| client = OpenAI(api_key=api_key) | |
| response = client.audio.speech.create( | |
| model=model, | |
| voice=voice, | |
| speed=speed, | |
| input=text | |
| ) | |
| with tempfile.NamedTemporaryFile(suffix=".mp3", delete=False) as temp_file: | |
| temp_file.write(response.content) | |
| temp_file_path = temp_file.name | |
| output = temp_file_path | |
| except : | |
| output = next_alert | |
| return output | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# TTS Text To Speech using OpenAI ") | |
| text1 = gr.Textbox(type = 'password',label="Enter your API-Key", placeholder="API-Key", lines=1) | |
| model = gr.Dropdown(choices=["tts-1", "tts-1-hd"], label="Model", value="tts-1") | |
| voice = gr.Dropdown(choices=["alloy", "echo", "fable", "onyx", "nova", "shimmer"], label="Voice Options", | |
| value="alloy") | |
| speed = gr.Slider(minimum=0.25, maximum=4.0, value=1.0, step=0.01, label="Speed") | |
| text = gr.Textbox(label="Please Enter text",placeholder="Enter your Input") | |
| gr.Interface( | |
| Txt_To_Speech, | |
| [ | |
| text1,model,voice,speed,text | |
| ], | |
| outputs=gr.Audio(label="Speech Output") | |
| ) | |
| demo.launch() | |