Update app.py
Browse files
app.py
CHANGED
@@ -113,11 +113,15 @@ with gr.Blocks(css=custom_css) as app:
|
|
113 |
with gr.Tabs():
|
114 |
with gr.Tab("TTS Básico"):
|
115 |
gr.Markdown("# TTS Básico com F5-TTS")
|
|
|
|
|
116 |
ref_audio_input = gr.Audio(label="Áudio de Referência", type="filepath")
|
117 |
gen_text_input = gr.Textbox(label="Texto para Gerar", lines=10)
|
118 |
generate_btn = gr.Button("Sintetizar", variant="primary")
|
119 |
|
120 |
-
|
|
|
|
|
121 |
ref_text_input = gr.Textbox(
|
122 |
label="Texto de Referência",
|
123 |
info="Deixe em branco para transcrever automaticamente o áudio de referência. Se você inserir texto, ele substituirá a transcrição automática.",
|
@@ -153,9 +157,31 @@ with gr.Blocks(css=custom_css) as app:
|
|
153 |
info="Defina quantas sentenças serão processadas em cada chunk.",
|
154 |
)
|
155 |
|
|
|
|
|
156 |
audio_output = gr.Audio(label="Áudio Sintetizado")
|
157 |
spectrogram_output = gr.Image(label="Espectrograma")
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
analyzer = SentenceAnalyzer()
|
160 |
|
161 |
@gpu_decorator
|
@@ -203,23 +229,8 @@ with gr.Blocks(css=custom_css) as app:
|
|
203 |
gr.Warning("Nenhum áudio gerado.")
|
204 |
return None, None, gr.update()
|
205 |
|
206 |
-
|
207 |
-
process_chunks,
|
208 |
-
inputs=[
|
209 |
-
ref_audio_input,
|
210 |
-
ref_text_input,
|
211 |
-
gen_text_input,
|
212 |
-
remove_silence,
|
213 |
-
cross_fade_duration_slider,
|
214 |
-
speed_slider,
|
215 |
-
chunk_size_slider, # Define o tamanho dos chunks
|
216 |
-
],
|
217 |
-
outputs=[audio_output, spectrogram_output, ref_text_input], # Ref_text_input permanece inalterado
|
218 |
-
)
|
219 |
-
|
220 |
|
221 |
-
|
222 |
-
|
223 |
|
224 |
@click.command()
|
225 |
@click.option("--port", "-p", default=None, type=int, help="Port to run the app on")
|
|
|
113 |
with gr.Tabs():
|
114 |
with gr.Tab("TTS Básico"):
|
115 |
gr.Markdown("# TTS Básico com F5-TTS")
|
116 |
+
|
117 |
+
# Entradas básicas
|
118 |
ref_audio_input = gr.Audio(label="Áudio de Referência", type="filepath")
|
119 |
gen_text_input = gr.Textbox(label="Texto para Gerar", lines=10)
|
120 |
generate_btn = gr.Button("Sintetizar", variant="primary")
|
121 |
|
122 |
+
# Configurações avançadas
|
123 |
+
gr.Markdown("### Configurações Avançadas")
|
124 |
+
with gr.Accordion("Expandir Configurações Avançadas", open=False):
|
125 |
ref_text_input = gr.Textbox(
|
126 |
label="Texto de Referência",
|
127 |
info="Deixe em branco para transcrever automaticamente o áudio de referência. Se você inserir texto, ele substituirá a transcrição automática.",
|
|
|
157 |
info="Defina quantas sentenças serão processadas em cada chunk.",
|
158 |
)
|
159 |
|
160 |
+
# Saídas
|
161 |
+
gr.Markdown("### Resultados")
|
162 |
audio_output = gr.Audio(label="Áudio Sintetizado")
|
163 |
spectrogram_output = gr.Image(label="Espectrograma")
|
164 |
|
165 |
+
# Associação do botão `generate_btn` à função `process_chunks`
|
166 |
+
generate_btn.click(
|
167 |
+
process_chunks,
|
168 |
+
inputs=[
|
169 |
+
ref_audio_input,
|
170 |
+
ref_text_input,
|
171 |
+
gen_text_input,
|
172 |
+
remove_silence,
|
173 |
+
cross_fade_duration_slider,
|
174 |
+
speed_slider,
|
175 |
+
chunk_size_slider,
|
176 |
+
],
|
177 |
+
outputs=[
|
178 |
+
audio_output,
|
179 |
+
spectrogram_output,
|
180 |
+
ref_text_input, # Atualiza o texto de referência, se necessário
|
181 |
+
],
|
182 |
+
)
|
183 |
+
|
184 |
+
|
185 |
analyzer = SentenceAnalyzer()
|
186 |
|
187 |
@gpu_decorator
|
|
|
229 |
gr.Warning("Nenhum áudio gerado.")
|
230 |
return None, None, gr.update()
|
231 |
|
232 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
|
|
|
|
|
234 |
|
235 |
@click.command()
|
236 |
@click.option("--port", "-p", default=None, type=int, help="Port to run the app on")
|