|
import os |
|
import gradio as gr |
|
from TTS.api import TTS |
|
import torch |
|
import numpy as np |
|
os.environ['COQUI_TOS_AGREED'] = '1' |
|
device = "cuda" if torch.cuda.is_available() else "cpu" |
|
|
|
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2").to(device) |
|
|
|
|
|
def text_to_speech(text): |
|
|
|
|
|
|
|
wav_file = "output.wav" |
|
wav = tts.tts(text, language = "zh-cn", speaker_wav = "E_sample.wav") |
|
return wav, tts.sample_rate |
|
|
|
|
|
iface = gr.Interface( |
|
fn=text_to_speech, |
|
inputs=gr.Textbox(lines=2, placeholder="输入文本..."), |
|
outputs=gr.Audio(type="numpy"), |
|
title=f"测试", |
|
description=f"当前device: {device}" |
|
) |
|
|
|
|
|
iface.launch() |