mj-new commited on
Commit
f1caf3c
1 Parent(s): d136bc2

Added counter with the number of recordings left

Browse files
Files changed (1) hide show
  1. app.py +21 -12
app.py CHANGED
@@ -44,14 +44,14 @@ def get_unique_name():
44
  return ''.join([random.choice(string.ascii_letters
45
  + string.digits) for n in range(32)])
46
 
47
- def get_prompts(domain, size, language_code):
48
  print(f"Retrieving prompts for domain {domain} with method: {type} for language_code {language_code} of size {size}")
49
  size = int(size)
50
  promptset = dict_promptset[domain][0:size]
51
-
52
- return(promptset, promptset[0])
53
 
54
- def save_recording_and_meta(project_name, recording, prompt_text, language_code, spk_name, spk_age, spk_accent, spk_city, spk_gender, spk_nativity, promptset, prompt_number):
55
  #, name, age, gender):
56
  # TODO save user data in the next version
57
 
@@ -141,7 +141,9 @@ def save_recording_and_meta(project_name, recording, prompt_text, language_code,
141
  # get next prompt
142
  prompt = promptset[prompt_number]
143
 
144
- return [prompt, prompt_number, None]
 
 
145
 
146
 
147
  def whisper_model_change(radio_whisper_model):
@@ -236,6 +238,7 @@ with block:
236
  spk_city = gr.State("unknown")
237
  spk_gender = gr.State("unknown")
238
  spk_nativity = gr.State("unknown")
 
239
  cities = sorted(dict_origin["Poland"]["cities"])
240
 
241
 
@@ -302,6 +305,10 @@ with block:
302
  whisper_model = init_whisper_model(whisper_model_type)
303
  return [whisper_model_type, whisper_model]
304
 
 
 
 
 
305
  gr.Markdown(markdown)
306
 
307
  with gr.Tabs():
@@ -380,19 +387,21 @@ with block:
380
  with gr.Accordion(label="Promptset settings"):
381
  radio_prompts_domain = gr.Dropdown(["bridge"], label="Select promptset domain", info="")
382
  #radio_promptset_type = gr.Radio(["New promptset generation", "Existing promptset use"], label="Language", value ="Existing promptset use", info="New promptset is generated using. Requires providing open AI key in general settings tab")
383
- var_promptset_size = gr.Textbox(label="Specify number of prompts (min 10, max 200)")
384
- button_get_prompts = gr.Button("Save settings and get first prompt to record")
385
 
386
- prompt_text = gr.Textbox(placeholder='Prompt to be recorded',label="Prompt to be read during recording")
387
- speech_recording = gr.Audio(source="microphone",label="Select 'record from microphone' and read prompt displayed above", type="filepath")
 
388
 
389
  radio_prompts_domain.change(fn=change_domain, inputs=radio_prompts_domain, outputs=domain)
390
  #radio_promptset_type.change(fn=change_prompts_type, inputs=radio_promptset_type, outputs=prompts_type)
 
391
 
392
- button_save_and_next = gr.Button("Save audio recording and move to the next prompt")
393
  # TODO - add option to generate new promptset on the fly for new domains
394
- button_get_prompts.click(get_prompts, inputs=[radio_prompts_domain, var_promptset_size, language_code], outputs = [promptset, prompt_text])
395
 
396
- button_save_and_next.click(save_recording_and_meta, inputs=[project_name, speech_recording, prompt_text, language_code, spk_name, spk_age, spk_accent, spk_city, spk_gender, spk_nativity, promptset, prompt_number], outputs=[prompt_text, prompt_number, speech_recording])
397
 
398
  block.launch()
 
44
  return ''.join([random.choice(string.ascii_letters
45
  + string.digits) for n in range(32)])
46
 
47
+ def get_prompts(domain, size, language_code,prompts_left_info):
48
  print(f"Retrieving prompts for domain {domain} with method: {type} for language_code {language_code} of size {size}")
49
  size = int(size)
50
  promptset = dict_promptset[domain][0:size]
51
+ prompts_left_info = size
52
+ return(promptset, promptset[0],prompts_left_info)
53
 
54
+ def save_recording_and_meta(project_name, recording, prompt_text, language_code, spk_name, spk_age, spk_accent, spk_city, spk_gender, spk_nativity, promptset, prompt_number, prompts_left_info):
55
  #, name, age, gender):
56
  # TODO save user data in the next version
57
 
 
141
  # get next prompt
142
  prompt = promptset[prompt_number]
143
 
144
+ prompts_left_info = prompts_left_info - 1
145
+
146
+ return [prompt, prompt_number, None, prompts_left_info]
147
 
148
 
149
  def whisper_model_change(radio_whisper_model):
 
238
  spk_city = gr.State("unknown")
239
  spk_gender = gr.State("unknown")
240
  spk_nativity = gr.State("unknown")
241
+ spk_name = gr.State("unknown")
242
  cities = sorted(dict_origin["Poland"]["cities"])
243
 
244
 
 
305
  whisper_model = init_whisper_model(whisper_model_type)
306
  return [whisper_model_type, whisper_model]
307
 
308
+ def change_prompts_left(prompts_left, current_prompt, promptset_size):
309
+ prompts_left = promptset_size - current_prompt
310
+ return [prompts_left]
311
+
312
  gr.Markdown(markdown)
313
 
314
  with gr.Tabs():
 
387
  with gr.Accordion(label="Promptset settings"):
388
  radio_prompts_domain = gr.Dropdown(["bridge"], label="Select promptset domain", info="")
389
  #radio_promptset_type = gr.Radio(["New promptset generation", "Existing promptset use"], label="Language", value ="Existing promptset use", info="New promptset is generated using. Requires providing open AI key in general settings tab")
390
+ var_promptset_size = gr.Textbox(label="How many recordings you want to make? (max 200)")
391
+ button_get_prompts = gr.Button("Save settings and get a first prompt")
392
 
393
+ prompts_left_info = gr.Number(placeholder='',label="Recordings left",lines=1, max_lines=1, show_label=True, interactive=False)
394
+ prompt_text = gr.Textbox(placeholder='Prompt to read during recording',label="Prompt to be read during recording")
395
+ speech_recording = gr.Audio(source="microphone",label="Select 'record from microphone' and read the prompt displayed above", type="filepath")
396
 
397
  radio_prompts_domain.change(fn=change_domain, inputs=radio_prompts_domain, outputs=domain)
398
  #radio_promptset_type.change(fn=change_prompts_type, inputs=radio_promptset_type, outputs=prompts_type)
399
+ #prompts_left.change(change_prompts_left, inputs = [prompts_left, current_prompt, var_promptset_size], outputs = [prompts_left])
400
 
401
+ button_save_and_next = gr.Button("Save recording and get the next prompt")
402
  # TODO - add option to generate new promptset on the fly for new domains
403
+ button_get_prompts.click(get_prompts, inputs=[radio_prompts_domain, var_promptset_size, language_code, prompts_left_info], outputs = [promptset, prompt_text, prompts_left_info])
404
 
405
+ button_save_and_next.click(save_recording_and_meta, inputs=[project_name, speech_recording, prompt_text, language_code, spk_name, spk_age, spk_accent, spk_city, spk_gender, spk_nativity, promptset, prompt_number, prompts_left_info], outputs=[prompt_text, prompt_number, speech_recording,prompts_left_info])
406
 
407
  block.launch()