hagenw commited on
Commit
f6665ab
1 Parent(s): 72beafb

Try to fix input error

Browse files
Files changed (1) hide show
  1. app.py +11 -4
app.py CHANGED
@@ -102,16 +102,21 @@ def process_func(x: np.ndarray, sampling_rate: int) -> dict:
102
 
103
 
104
  @spaces.GPU
105
- def recognize(file):
106
- if file is None:
 
 
 
 
107
  raise gr.Error(
108
  "No audio file submitted! "
109
  "Please upload or record an audio file "
110
  "before submitting your request."
111
  )
112
- signal, sampling_rate = audiofile.read(file, duration=duration)
113
  target_rate = 16000
114
  signal = audresample.resample(signal, sampling_rate, target_rate)
 
115
  age_gender = process_func(signal, target_rate)
116
  age = f"{round(age_gender['age'])} years"
117
  gender = {k: v for k, v in age_gender.items() if k != "age"}
@@ -198,9 +203,11 @@ with gr.Blocks() as demo:
198
  inputs = [input_microphone, input_file]
199
  outputs = [output_age, output_gender]
200
 
201
- submit_btn.click(recognize, [input_file], outputs)
202
  input_selection.change(toggle_input, input_selection, inputs)
203
  input_microphone.change(lambda x: x, input_microphone, outputs)
204
  input_file.change(lambda x: x, input_file, outputs)
205
 
 
 
 
206
  demo.launch(debug=True)
 
102
 
103
 
104
  @spaces.GPU
105
+ def recognize(input_microphone, input_file):
106
+ if input_microphone:
107
+ sampling_rate, signal = input_microphone
108
+ elif input_file:
109
+ signal, sampling_rate = audiofile.read(file, duration=duration)
110
+ else::
111
  raise gr.Error(
112
  "No audio file submitted! "
113
  "Please upload or record an audio file "
114
  "before submitting your request."
115
  )
116
+ # Resample to sampling rate supported byu the models
117
  target_rate = 16000
118
  signal = audresample.resample(signal, sampling_rate, target_rate)
119
+
120
  age_gender = process_func(signal, target_rate)
121
  age = f"{round(age_gender['age'])} years"
122
  gender = {k: v for k, v in age_gender.items() if k != "age"}
 
203
  inputs = [input_microphone, input_file]
204
  outputs = [output_age, output_gender]
205
 
 
206
  input_selection.change(toggle_input, input_selection, inputs)
207
  input_microphone.change(lambda x: x, input_microphone, outputs)
208
  input_file.change(lambda x: x, input_file, outputs)
209
 
210
+ submit_btn.click(recognize, inputs, outputs)
211
+
212
+
213
  demo.launch(debug=True)