shukdevdatta123 commited on
Commit
ba92b2d
·
verified ·
1 Parent(s): db74fa9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -4
app.py CHANGED
@@ -1,6 +1,9 @@
1
  import gradio as gr
2
  from TTS.api import TTS
3
  import numpy as np
 
 
 
4
 
5
  # Load the YourTTS model once at startup
6
  tts = TTS(model_name="tts_models/multilingual/multi-dataset/your_tts", progress_bar=False)
@@ -15,13 +18,21 @@ def generate_speech(reference_audio, text):
15
  text (str): Text to convert to speech.
16
 
17
  Returns:
18
- tuple: (audio waveform as numpy array, sample rate)
19
  """
20
  # Generate speech using the reference audio and text
21
  wav = tts.tts(text=text, speaker_wav=reference_audio, language="en")
22
- # Convert list to numpy array for Gradio
23
- wav_np = np.array(wav)
24
- return (wav_np, sample_rate)
 
 
 
 
 
 
 
 
25
 
26
  # Build the Gradio interface
27
  with gr.Blocks(title="Voice Cloning TTS") as app:
 
1
  import gradio as gr
2
  from TTS.api import TTS
3
  import numpy as np
4
+ from scipy.io import wavfile
5
+ import tempfile
6
+ import os
7
 
8
  # Load the YourTTS model once at startup
9
  tts = TTS(model_name="tts_models/multilingual/multi-dataset/your_tts", progress_bar=False)
 
18
  text (str): Text to convert to speech.
19
 
20
  Returns:
21
+ str: Path to the generated audio file
22
  """
23
  # Generate speech using the reference audio and text
24
  wav = tts.tts(text=text, speaker_wav=reference_audio, language="en")
25
+ # Convert list to numpy array
26
+ wav_np = np.array(wav, dtype=np.float32)
27
+
28
+ # Create a temporary file to save the audio
29
+ temp_file = tempfile.NamedTemporaryFile(suffix=".wav", delete=False)
30
+ temp_file_path = temp_file.name
31
+ # Save the audio to the temporary file
32
+ wavfile.write(temp_file_path, sample_rate, wav_np)
33
+ temp_file.close()
34
+
35
+ return temp_file_path
36
 
37
  # Build the Gradio interface
38
  with gr.Blocks(title="Voice Cloning TTS") as app: