markllego commited on
Commit
524b895
1 Parent(s): 66dc160

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -11
app.py CHANGED
@@ -9,9 +9,10 @@ os.environ['OPENAI_API_KEY'] = api_key
9
 
10
  openai_client = OpenAI()
11
 
 
12
  def synthesize_speech(input_text, selected_model, selected_voice, audio_format):
13
- # You would need to check the OpenAI documentation for the correct parameter to set the audio format
14
- # and update the following line accordingly.
15
  audio_response = openai_client.audio.speech.create(
16
  model=selected_model,
17
  voice=selected_voice,
@@ -20,7 +21,8 @@ def synthesize_speech(input_text, selected_model, selected_voice, audio_format):
20
  )
21
 
22
  # Determine the file extension based on the selected audio format
23
- file_extension = f".{audio_format}" if audio_format in ['mp3', 'aac', 'flac'] else ".opus"
 
24
 
25
  # Save the synthesized speech to a temporary audio file
26
  with tempfile.NamedTemporaryFile(suffix=file_extension, delete=False) as audio_temp:
@@ -29,20 +31,27 @@ def synthesize_speech(input_text, selected_model, selected_voice, audio_format):
29
 
30
  return audio_file_path
31
 
 
32
  # Define the Gradio interface
33
  with grd.Blocks() as speech_synthesizer_interface:
34
  grd.Markdown("# <center> Text-to-Speech Synthesizer </center>")
35
  with grd.Row():
36
- model_selector = grd.Dropdown(choices=['tts-1', 'tts-1-hd'], label='Choose Model', value='tts-1')
37
- voice_selector = grd.Dropdown(choices=['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'], label='Select Voice', value='alloy')
38
- format_selector = grd.Dropdown(choices=['mp3', 'opus', 'aac', 'flac'], label='Select Format', value='mp3')
39
-
40
- input_field = grd.Textbox(label="Enter your text here", placeholder="Type here and convert to speech.")
 
 
 
 
41
  synthesis_button = grd.Button("Convert to Speech")
42
  audio_result = grd.Audio(label="Generated Speech")
43
 
44
- input_field.submit(fn=synthesize_speech, inputs=[input_field, model_selector, voice_selector, format_selector], outputs=audio_result)
45
- synthesis_button.click(fn=synthesize_speech, inputs=[input_field, model_selector, voice_selector, format_selector], outputs=audio_result)
 
 
46
 
47
  # Launch the interface
48
- speech_synthesizer_interface.launch()
 
9
 
10
  openai_client = OpenAI()
11
 
12
+
13
  def synthesize_speech(input_text, selected_model, selected_voice, audio_format):
14
+ # This is a new feature from OpenAI, so please check the documentation for the correct parameter to set the audio format.
15
+ # See: https://platform.openai.com/docs/guides/text-to-speech
16
  audio_response = openai_client.audio.speech.create(
17
  model=selected_model,
18
  voice=selected_voice,
 
21
  )
22
 
23
  # Determine the file extension based on the selected audio format
24
+ file_extension = f".{audio_format}" if audio_format in [
25
+ 'mp3', 'aac', 'flac'] else ".opus"
26
 
27
  # Save the synthesized speech to a temporary audio file
28
  with tempfile.NamedTemporaryFile(suffix=file_extension, delete=False) as audio_temp:
 
31
 
32
  return audio_file_path
33
 
34
+
35
  # Define the Gradio interface
36
  with grd.Blocks() as speech_synthesizer_interface:
37
  grd.Markdown("# <center> Text-to-Speech Synthesizer </center>")
38
  with grd.Row():
39
+ model_selector = grd.Dropdown(
40
+ choices=['tts-1', 'tts-1-hd'], label='Choose Model', value='tts-1')
41
+ voice_selector = grd.Dropdown(choices=[
42
+ 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'], label='Select Voice', value='alloy')
43
+ format_selector = grd.Dropdown(
44
+ choices=['mp3', 'opus', 'aac', 'flac'], label='Select Format', value='mp3')
45
+
46
+ input_field = grd.Textbox(
47
+ label="Enter your text here", placeholder="Type here and convert to speech.")
48
  synthesis_button = grd.Button("Convert to Speech")
49
  audio_result = grd.Audio(label="Generated Speech")
50
 
51
+ input_field.submit(fn=synthesize_speech, inputs=[
52
+ input_field, model_selector, voice_selector, format_selector], outputs=audio_result)
53
+ synthesis_button.click(fn=synthesize_speech, inputs=[
54
+ input_field, model_selector, voice_selector, format_selector], outputs=audio_result)
55
 
56
  # Launch the interface
57
+ speech_synthesizer_interface.launch()