Spaces:
Running
on
Zero
Running
on
Zero
Update app.py
Browse files
app.py
CHANGED
@@ -14,6 +14,7 @@ from dotenv import load_dotenv
|
|
14 |
import tempfile
|
15 |
import spaces
|
16 |
from TTS.api import TTS
|
|
|
17 |
|
18 |
# Load environment variables
|
19 |
load_dotenv()
|
@@ -58,13 +59,18 @@ def generate_script(user_prompt: str, model_id: str, token: str, duration: int):
|
|
58 |
@spaces.GPU(duration=300)
|
59 |
def generate_voice(script: str, speaker: str = "default"):
|
60 |
try:
|
61 |
-
# Load
|
62 |
-
|
63 |
-
|
64 |
-
|
|
|
|
|
|
|
|
|
|
|
65 |
output_path = f"{tempfile.gettempdir()}/generated_voice.wav"
|
66 |
-
|
67 |
-
|
68 |
return output_path
|
69 |
except Exception as e:
|
70 |
return f"Error generating voice-over: {e}"
|
|
|
14 |
import tempfile
|
15 |
import spaces
|
16 |
from TTS.api import TTS
|
17 |
+
from TTS.utils.synthesizer import Synthesizer
|
18 |
|
19 |
# Load environment variables
|
20 |
load_dotenv()
|
|
|
59 |
@spaces.GPU(duration=300)
|
60 |
def generate_voice(script: str, speaker: str = "default"):
|
61 |
try:
|
62 |
+
# Load TTS model
|
63 |
+
tts_model_path = "tts_models/en/ljspeech/tacotron2-DDC"
|
64 |
+
vocoder_model_path = "vocoder_models/en/ljspeech/hifigan_v2"
|
65 |
+
synthesizer = Synthesizer(tts_model_path, vocoder_model_path)
|
66 |
+
|
67 |
+
# Generate audio
|
68 |
+
wav = synthesizer.tts(script)
|
69 |
+
|
70 |
+
# Save output to a file
|
71 |
output_path = f"{tempfile.gettempdir()}/generated_voice.wav"
|
72 |
+
synthesizer.save_wav(wav, output_path)
|
73 |
+
|
74 |
return output_path
|
75 |
except Exception as e:
|
76 |
return f"Error generating voice-over: {e}"
|