txya900619 commited on
Commit
a731f03
·
1 Parent(s): 29c7e98

feat: add dynamic example loading based on language selection

Browse files
app.py CHANGED
@@ -117,6 +117,8 @@ def load_f5tts(ckpt_path, vocab_path, old=False, fp16=False):
117
  OmegaConf.register_new_resolver("load_f5tts", load_f5tts)
118
 
119
  models_config = OmegaConf.to_object(OmegaConf.load("configs/models.yaml"))
 
 
120
 
121
 
122
  DEFAULT_MODEL_ID = list(models_config.keys())[0]
@@ -322,34 +324,30 @@ with demo:
322
  ],
323
  outputs=[audio_output, spectrogram_output],
324
  )
325
- gr.Examples(
326
- [
327
- [
328
- "阿美_秀姑巒",
329
- "./ref_wav/E-PV001-0001.wav",
330
- "o pakafanaʼ ni akong to pinangan no romiʼad.",
331
- "Mafanaʼ kiso a misanoPangcah haw?",
332
- ],
333
- [
334
- "阿美_秀姑巒",
335
- "./ref_wav/E-PV001-0001.wav",
336
- "o pakafanaʼ ni akong to pinangan no romiʼad.",
337
- "Kering sa masoni⌃ to ko pipahanhanan a tatokian, o fe:soc no niyam a tayra i piondoan.",
338
- ],
339
- [
340
- "阿美_秀姑巒",
341
- "./ref_wav/cu_practice-0016849.wav",
342
- "ano cikasoan to, ano o falangaw to i, malecaday to a matira.",
343
- "Pafelien cingra to misapoeneray a falocoʼ, nanay madaʼoc matilid i falocoʼ nira konini.",
344
- ],
345
- ],
346
  label="範例",
347
  inputs=[
348
- language,
349
  ref_audio_input,
350
  ref_text_input,
351
  gen_text_input,
352
  ],
353
  )
354
 
 
 
 
 
 
 
 
355
  demo.launch()
 
117
  OmegaConf.register_new_resolver("load_f5tts", load_f5tts)
118
 
119
  models_config = OmegaConf.to_object(OmegaConf.load("configs/models.yaml"))
120
+ refs_config = OmegaConf.to_object(OmegaConf.load("configs/refs.yaml"))
121
+ examples_config = OmegaConf.to_object(OmegaConf.load("configs/examples.yaml"))
122
 
123
 
124
  DEFAULT_MODEL_ID = list(models_config.keys())[0]
 
324
  ],
325
  outputs=[audio_output, spectrogram_output],
326
  )
327
+
328
+ def get_examples_by_language(language):
329
+ if language not in examples_config:
330
+ return []
331
+ return [
332
+ [refs_config[ex["ref"]]["wav"], refs_config[ex["ref"]]["text"], ex["text"]]
333
+ for ex in examples_config[language]
334
+ ]
335
+
336
+ examples = gr.Examples(
337
+ get_examples_by_language(language.value),
 
 
 
 
 
 
 
 
 
 
338
  label="範例",
339
  inputs=[
 
340
  ref_audio_input,
341
  ref_text_input,
342
  gen_text_input,
343
  ],
344
  )
345
 
346
+ language.change(
347
+ lambda language: gr.Dataset(samples=get_examples_by_language(language)),
348
+ language,
349
+ examples.dataset,
350
+ )
351
+
352
+
353
  demo.launch()
{ref_wav → assets/ref_wav}/E-PV001-0001.wav RENAMED
File without changes
{ref_wav → assets/ref_wav}/cu_practice-0016849.wav RENAMED
File without changes
configs/examples.yaml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ 阿美_秀姑巒:
2
+ - ref: 阿美_秀姑巒_1
3
+ text: Mafanaʼ kiso a misanoPangcah haw?
4
+ - ref: 阿美_秀姑巒_1
5
+ text: Kering sa masoni⌃ to ko pipahanhanan a tatokian, o fe:soc no niyam a tayra i piondoan.
6
+ - ref: 阿美_秀姑巒_2
7
+ text: Pafelien cingra to misapoeneray a falocoʼ, nanay madaʼoc matilid i falocoʼ nira konini.
configs/refs.yaml ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ 阿美_秀姑巒_1:
2
+ text: o pakafanaʼ ni akong to pinangan no romiʼad.
3
+ wav: ./assets/ref_wav/E-PV001-0001.wav
4
+
5
+ 阿美_秀姑巒_2:
6
+ text: ano cikasoan to, ano o falangaw to i, malecaday to a matira.
7
+ wav: ./assets/ref_wav/cu_practice-0016849.wav