Rejekts commited on
Commit
6e5e145
1 Parent(s): 246ed8c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -8
app.py CHANGED
@@ -9,28 +9,32 @@ os.environ['weight_root']="assets/weights"
9
  from infer.modules.vc.modules import VC
10
  from configs.config import Config
11
  import torch
12
-
13
  config = Config()
14
  vc = VC(config)
15
 
 
 
 
 
16
  def load_model(model_picker,index_picker):
17
  logs = show_available("logs")
18
  if model_picker.replace(".pth","") in logs:
19
  log = model_picker.replace(".pth","")
20
  else:
21
  log = index_picker
22
- gr.Warning("Could not find a matching index file.")
23
  vc.get_vc(model_picker,0,0)
24
  return {"choices":logs,"value":log,"__type__": "update"}
25
 
26
  def convert(audio_picker,model_picker,index_picker,index_rate,pitch,method):
27
- gr.Warning("Your audio is being converted. Please wait.")
28
  now = datetime.now().strftime("%d%m%Y%H%M%S")
29
  index_files = glob.glob(f"logs/{index_picker}/*.index")
30
  if index_files:
31
  print(f"Found index: {index_files[0]}")
32
  else:
33
- gr.Warning("Sorry, I couldn't find your .index file.")
34
  print("Did not find a matching .index file")
35
  index_files = [f'logs/{model_picker}/fake_index.index']
36
  device = "cuda" if torch.cuda.is_available() else "cpu"
@@ -226,7 +230,7 @@ def upload_file(file):
226
  os.remove(f'audios/{filename}')
227
  shutil.move(file_path,'audios')
228
  else:
229
- gr.Warning('File incompatible')
230
  return {"choices":show_available('audios'),"__type__": "update","value":filename}
231
 
232
  def refresh():
@@ -271,9 +275,15 @@ with gr.Blocks() as app:
271
  with gr.TabItem("2.Choose an audio file:"):
272
  recorder = gr.Microphone(label="Record audio here...",type='filepath')
273
  audio_picker = gr.Dropdown(label="",choices=show_available('audios'),value='',interactive=True)
274
- recorder.stop_recording(upload_file, inputs=[recorder],outputs=[audio_picker])
 
 
 
275
  with gr.TabItem("(Or upload a new file here)"):
276
- dropbox = gr.File(label="Drop an audio here.",file_types=['.wav', '.mp3', '.ogg', '.flac', '.aac'], type="filepath")
 
 
 
277
  dropbox.upload(fn=upload_file, inputs=[dropbox],outputs=[audio_picker])
278
  audio_refresher = gr.Button("Refresh")
279
  audio_refresher.click(fn=refresh,inputs=[],outputs=[audio_picker,model_picker,index_picker])
@@ -284,4 +294,4 @@ with gr.Blocks() as app:
284
  audio_picker.change(fn=update_audio_player, inputs=[audio_picker],outputs=[audio_player])
285
  convert_button.click(convert, inputs=inputs,outputs=[audio_picker,audio_player])
286
 
287
- app.queue(max_size=20).launch(debug=True)
 
9
  from infer.modules.vc.modules import VC
10
  from configs.config import Config
11
  import torch
12
+ os.makedirs(os.path.join(".", "audios"), exist_ok=True)
13
  config = Config()
14
  vc = VC(config)
15
 
16
+ def warn(text):
17
+ try: gr.Warning(text)
18
+ except: pass
19
+
20
  def load_model(model_picker,index_picker):
21
  logs = show_available("logs")
22
  if model_picker.replace(".pth","") in logs:
23
  log = model_picker.replace(".pth","")
24
  else:
25
  log = index_picker
26
+ warn("Could not find a matching index file.")
27
  vc.get_vc(model_picker,0,0)
28
  return {"choices":logs,"value":log,"__type__": "update"}
29
 
30
  def convert(audio_picker,model_picker,index_picker,index_rate,pitch,method):
31
+ warn("Your audio is being converted. Please wait.")
32
  now = datetime.now().strftime("%d%m%Y%H%M%S")
33
  index_files = glob.glob(f"logs/{index_picker}/*.index")
34
  if index_files:
35
  print(f"Found index: {index_files[0]}")
36
  else:
37
+ warn("Sorry, I couldn't find your .index file.")
38
  print("Did not find a matching .index file")
39
  index_files = [f'logs/{model_picker}/fake_index.index']
40
  device = "cuda" if torch.cuda.is_available() else "cpu"
 
230
  os.remove(f'audios/{filename}')
231
  shutil.move(file_path,'audios')
232
  else:
233
+ warn('File incompatible')
234
  return {"choices":show_available('audios'),"__type__": "update","value":filename}
235
 
236
  def refresh():
 
275
  with gr.TabItem("2.Choose an audio file:"):
276
  recorder = gr.Microphone(label="Record audio here...",type='filepath')
277
  audio_picker = gr.Dropdown(label="",choices=show_available('audios'),value='',interactive=True)
278
+ try:
279
+ recorder.stop_recording(upload_file, inputs=[recorder],outputs=[audio_picker])
280
+ except:
281
+ recorder.upload(upload_file, inputs=[recorder],outputs=[audio_picker])
282
  with gr.TabItem("(Or upload a new file here)"):
283
+ try:
284
+ dropbox = gr.File(label="Drop an audio here.",file_types=['.wav', '.mp3', '.ogg', '.flac', '.aac'], type="filepath")
285
+ except:#Version Compatibiliy
286
+ dropbox = gr.File(label="Drop an audio here.",file_types=['.wav', '.mp3', '.ogg', '.flac', '.aac'], type="file")
287
  dropbox.upload(fn=upload_file, inputs=[dropbox],outputs=[audio_picker])
288
  audio_refresher = gr.Button("Refresh")
289
  audio_refresher.click(fn=refresh,inputs=[],outputs=[audio_picker,model_picker,index_picker])
 
294
  audio_picker.change(fn=update_audio_player, inputs=[audio_picker],outputs=[audio_player])
295
  convert_button.click(convert, inputs=inputs,outputs=[audio_picker,audio_player])
296
 
297
+ app.queue(max_size=20).launch(debug=True,share=True)