Uhhy commited on
Commit
24e9d34
verified
1 Parent(s): d270640

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +1 -20
app.py CHANGED
@@ -20,7 +20,6 @@ os.system("python -m unidic download")
20
  HF_TOKEN = None
21
  api = HfApi(token=HF_TOKEN)
22
 
23
- print("Downloading if not downloaded viXTTS")
24
  checkpoint_dir = "model/"
25
  repo_id = "capleaf/viXTTS"
26
  use_deepspeed = False
@@ -87,7 +86,7 @@ def calculate_keep_len(text, lang):
87
  return -1
88
 
89
 
90
- @spaces.GPU
91
  def predict(
92
  prompt,
93
  language,
@@ -139,7 +138,6 @@ def predict(
139
  if normalize_text and language == "vi":
140
  prompt = normalize_vietnamese_text(prompt)
141
 
142
- print("Generando nuevo audio...")
143
  t0 = time.time()
144
  out = MODEL.inference(
145
  prompt,
@@ -151,12 +149,10 @@ def predict(
151
  enable_text_splitting=True,
152
  )
153
  inference_time = time.time() - t0
154
- print(f"Tiempo de generaci贸n de audio: {round(inference_time*1000)} milisegundos")
155
  metrics_text += (
156
  f"Tiempo de generaci贸n de audio: {round(inference_time*1000)} milisegundos\n"
157
  )
158
  real_time_factor = (time.time() - t0) / out["wav"].shape[-1] * 24000
159
- print(f"Factor de tiempo real (RTF): {real_time_factor}")
160
  metrics_text += f"Factor de tiempo real (RTF): {real_time_factor:.2f}\n"
161
 
162
  keep_len = calculate_keep_len(prompt, language)
@@ -166,13 +162,6 @@ def predict(
166
 
167
  except RuntimeError as e:
168
  if "device-side assert" in str(e):
169
- print(
170
- f"Exit due to: Unrecoverable exception caused by language:{language} prompt:{prompt}",
171
- flush=True,
172
- )
173
- gr.Warning("Se ha producido un error. Por favor, int茅ntalo de nuevo en un minuto.")
174
- print("Cuda device-assert Runtime encountered need restart")
175
-
176
  error_time = datetime.datetime.now().strftime("%d-%m-%Y-%H:%M:%S")
177
  error_data = [
178
  error_time,
@@ -181,14 +170,11 @@ def predict(
181
  audio_file_pth,
182
  ]
183
  error_data = [str(e) if type(e) != str else e for e in error_data]
184
- print(error_data)
185
- print(speaker_wav)
186
  write_io = StringIO()
187
  csv.writer(write_io).writerows([error_data])
188
  csv_upload = write_io.getvalue().encode()
189
 
190
  filename = error_time + "_" + str(uuid.uuid4()) + ".csv"
191
- print("Writing error csv")
192
  error_api = HfApi()
193
  error_api.upload_file(
194
  path_or_fileobj=csv_upload,
@@ -197,7 +183,6 @@ def predict(
197
  repo_type="dataset",
198
  )
199
 
200
- print("Writing error reference audio")
201
  speaker_filename = error_time + "_reference_" + str(uuid.uuid4()) + ".wav"
202
  error_api = HfApi()
203
  error_api.upload_file(
@@ -210,17 +195,13 @@ def predict(
210
  space = api.get_space_runtime(repo_id=repo_id)
211
  if space.stage != "BUILDING":
212
  api.restart_space(repo_id=repo_id)
213
- else:
214
- print("TRIED TO RESTART but space is building")
215
 
216
  else:
217
  if "Failed to decode" in str(e):
218
- print("Speaker encoding error", str(e))
219
  metrics_text = gr.Warning(
220
  metrics_text="Parece que hay un problema con la referencia de audio. 驴Has activado el micr贸fono?"
221
  )
222
  else:
223
- print("RuntimeError: non device-side assert error:", str(e))
224
  metrics_text = gr.Warning(
225
  "Se ha producido un error inesperado. Por favor, int茅ntalo de nuevo."
226
  )
 
20
  HF_TOKEN = None
21
  api = HfApi(token=HF_TOKEN)
22
 
 
23
  checkpoint_dir = "model/"
24
  repo_id = "capleaf/viXTTS"
25
  use_deepspeed = False
 
86
  return -1
87
 
88
 
89
+ @spaces.GPU(duration=0)
90
  def predict(
91
  prompt,
92
  language,
 
138
  if normalize_text and language == "vi":
139
  prompt = normalize_vietnamese_text(prompt)
140
 
 
141
  t0 = time.time()
142
  out = MODEL.inference(
143
  prompt,
 
149
  enable_text_splitting=True,
150
  )
151
  inference_time = time.time() - t0
 
152
  metrics_text += (
153
  f"Tiempo de generaci贸n de audio: {round(inference_time*1000)} milisegundos\n"
154
  )
155
  real_time_factor = (time.time() - t0) / out["wav"].shape[-1] * 24000
 
156
  metrics_text += f"Factor de tiempo real (RTF): {real_time_factor:.2f}\n"
157
 
158
  keep_len = calculate_keep_len(prompt, language)
 
162
 
163
  except RuntimeError as e:
164
  if "device-side assert" in str(e):
 
 
 
 
 
 
 
165
  error_time = datetime.datetime.now().strftime("%d-%m-%Y-%H:%M:%S")
166
  error_data = [
167
  error_time,
 
170
  audio_file_pth,
171
  ]
172
  error_data = [str(e) if type(e) != str else e for e in error_data]
 
 
173
  write_io = StringIO()
174
  csv.writer(write_io).writerows([error_data])
175
  csv_upload = write_io.getvalue().encode()
176
 
177
  filename = error_time + "_" + str(uuid.uuid4()) + ".csv"
 
178
  error_api = HfApi()
179
  error_api.upload_file(
180
  path_or_fileobj=csv_upload,
 
183
  repo_type="dataset",
184
  )
185
 
 
186
  speaker_filename = error_time + "_reference_" + str(uuid.uuid4()) + ".wav"
187
  error_api = HfApi()
188
  error_api.upload_file(
 
195
  space = api.get_space_runtime(repo_id=repo_id)
196
  if space.stage != "BUILDING":
197
  api.restart_space(repo_id=repo_id)
 
 
198
 
199
  else:
200
  if "Failed to decode" in str(e):
 
201
  metrics_text = gr.Warning(
202
  metrics_text="Parece que hay un problema con la referencia de audio. 驴Has activado el micr贸fono?"
203
  )
204
  else:
 
205
  metrics_text = gr.Warning(
206
  "Se ha producido un error inesperado. Por favor, int茅ntalo de nuevo."
207
  )