Update app.py
Browse files
app.py
CHANGED
@@ -117,10 +117,6 @@ with gr.Blocks(css=custom_css) as app:
|
|
117 |
gen_text_input = gr.Textbox(label="Texto para Gerar", lines=10)
|
118 |
generate_btn = gr.Button("Sintetizar", variant="primary")
|
119 |
|
120 |
-
# Container para as sentenças
|
121 |
-
with gr.Row(elem_id="sentences-container"):
|
122 |
-
sentences_output = gr.Textbox(label="Sentenças", lines=10, interactive=False)
|
123 |
-
|
124 |
with gr.Accordion("Configurações Avançadas", open=False):
|
125 |
ref_text_input = gr.Textbox(
|
126 |
label="Texto de Referência",
|
@@ -148,6 +144,15 @@ with gr.Blocks(css=custom_css) as app:
|
|
148 |
step=0.01,
|
149 |
info="Defina a duração do cross-fade entre os clipes de áudio.",
|
150 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
audio_output = gr.Audio(label="Áudio Sintetizado")
|
152 |
spectrogram_output = gr.Image(label="Espectrograma")
|
153 |
|
@@ -161,24 +166,19 @@ with gr.Blocks(css=custom_css) as app:
|
|
161 |
remove_silence,
|
162 |
cross_fade_duration_slider,
|
163 |
speed_slider,
|
|
|
164 |
):
|
165 |
# Divida o texto em sentenças
|
166 |
sentences = analyzer.split_into_sentences(gen_text_input)
|
|
|
167 |
|
168 |
-
#
|
169 |
-
formatted_sentences = "".join([
|
170 |
-
f'<div class="sentence-box">{sentence}</div>'
|
171 |
-
for sentence in sentences
|
172 |
-
])
|
173 |
-
sentences_output = formatted_sentences # Correção aqui
|
174 |
-
|
175 |
-
# Gere áudio para cada sentença individualmente
|
176 |
audio_segments = []
|
177 |
-
for
|
178 |
audio_out, spectrogram_path, ref_text_out = infer(
|
179 |
ref_audio_input,
|
180 |
ref_text_input,
|
181 |
-
|
182 |
remove_silence,
|
183 |
cross_fade_duration_slider,
|
184 |
speed_slider,
|
@@ -203,9 +203,11 @@ with gr.Blocks(css=custom_css) as app:
|
|
203 |
remove_silence,
|
204 |
cross_fade_duration_slider,
|
205 |
speed_slider,
|
|
|
206 |
],
|
207 |
-
outputs=[audio_output, spectrogram_output
|
208 |
)
|
|
|
209 |
|
210 |
with gr.Tab("Multi-Speech"):
|
211 |
gr.Markdown("# Geração Multi-Speech com F5-TTS")
|
|
|
117 |
gen_text_input = gr.Textbox(label="Texto para Gerar", lines=10)
|
118 |
generate_btn = gr.Button("Sintetizar", variant="primary")
|
119 |
|
|
|
|
|
|
|
|
|
120 |
with gr.Accordion("Configurações Avançadas", open=False):
|
121 |
ref_text_input = gr.Textbox(
|
122 |
label="Texto de Referência",
|
|
|
144 |
step=0.01,
|
145 |
info="Defina a duração do cross-fade entre os clipes de áudio.",
|
146 |
)
|
147 |
+
sentence_count_slider = gr.Slider(
|
148 |
+
label="Número de Sentenças por Vez",
|
149 |
+
minimum=1,
|
150 |
+
maximum=10,
|
151 |
+
value=1,
|
152 |
+
step=1,
|
153 |
+
info="Selecione quantas sentenças serão geradas por vez.",
|
154 |
+
)
|
155 |
+
|
156 |
audio_output = gr.Audio(label="Áudio Sintetizado")
|
157 |
spectrogram_output = gr.Image(label="Espectrograma")
|
158 |
|
|
|
166 |
remove_silence,
|
167 |
cross_fade_duration_slider,
|
168 |
speed_slider,
|
169 |
+
sentence_count_slider,
|
170 |
):
|
171 |
# Divida o texto em sentenças
|
172 |
sentences = analyzer.split_into_sentences(gen_text_input)
|
173 |
+
num_sentences = min(len(sentences), sentence_count_slider)
|
174 |
|
175 |
+
# Gere áudio para o número selecionado de sentenças
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
audio_segments = []
|
177 |
+
for i in range(num_sentences):
|
178 |
audio_out, spectrogram_path, ref_text_out = infer(
|
179 |
ref_audio_input,
|
180 |
ref_text_input,
|
181 |
+
sentences[i],
|
182 |
remove_silence,
|
183 |
cross_fade_duration_slider,
|
184 |
speed_slider,
|
|
|
203 |
remove_silence,
|
204 |
cross_fade_duration_slider,
|
205 |
speed_slider,
|
206 |
+
sentence_count_slider,
|
207 |
],
|
208 |
+
outputs=[audio_output, spectrogram_output],
|
209 |
)
|
210 |
+
|
211 |
|
212 |
with gr.Tab("Multi-Speech"):
|
213 |
gr.Markdown("# Geração Multi-Speech com F5-TTS")
|