Gregniuki commited on
Commit
bae184f
·
1 Parent(s): 19abe1c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +20 -6
app.py CHANGED
@@ -38,9 +38,9 @@ data = {
38
  "speaker_options": ["en","en-us","en-029","n-gb-x-gbclan","en-gb-x-rp","en-gb-scotland","en-gb-gbcwmd", "es", "de", "pl","ar","be","bn","bpy","bs","bg","ca","yue","hak","haw","cmn","hr","cs","da","nl","eo","et","fa","fa-latn","fi","fr-be","fr","ga","gd","ka","grc","el","kl","gn","gu","ht","he","hi","hu","id","io","it","ja","kn","kok","ko","ku","kk","ky","la","lb","ltg","lv","lfn","lt","jbo","mi","mk","ms","ml","mt","mr","nci","ne","nb","nog","or","om","pap","pt-br","pt","ro","ru","ru-lv","uk","sjn","sr","tn","sd","shn","si","sk","sl","es","es-419","sw","sv","ta","th","tk","tt","te","tr","ug","ur","uz","vi-vn-x-central","vi","vi0vn-x-south"],
39
  "default_speaker": "en",
40
  }
41
- @app.get("/", response_class=HTMLResponse)
42
- async def read_root(request: Request):
43
- return templates.TemplateResponse("interface.html", {"request": request, "data": data})
44
 
45
  import json
46
  import logging
@@ -114,13 +114,13 @@ renamed_audio_file = None
114
  #@app.post("/", response_class=FileResponse)
115
  @app.post("/", response_class=HTMLResponse)
116
  async def main(
117
- request: Request,
118
  text_input: str = Form(...),
119
  speaker: str = Form(...),
120
  speed_slider: float = Form(...),
121
  noise_scale_slider: float = Form(...),
122
  noise_scale_w_slider: float = Form(...),
123
- play: bool = Form(True)
 
124
  ):
125
  """Main entry point"""
126
  sys.path.append('./content/piper/src/python')
@@ -148,6 +148,13 @@ async def main(
148
  playaudio("novoices")
149
  raise Exception(lan.translate(lang, "No downloaded voice packages!"))
150
  elif isinstance(onnx_models, str):
 
 
 
 
 
 
 
151
  onnx_model = onnx_models
152
  model, config = load_onnx(onnx_model, sess_options, providers)
153
  config["espeak"]["voice"] = speaker
@@ -195,6 +202,13 @@ async def main(
195
 
196
  # Create a URL to download the file
197
  file_url = f'/download?fileId={file_id}'
 
 
 
 
 
 
 
198
  # os.rename(temp_audio_file, renamed_audio_file)
199
 
200
  # Specify the path to your MP3 audio file
@@ -255,7 +269,7 @@ async def main(
255
 
256
 
257
  # Save the audio as a temporary WAV file
258
- return templates.TemplateResponse("interface.html", {"request": request, "file_url": file_url, "data": data})
259
 
260
  # Serve the audio file with the correct media type
261
  # return FileResponse(renamed_audio_file)
 
38
  "speaker_options": ["en","en-us","en-029","n-gb-x-gbclan","en-gb-x-rp","en-gb-scotland","en-gb-gbcwmd", "es", "de", "pl","ar","be","bn","bpy","bs","bg","ca","yue","hak","haw","cmn","hr","cs","da","nl","eo","et","fa","fa-latn","fi","fr-be","fr","ga","gd","ka","grc","el","kl","gn","gu","ht","he","hi","hu","id","io","it","ja","kn","kok","ko","ku","kk","ky","la","lb","ltg","lv","lfn","lt","jbo","mi","mk","ms","ml","mt","mr","nci","ne","nb","nog","or","om","pap","pt-br","pt","ro","ru","ru-lv","uk","sjn","sr","tn","sd","shn","si","sk","sl","es","es-419","sw","sv","ta","th","tk","tt","te","tr","ug","ur","uz","vi-vn-x-central","vi","vi0vn-x-south"],
39
  "default_speaker": "en",
40
  }
41
+ #@app.get("/", response_class=HTMLResponse)
42
+ #async def read_root(request: Request):
43
+ # return templates.TemplateResponse("interface.html", {"request": request, "data": data})
44
 
45
  import json
46
  import logging
 
114
  #@app.post("/", response_class=FileResponse)
115
  @app.post("/", response_class=HTMLResponse)
116
  async def main(
 
117
  text_input: str = Form(...),
118
  speaker: str = Form(...),
119
  speed_slider: float = Form(...),
120
  noise_scale_slider: float = Form(...),
121
  noise_scale_w_slider: float = Form(...),
122
+ play: bool = Form(True),
123
+ request: Request
124
  ):
125
  """Main entry point"""
126
  sys.path.append('./content/piper/src/python')
 
148
  playaudio("novoices")
149
  raise Exception(lan.translate(lang, "No downloaded voice packages!"))
150
  elif isinstance(onnx_models, str):
151
+ # Show loading message and disable the form
152
+ response_html = """
153
+ <div id="loading-message">Generating your audio, please wait...</div>
154
+ <script>
155
+ document.getElementById("synthesize_button").disabled = true;
156
+ </script>
157
+ """
158
  onnx_model = onnx_models
159
  model, config = load_onnx(onnx_model, sess_options, providers)
160
  config["espeak"]["voice"] = speaker
 
202
 
203
  # Create a URL to download the file
204
  file_url = f'/download?fileId={file_id}'
205
+ # Restore the form and return the response
206
+ response_html += """
207
+ <script>
208
+ document.getElementById("loading-message").innerText = "Audio generated successfully!";
209
+ document.getElementById("synthesize_button").disabled = false;
210
+ </script>
211
+ """
212
  # os.rename(temp_audio_file, renamed_audio_file)
213
 
214
  # Specify the path to your MP3 audio file
 
269
 
270
 
271
  # Save the audio as a temporary WAV file
272
+ return templates.TemplateResponse("interface.html", {"request": request, "file_url": file_url, "data": data, "dynamic_content": response_html})
273
 
274
  # Serve the audio file with the correct media type
275
  # return FileResponse(renamed_audio_file)