aai / tabs /audios /ui.py
barreloflube's picture
Refactor app.py to add audio tab and update gradio UI
acde4c3
raw
history blame
1.98 kB
import gradio as gr
from config import Config
from .events import *
def audio_tab():
with gr.Row():
with gr.Column():
with gr.Group():
with gr.Group():
text = gr.Textbox(lines=5, label="Enter text")
language = gr.Dropdown(
label="Language",
choices=["en"],
value="en",
)
with gr.Accordion('Voice Clone', open=True):
speaker_audio = gr.Audio(label="Upload Audio", type='numpy')
clear_speaker_audio = gr.Button(label="Clear Audio")
with gr.Column():
output_audio = gr.Audio(label="Output Audio", interactive=False, show_download_button=True)
clear_output_audio = gr.Button(label="Clear Audio")
generate_audio = gr.Button(label="Generate Audio")
with gr.Accordion('Advance Settings', open=True):
settings = [
('Alpha', 'tts_alpha', 'float', 0.0, 1.0, 0.3, 0.1,),
('Beta', 'tts_beta', 'float', 0.0, 1.0, 0.7, 0.1,),
('Diffusion Steps', 'tts_diffusion_steps', 'int', 1, 100, 10, 1,),
('Embedding Scale', 'tts_embedding_scale', 'int', 0, 10, 1, 1,),
]
for label, key, type_, min_, max_, value, step in settings:
globals()[key] = gr.Slider(label=label, minimum=min_, maximum=max_, value=value, step=step)
# Events
# Clear Audio
clear_speaker_audio.click(clear_audio, speaker_audio, speaker_audio)
clear_output_audio.click(clear_audio, output_audio, output_audio)
# Generate Audio
generate_audio.click(
gen_audio,
[text, language, speaker_audio, tts_alpha, tts_beta, tts_diffusion_steps, tts_embedding_scale], # type: ignore
[output_audio]
)