Slava917 commited on
Commit
82696f4
1 Parent(s): 99571c0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -4
app.py CHANGED
@@ -42,12 +42,18 @@ def similar(a, b):
42
  return SequenceMatcher(None, a, b).ratio()
43
 
44
  def compare(chosen_word, path):
45
- etalon = list(df.loc[df['replica'] == chosen_word, 'transcription'].values[0].split('.'))
46
  user = predict(path)
47
- coeff = similar(user, etalon)
48
- return f'Коэффицент схожести вашего произношения и произношения носителя {coeff}. Чем ближе коэффицент к единице, тем лучше.' + '\nВаше произношение: [' + ''.join(user) + ']\nПроизноешение носителя: [' + ''.join(etalon) + ']'
 
 
 
 
 
 
49
 
50
 
51
- word_choice = gr.inputs.Dropdown(list(df['replica'].unique()), label="Choose a word")
52
 
53
  gr.Interface(fn=compare, inputs=[word_choice, gr.inputs.Audio(source='microphone', type='filepath', optional=True)], outputs= 'text').launch(debug=True)
 
42
  return SequenceMatcher(None, a, b).ratio()
43
 
44
  def compare(chosen_word, path):
45
+ etalons = [list(val.split('.')) for val in df.loc[df['replica'] == chosen_word, 'transcription'].values]
46
  user = predict(path)
47
+ coeff = 0.0
48
+ idx=0
49
+ for i in range(len(etalons)):
50
+ new_coeff = similar(user, etalons[i])
51
+ if new_coeff > coeff:
52
+ coeff = new_coeff
53
+ idx=i
54
+ return f'Коэффицент схожести вашего произношения и произношения носителя {coeff}. Чем ближе коэффицент к единице, тем лучше.' + '\nВаше произношение: [' + ''.join(user) + ']\nПроизноешение носителя: [' + ''.join(etalons[idx]) + ']'
55
 
56
 
57
+ word_choice = gr.inputs.Dropdown(sorted(list(df['replica'].unique()), label="Choose a word"))
58
 
59
  gr.Interface(fn=compare, inputs=[word_choice, gr.inputs.Audio(source='microphone', type='filepath', optional=True)], outputs= 'text').launch(debug=True)