Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,40 +1,41 @@
|
|
| 1 |
-
|
|
|
|
|
|
|
| 2 |
from TTS.api import TTS
|
| 3 |
import os
|
| 4 |
-
import tempfile
|
| 5 |
-
|
| 6 |
-
# Accept TOS
|
| 7 |
os.environ["COQUI_TOS_AGREED"] = "1"
|
| 8 |
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
|
|
|
|
|
|
|
|
| 1 |
+
import spaces
|
| 2 |
+
import gradio as gr
|
| 3 |
+
import torch
|
| 4 |
from TTS.api import TTS
|
| 5 |
import os
|
|
|
|
|
|
|
|
|
|
| 6 |
os.environ["COQUI_TOS_AGREED"] = "1"
|
| 7 |
|
| 8 |
+
device = "cuda"
|
| 9 |
+
|
| 10 |
+
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device)
|
| 11 |
+
|
| 12 |
+
@spaces.GPU(enable_queue=True)
|
| 13 |
+
def clone(text, audio):
|
| 14 |
+
tts.tts_to_file(text=text, speaker_wav=audio, language="en", file_path="./output.wav")
|
| 15 |
+
return "./output.wav"
|
| 16 |
+
|
| 17 |
+
iface = gr.Interface(fn=clone,
|
| 18 |
+
inputs=[gr.Textbox(label='Text'),gr.Audio(type='filepath', label='Voice reference audio file')],
|
| 19 |
+
outputs=gr.Audio(type='filepath'),
|
| 20 |
+
title='Voice Clone',
|
| 21 |
+
description="""
|
| 22 |
+
by [Tony Assi](https://www.tonyassi.com/)
|
| 23 |
+
|
| 24 |
+
---
|
| 25 |
+
|
| 26 |
+
### If you like voice clone then try [Video Face Swap](https://huggingface.co/spaces/tonyassi/video-face-swap)!
|
| 27 |
+
|
| 28 |
+
---
|
| 29 |
+
|
| 30 |
+
This space uses xtts_v2 model. Non-commercial use only. [Coqui Public Model License](https://coqui.ai/cpml)
|
| 31 |
+
|
| 32 |
+
Please ❤️ this Space. <a href="mailto: tony.assi.media@gmail.com">Email me</a>.
|
| 33 |
+
""",
|
| 34 |
+
theme = gr.themes.Base(primary_hue="teal",secondary_hue="teal",neutral_hue="slate"),
|
| 35 |
+
examples=[["Hey! It's me Dorthy, from the Wizard of Oz. Type in whatever you'd like me to say.","./audio/Wizard-of-Oz-Dorthy.wav"],
|
| 36 |
+
["It's me Vito Corleone, from the Godfather. Type in whatever you'd like me to say.","./audio/Godfather.wav"],
|
| 37 |
+
["Hey, it's me Paris Hilton. Type in whatever you'd like me to say.","./audio/Paris-Hilton.mp3"],
|
| 38 |
+
["Hey, it's me Megan Fox from Transformers. Type in whatever you'd like me to say.","./audio/Megan-Fox.mp3"],
|
| 39 |
+
["Hey there, it's me Jeff Goldblum. Type in whatever you'd like me to say.","./audio/Jeff-Goldblum.mp3"],
|
| 40 |
+
["Hey there, it's me Heath Ledger as the Joker. Type in whatever you'd like me to say.","./audio/Heath-Ledger.mp3"],])
|
| 41 |
+
iface.launch()
|