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()