xtts / app.py
krupal19's picture
Upload app.py with huggingface_hub
56ada58 verified
Raw
History Blame Contribute Delete
2.6 kB
import spaces
import gradio as gr
import torch
import os
# torch >= 2.6 defaults torch.load(weights_only=True), which breaks TTS's
# pickle-based config loading. Restore the older behavior before TTS imports.
_orig_torch_load = torch.load
def _patched_torch_load(*args, **kwargs):
kwargs.setdefault("weights_only", False)
return _orig_torch_load(*args, **kwargs)
torch.load = _patched_torch_load
os.environ["COQUI_TOS_AGREED"] = "1"
from TTS.api import TTS
device = "cuda"
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device)
@spaces.GPU
def clone(text, audio):
tts.tts_to_file(text=text, speaker_wav=audio, language="en", file_path="./output.wav")
return "./output.wav"
iface = gr.Interface(fn=clone,
inputs=[gr.Textbox(label='Text'),gr.Audio(type='filepath', label='Voice reference audio file')],
outputs=gr.Audio(type='filepath'),
title='Voice Clone',
description="""
by [Tony Assi](https://www.tonyassi.com/)
---
<h3>If you like voice clone then try <a href="https://huggingface.co/spaces/tonyassi/video-face-swap" target="_blank" rel="noopener noreferrer">Video Face Swap</a></h3>
---
This space uses xtts_v2 model. Non-commercial use only. [Coqui Public Model License](https://huggingface.co/coqui/XTTS-v2/blob/main/LICENSE.txt)
Please ❤️ this Space. [Email me](mailto:tony.assi.media@gmail.com).
""",
theme = gr.themes.Base(primary_hue="teal",secondary_hue="teal",neutral_hue="slate"),
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"],
["It's me Vito Corleone, from the Godfather. Type in whatever you'd like me to say.","./audio/Godfather.wav"],
["Hey, it's me Paris Hilton. Type in whatever you'd like me to say.","./audio/Paris-Hilton.mp3"],
["Hey, it's me Megan Fox from Transformers. Type in whatever you'd like me to say.","./audio/Megan-Fox.mp3"],
["Hey there, it's me Jeff Goldblum. Type in whatever you'd like me to say.","./audio/Jeff-Goldblum.mp3"],
["Hey there, it's me Heath Ledger as the Joker. Type in whatever you'd like me to say.","./audio/Heath-Ledger.mp3"],])
iface.launch()