Spaces:
Paused
Paused
Update app.py
Browse files
app.py
CHANGED
@@ -76,7 +76,7 @@ def generateAudio(text_to_audio, s3_save_as, key_id):
|
|
76 |
def save_text_to_speech(text, speaker=None):
|
77 |
# Preprocess text and recortar
|
78 |
text = cut_text(text, max_tokens=500)
|
79 |
-
|
80 |
# Verificar si el texto tiene menos de 30 palabras
|
81 |
palabras = text.split()
|
82 |
if len(palabras) <= 30:
|
@@ -90,11 +90,20 @@ def generateAudio(text_to_audio, s3_save_as, key_id):
|
|
90 |
speech = model.generate_speech(
|
91 |
inputs["input_ids"], speaker_embeddings, vocoder=vocoder)
|
92 |
combined_audio = speech
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
else:
|
94 |
# Divide el texto en segmentos de 30 palabras
|
95 |
segmentos = [' '.join(palabras[i:i+30])
|
96 |
for i in range(0, len(palabras), 30)]
|
97 |
-
|
98 |
# Generar audio para cada segmento y combinarlos
|
99 |
audio_segments = []
|
100 |
for segment in segmentos:
|
@@ -108,24 +117,12 @@ def generateAudio(text_to_audio, s3_save_as, key_id):
|
|
108 |
speech = model.generate_speech(
|
109 |
inputs["input_ids"], speaker_embeddings, vocoder=vocoder)
|
110 |
audio_segments.append(speech)
|
111 |
-
|
112 |
if len(audio_segments) > 0:
|
113 |
combined_audio = torch.cat(audio_segments, dim=0)
|
114 |
else:
|
115 |
combined_audio = None
|
116 |
|
117 |
-
if combined_audio is not None:
|
118 |
-
# Crear objeto BytesIO para almacenar el audio
|
119 |
-
audio_buffer = BytesIO()
|
120 |
-
sf.write(audio_buffer, combined_audio.cpu().numpy(),
|
121 |
-
samplerate=16000, format='WAV')
|
122 |
-
audio_buffer.seek(0)
|
123 |
-
|
124 |
-
# Guardar el audio combinado en S3
|
125 |
-
save_audio_to_s3(audio_buffer)
|
126 |
-
else:
|
127 |
-
print("File with content null")
|
128 |
-
|
129 |
save_text_to_speech(text_to_audio, 2271)
|
130 |
return s3_save_as
|
131 |
|
|
|
76 |
def save_text_to_speech(text, speaker=None):
|
77 |
# Preprocess text and recortar
|
78 |
text = cut_text(text, max_tokens=500)
|
79 |
+
|
80 |
# Verificar si el texto tiene menos de 30 palabras
|
81 |
palabras = text.split()
|
82 |
if len(palabras) <= 30:
|
|
|
90 |
speech = model.generate_speech(
|
91 |
inputs["input_ids"], speaker_embeddings, vocoder=vocoder)
|
92 |
combined_audio = speech
|
93 |
+
|
94 |
+
# Crear objeto BytesIO para almacenar el audio
|
95 |
+
audio_buffer = BytesIO()
|
96 |
+
sf.write(audio_buffer, combined_audio.cpu().numpy(),
|
97 |
+
samplerate=16000, format='WAV')
|
98 |
+
audio_buffer.seek(0)
|
99 |
+
|
100 |
+
# Guardar el audio combinado en S3
|
101 |
+
save_audio_to_s3(audio_buffer)
|
102 |
else:
|
103 |
# Divide el texto en segmentos de 30 palabras
|
104 |
segmentos = [' '.join(palabras[i:i+30])
|
105 |
for i in range(0, len(palabras), 30)]
|
106 |
+
|
107 |
# Generar audio para cada segmento y combinarlos
|
108 |
audio_segments = []
|
109 |
for segment in segmentos:
|
|
|
117 |
speech = model.generate_speech(
|
118 |
inputs["input_ids"], speaker_embeddings, vocoder=vocoder)
|
119 |
audio_segments.append(speech)
|
120 |
+
|
121 |
if len(audio_segments) > 0:
|
122 |
combined_audio = torch.cat(audio_segments, dim=0)
|
123 |
else:
|
124 |
combined_audio = None
|
125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
save_text_to_speech(text_to_audio, 2271)
|
127 |
return s3_save_as
|
128 |
|