mirror of https://github.com/coqui-ai/TTS.git
Uses tabs instead of columns
This commit is contained in:
parent
cc4f37e1b0
commit
7cc348ed76
|
@ -0,0 +1 @@
|
||||||
|
faster_whisper
|
|
@ -95,123 +95,46 @@ def read_logs():
|
||||||
|
|
||||||
|
|
||||||
with gr.Blocks() as demo:
|
with gr.Blocks() as demo:
|
||||||
with gr.Tab("XTTS"):
|
state_vars = gr.State()
|
||||||
state_vars = gr.State(
|
with gr.Tab("Data processing"):
|
||||||
|
upload_file = gr.Audio(
|
||||||
|
sources="upload",
|
||||||
|
label="Select here the audio files that you want to use for XTTS trainining !",
|
||||||
|
type="filepath",
|
||||||
)
|
)
|
||||||
with gr.Row():
|
lang = gr.Dropdown(
|
||||||
with gr.Column() as col1:
|
label="Dataset Language",
|
||||||
upload_file = gr.Audio(
|
value="en",
|
||||||
sources="upload",
|
choices=[
|
||||||
label="Select here the audio files that you want to use for XTTS trainining !",
|
"en",
|
||||||
type="filepath",
|
"es",
|
||||||
)
|
"fr",
|
||||||
lang = gr.Dropdown(
|
"de",
|
||||||
label="Dataset Language",
|
"it",
|
||||||
value="en",
|
"pt",
|
||||||
choices=[
|
"pl",
|
||||||
"en",
|
"tr",
|
||||||
"es",
|
"ru",
|
||||||
"fr",
|
"nl",
|
||||||
"de",
|
"cs",
|
||||||
"it",
|
"ar",
|
||||||
"pt",
|
"zh",
|
||||||
"pl",
|
"hu",
|
||||||
"tr",
|
"ko",
|
||||||
"ru",
|
"ja"
|
||||||
"nl",
|
],
|
||||||
"cs",
|
)
|
||||||
"ar",
|
progress_data = gr.Label(
|
||||||
"zh",
|
label="Progress:"
|
||||||
"hu",
|
)
|
||||||
"ko",
|
logs = gr.Textbox(
|
||||||
"ja"
|
label="Logs:",
|
||||||
],
|
interactive=False,
|
||||||
)
|
)
|
||||||
progress_data = gr.Label(
|
demo.load(read_logs, None, logs, every=1)
|
||||||
label="Progress:"
|
|
||||||
)
|
|
||||||
logs = gr.Textbox(
|
|
||||||
label="Logs:",
|
|
||||||
interactive=False,
|
|
||||||
)
|
|
||||||
demo.load(read_logs, None, logs, every=1)
|
|
||||||
|
|
||||||
prompt_compute_btn = gr.Button(value="Step 1 - Create dataset.")
|
|
||||||
|
|
||||||
with gr.Column() as col2:
|
|
||||||
num_epochs = gr.Slider(
|
|
||||||
label="num_epochs",
|
|
||||||
minimum=1,
|
|
||||||
maximum=100,
|
|
||||||
step=1,
|
|
||||||
value=2,# 15
|
|
||||||
)
|
|
||||||
batch_size = gr.Slider(
|
|
||||||
label="batch_size",
|
|
||||||
minimum=2,
|
|
||||||
maximum=512,
|
|
||||||
step=1,
|
|
||||||
value=15,
|
|
||||||
)
|
|
||||||
progress_train = gr.Label(
|
|
||||||
label="Progress:"
|
|
||||||
)
|
|
||||||
logs_tts_train = gr.Textbox(
|
|
||||||
label="Logs:",
|
|
||||||
interactive=False,
|
|
||||||
)
|
|
||||||
demo.load(read_logs, None, logs_tts_train, every=1)
|
|
||||||
train_btn = gr.Button(value="Step 2 - Run the training")
|
|
||||||
|
|
||||||
with gr.Column() as col3:
|
|
||||||
xtts_checkpoint = gr.Textbox(
|
|
||||||
label="XTTS checkpoint path:",
|
|
||||||
value="",
|
|
||||||
)
|
|
||||||
xtts_config = gr.Textbox(
|
|
||||||
label="XTTS config path:",
|
|
||||||
value="",
|
|
||||||
)
|
|
||||||
xtts_vocab = gr.Textbox(
|
|
||||||
label="XTTS config path:",
|
|
||||||
value="",
|
|
||||||
)
|
|
||||||
speaker_reference_audio = gr.Textbox(
|
|
||||||
label="Speaker reference audio:",
|
|
||||||
value="",
|
|
||||||
)
|
|
||||||
tts_language = gr.Dropdown(
|
|
||||||
label="Language",
|
|
||||||
value="en",
|
|
||||||
choices=[
|
|
||||||
"en",
|
|
||||||
"es",
|
|
||||||
"fr",
|
|
||||||
"de",
|
|
||||||
"it",
|
|
||||||
"pt",
|
|
||||||
"pl",
|
|
||||||
"tr",
|
|
||||||
"ru",
|
|
||||||
"nl",
|
|
||||||
"cs",
|
|
||||||
"ar",
|
|
||||||
"zh",
|
|
||||||
"hu",
|
|
||||||
"ko",
|
|
||||||
"ja",
|
|
||||||
]
|
|
||||||
)
|
|
||||||
tts_text = gr.Textbox(
|
|
||||||
label="Input Text.",
|
|
||||||
value="This model sounds really good and above all, it's reasonably fast.",
|
|
||||||
)
|
|
||||||
tts_btn = gr.Button(value="Step 3 - Inference XTTS model")
|
|
||||||
|
|
||||||
tts_output_audio = gr.Audio(label="Generated Audio.")
|
|
||||||
reference_audio = gr.Audio(label="Reference audio used.")
|
|
||||||
|
|
||||||
|
|
||||||
|
prompt_compute_btn = gr.Button(value="Step 1 - Create dataset.")
|
||||||
|
|
||||||
def preprocess_dataset(audio_path, language, state_vars, progress=gr.Progress(track_tqdm=True)):
|
def preprocess_dataset(audio_path, language, state_vars, progress=gr.Progress(track_tqdm=True)):
|
||||||
# create a temp directory to save the dataset
|
# create a temp directory to save the dataset
|
||||||
out_path = tempfile.TemporaryDirectory().name
|
out_path = tempfile.TemporaryDirectory().name
|
||||||
|
@ -240,6 +163,32 @@ with gr.Blocks() as demo:
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
with gr.Tab("Fine-tuning XTTS"):
|
||||||
|
num_epochs = gr.Slider(
|
||||||
|
label="num_epochs",
|
||||||
|
minimum=1,
|
||||||
|
maximum=100,
|
||||||
|
step=1,
|
||||||
|
value=2,# 15
|
||||||
|
)
|
||||||
|
batch_size = gr.Slider(
|
||||||
|
label="batch_size",
|
||||||
|
minimum=2,
|
||||||
|
maximum=512,
|
||||||
|
step=1,
|
||||||
|
value=15,
|
||||||
|
)
|
||||||
|
progress_train = gr.Label(
|
||||||
|
label="Progress:"
|
||||||
|
)
|
||||||
|
logs_tts_train = gr.Textbox(
|
||||||
|
label="Logs:",
|
||||||
|
interactive=False,
|
||||||
|
)
|
||||||
|
demo.load(read_logs, None, logs_tts_train, every=1)
|
||||||
|
train_btn = gr.Button(value="Step 2 - Run the training")
|
||||||
|
|
||||||
def train_model(language, num_epochs, batch_size, state_vars, output_path="./", progress=gr.Progress(track_tqdm=True)):
|
def train_model(language, num_epochs, batch_size, state_vars, output_path="./", progress=gr.Progress(track_tqdm=True)):
|
||||||
# state_vars = {'train_csv': '/tmp/tmprh4k_vou/metadata_train.csv', 'eval_csv': '/tmp/tmprh4k_vou/metadata_eval.csv'}
|
# state_vars = {'train_csv': '/tmp/tmprh4k_vou/metadata_train.csv', 'eval_csv': '/tmp/tmprh4k_vou/metadata_eval.csv'}
|
||||||
|
|
||||||
|
@ -257,6 +206,55 @@ with gr.Blocks() as demo:
|
||||||
return "Model training done!", state_vars, config_path, vocab_file, ft_xtts_checkpoint, speaker_wav
|
return "Model training done!", state_vars, config_path, vocab_file, ft_xtts_checkpoint, speaker_wav
|
||||||
|
|
||||||
|
|
||||||
|
with gr.Tab("Inference"):
|
||||||
|
xtts_checkpoint = gr.Textbox(
|
||||||
|
label="XTTS checkpoint path:",
|
||||||
|
value="",
|
||||||
|
)
|
||||||
|
xtts_config = gr.Textbox(
|
||||||
|
label="XTTS config path:",
|
||||||
|
value="",
|
||||||
|
)
|
||||||
|
xtts_vocab = gr.Textbox(
|
||||||
|
label="XTTS config path:",
|
||||||
|
value="",
|
||||||
|
)
|
||||||
|
speaker_reference_audio = gr.Textbox(
|
||||||
|
label="Speaker reference audio:",
|
||||||
|
value="",
|
||||||
|
)
|
||||||
|
tts_language = gr.Dropdown(
|
||||||
|
label="Language",
|
||||||
|
value="en",
|
||||||
|
choices=[
|
||||||
|
"en",
|
||||||
|
"es",
|
||||||
|
"fr",
|
||||||
|
"de",
|
||||||
|
"it",
|
||||||
|
"pt",
|
||||||
|
"pl",
|
||||||
|
"tr",
|
||||||
|
"ru",
|
||||||
|
"nl",
|
||||||
|
"cs",
|
||||||
|
"ar",
|
||||||
|
"zh",
|
||||||
|
"hu",
|
||||||
|
"ko",
|
||||||
|
"ja",
|
||||||
|
]
|
||||||
|
)
|
||||||
|
tts_text = gr.Textbox(
|
||||||
|
label="Input Text.",
|
||||||
|
value="This model sounds really good and above all, it's reasonably fast.",
|
||||||
|
)
|
||||||
|
tts_btn = gr.Button(value="Step 3 - Inference XTTS model")
|
||||||
|
|
||||||
|
tts_output_audio = gr.Audio(label="Generated Audio.")
|
||||||
|
reference_audio = gr.Audio(label="Reference audio used.")
|
||||||
|
|
||||||
|
|
||||||
train_btn.click(
|
train_btn.click(
|
||||||
fn=train_model,
|
fn=train_model,
|
||||||
inputs=[
|
inputs=[
|
||||||
|
@ -268,6 +266,7 @@ with gr.Blocks() as demo:
|
||||||
outputs=[progress_train, state_vars, xtts_config, xtts_vocab, xtts_checkpoint, speaker_reference_audio],
|
outputs=[progress_train, state_vars, xtts_config, xtts_vocab, xtts_checkpoint, speaker_reference_audio],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
tts_btn.click(
|
tts_btn.click(
|
||||||
fn=run_tts,
|
fn=run_tts,
|
||||||
inputs=[
|
inputs=[
|
||||||
|
|
Loading…
Reference in New Issue