Spaces:
Running
Running
import torch | |
import gradio as gr | |
from TTS.api import TTS | |
import os | |
from unittest.mock import patch | |
os.environ["COQUI_TOS_AGREED"] = "1" | |
# Function to always return 'y' | |
def always_yes(*args, **kwargs): | |
return 'y' | |
# Patch the input function to always return 'y' | |
with patch('builtins.input', always_yes): | |
device = "cuda:0" if torch.cuda.is_available() else "cpu" | |
tts = TTS(model_name="tts_models/multilingual/multi-dataset/xtts_v2", progress_bar=False).to(device) | |
def generate_voice(text, audio_file_path): | |
output_path = "/content/cloned_audio.wav" # Setting the output path | |
tts.tts_to_file(text, | |
speaker_wav=audio_file_path, # Directly use the file path string | |
language="en", # Assuming the language is English | |
file_path=output_path, | |
split_sentences=True) | |
return output_path | |
import gradio as gr | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=generate_voice, | |
inputs=[ | |
gr.Textbox(label="Input Text"), | |
gr.Audio(label="Input Audio", type="filepath") | |
], | |
outputs=gr.Audio(label="Cloned Voice"), | |
title="Voice Cloning TTS" | |
) | |
# Launch the interface | |
iface.launch() | |