Banafo commited on
Commit
26d187a
·
verified ·
1 Parent(s): 2ed03fc

Upload 10 files

Browse files
Files changed (10) hide show
  1. app.py +169 -0
  2. en_decoder.onnx +3 -0
  3. en_encoder.onnx +3 -0
  4. en_joiner.onnx +3 -0
  5. en_tokens.txt +652 -0
  6. fr_decoder.onnx +3 -0
  7. fr_encoder.onnx +3 -0
  8. fr_joiner.onnx +3 -0
  9. fr_tokens.txt +653 -0
  10. requirements.txt +5 -0
app.py ADDED
@@ -0,0 +1,169 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import numpy as np
2
+ import gradio as gr
3
+ import torchaudio
4
+ import torch
5
+ from sherpa_onnx import OnlineRecognizer
6
+ import time
7
+
8
+ # Initialize the recognizer
9
+ recognizer_en = OnlineRecognizer.from_transducer(
10
+ tokens="en_tokens.txt",
11
+ encoder="en_encoder.onnx",
12
+ decoder="en_decoder.onnx",
13
+ joiner="en_joiner.onnx",
14
+ num_threads=1,
15
+ decoding_method="modified_beam_search",
16
+ debug=False
17
+ )
18
+
19
+ recognizer_fr = OnlineRecognizer.from_transducer(
20
+ tokens="fr_tokens.txt",
21
+ encoder="fr_encoder.onnx",
22
+ decoder="fr_decoder.onnx",
23
+ joiner="fr_joiner.onnx",
24
+ num_threads=1,
25
+ decoding_method="modified_beam_search",
26
+ debug=False
27
+ )
28
+
29
+ def transcribe_audio_online_streaming(file, language):
30
+ """Generator for file transcription"""
31
+ if file is None:
32
+ yield "Please upload an audio file."
33
+ return
34
+
35
+ try:
36
+ match language:
37
+ case "English":
38
+ recognizer = recognizer_en
39
+ case "French":
40
+ recognizer = recognizer_fr
41
+
42
+ waveform, sample_rate = torchaudio.load(file.name)
43
+ if sample_rate != 16000:
44
+ resampler = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=16000)
45
+ waveform = resampler(waveform)
46
+ sample_rate = 16000
47
+
48
+ waveform_np = waveform.numpy()[0]
49
+ total_samples = waveform_np.shape[0]
50
+
51
+ s = recognizer.create_stream()
52
+ chunk_size = 4000 # 0.25-second chunks
53
+ offset = 0
54
+
55
+ while offset < total_samples:
56
+ end = offset + chunk_size
57
+ chunk = waveform_np[offset:end]
58
+ s.accept_waveform(sample_rate, chunk.tolist())
59
+
60
+ while recognizer.is_ready(s):
61
+ recognizer.decode_streams([s])
62
+
63
+ yield recognizer.get_result(s)
64
+ offset += chunk_size
65
+
66
+ # Final processing
67
+ tail_paddings = np.zeros(int(0.66 * sample_rate), dtype=np.float32)
68
+ s.accept_waveform(sample_rate, tail_paddings.tolist())
69
+ s.input_finished()
70
+
71
+ while recognizer.is_ready(s):
72
+ recognizer.decode_streams([s])
73
+
74
+ yield recognizer.get_result(s)
75
+
76
+ except Exception as e:
77
+ yield f"Error: {e}"
78
+
79
+ def transcribe_microphone_stream(audio_chunk, stream_state, language):
80
+ """Real-time microphone streaming transcription"""
81
+ try:
82
+ match language:
83
+ case "English":
84
+ recognizer = recognizer_en
85
+ case "French":
86
+ recognizer = recognizer_fr
87
+
88
+ if audio_chunk is None: # End of stream
89
+ if stream_state is not None:
90
+ # Flush remaining audio
91
+ tail_paddings = np.zeros(int(0.66 * 16000), dtype=np.float32)
92
+ stream_state.accept_waveform(16000, tail_paddings.tolist())
93
+ stream_state.input_finished()
94
+ while recognizer.is_ready(stream_state):
95
+ recognizer.decode_streams([stream_state])
96
+ final_text = recognizer.get_result(stream_state)
97
+ return final_text, None
98
+ return "", None
99
+
100
+ sample_rate, waveform_np = audio_chunk
101
+
102
+ # Resample if needed
103
+ if sample_rate != 16000:
104
+ waveform = torch.from_numpy(waveform_np).float().unsqueeze(0)
105
+ resampler = torchaudio.transforms.Resample(orig_freq=sample_rate, new_freq=16000)
106
+ waveform = resampler(waveform)
107
+ waveform_np = waveform.squeeze(0).numpy()
108
+ sample_rate = 16000
109
+
110
+ # Initialize stream if first chunk
111
+ if stream_state is None:
112
+ stream_state = recognizer.create_stream()
113
+
114
+ # Process audio chunk
115
+ stream_state.accept_waveform(sample_rate, waveform_np.tolist())
116
+
117
+ # Decode available frames
118
+ while recognizer.is_ready(stream_state):
119
+ recognizer.decode_streams([stream_state])
120
+
121
+ current_text = recognizer.get_result(stream_state)
122
+
123
+ return current_text, stream_state
124
+
125
+ except Exception as e:
126
+ print(f"Stream error: {e}")
127
+ return str(e), stream_state
128
+
129
+ def create_app():
130
+ with gr.Blocks() as app:
131
+ gr.Markdown("# Real-time Speech Recognition")
132
+ language_choice = gr.Radio(choices=["English", "French"], label="Select Language", value="English")
133
+
134
+ with gr.Tabs():
135
+ with gr.Tab("File Transcription"):
136
+ gr.Markdown("Upload an audio file for streaming transcription")
137
+ file_input = gr.File(label="Audio File", type="filepath")
138
+ file_output = gr.Textbox(label="Transcription")
139
+ transcribe_btn = gr.Button("Transcribe")
140
+ transcribe_btn.click(lambda: "", outputs=file_output).then(
141
+ transcribe_audio_online_streaming,
142
+ inputs=[file_input, language_choice],
143
+ outputs=file_output
144
+ )
145
+
146
+ with gr.Tab("Live Microphone"):
147
+ gr.Markdown("Speak into your microphone for real-time transcription")
148
+ mic = gr.Audio(
149
+ sources=["microphone"],
150
+ streaming=True,
151
+ type="numpy",
152
+ label="Live Input",
153
+ show_download_button=False
154
+ )
155
+ live_output = gr.Textbox(label="Live Transcription")
156
+ state = gr.State()
157
+
158
+ mic.stream(
159
+ transcribe_microphone_stream,
160
+ inputs=[mic, state, language_choice],
161
+ outputs=[live_output, state],
162
+ show_progress="hidden"
163
+ )
164
+
165
+ return app
166
+
167
+ if __name__ == "__main__":
168
+ app = create_app()
169
+ app.launch()
en_decoder.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:455ba38466fce8d5a57e7db68a323b684079ca4d9e1dd93a740d9b2429aae3b1
3
+ size 617488
en_encoder.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d4881c57449d581e0770fd53fa66c2fdc6cd167d92ece7c715e603defc96d9d4
3
+ size 70092599
en_joiner.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d406f616736350e2a7df3e39398b78eb2fc1a2ca6973a19d3853fa3227e25b52
3
+ size 336817
en_tokens.txt ADDED
@@ -0,0 +1,652 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <blk> 0
2
+ <sos/eos> 1
3
+ <unk> 2
4
+ s 3
5
+ ▁the 4
6
+ t 5
7
+ , 6
8
+ . 7
9
+ ▁a 8
10
+ ▁to 9
11
+ ' 10
12
+ e 11
13
+ ▁and 12
14
+ ▁ 13
15
+ ing 14
16
+ ▁of 15
17
+ y 16
18
+ n 17
19
+ a 18
20
+ d 19
21
+ o 20
22
+ ▁you 21
23
+ ▁that 22
24
+ ▁I 23
25
+ ▁in 24
26
+ i 25
27
+ ed 26
28
+ ▁it 27
29
+ re 28
30
+ m 29
31
+ r 30
32
+ p 31
33
+ ▁is 32
34
+ al 33
35
+ ▁we 34
36
+ g 35
37
+ er 36
38
+ ▁s 37
39
+ or 38
40
+ u 39
41
+ c 40
42
+ ar 41
43
+ f 42
44
+ in 43
45
+ b 44
46
+ ▁this 45
47
+ ▁for 46
48
+ ll 47
49
+ ▁be 48
50
+ ▁so 49
51
+ ▁re 50
52
+ l 51
53
+ ▁c 52
54
+ k 53
55
+ w 54
56
+ le 55
57
+ ▁on 56
58
+ h 57
59
+ ve 58
60
+ ▁do 59
61
+ es 60
62
+ ly 61
63
+ ri 62
64
+ ▁have 63
65
+ it 64
66
+ ▁b 65
67
+ ▁w 66
68
+ ▁with 67
69
+ ▁f 68
70
+ ▁e 69
71
+ ▁can 70
72
+ ▁p 71
73
+ ▁are 72
74
+ ▁was 73
75
+ ent 74
76
+ ur 75
77
+ on 76
78
+ ce 77
79
+ ▁i 78
80
+ ▁like 79
81
+ ▁st 80
82
+ ▁A 81
83
+ an 82
84
+ ▁he 83
85
+ ▁t 84
86
+ ch 85
87
+ ▁me 86
88
+ ra 87
89
+ ▁or 88
90
+ en 89
91
+ ic 90
92
+ ▁not 91
93
+ - 92
94
+ ▁S 93
95
+ ▁but 94
96
+ ▁just 95
97
+ ▁as 96
98
+ th 97
99
+ ter 98
100
+ ▁they 99
101
+ ▁what 100
102
+ ▁de 101
103
+ ation 102
104
+ ro 103
105
+ ver 104
106
+ ck 105
107
+ ▁your 106
108
+ E 107
109
+ te 108
110
+ ▁The 109
111
+ ▁all 110
112
+ ▁C 111
113
+ ▁know 112
114
+ se 113
115
+ il 114
116
+ ▁at 115
117
+ ▁d 116
118
+ ad 117
119
+ ▁ca 118
120
+ ▁one 119
121
+ A 120
122
+ ▁my 121
123
+ ▁So 122
124
+ el 123
125
+ ▁there 124
126
+ ▁And 125
127
+ ▁if 126
128
+ lo 127
129
+ at 128
130
+ ▁g 129
131
+ ate 130
132
+ ▁about 131
133
+ ▁go 132
134
+ T 133
135
+ ? 134
136
+ S 135
137
+ ▁up 136
138
+ ▁ma 137
139
+ la 138
140
+ ▁out 139
141
+ ▁get 140
142
+ ▁an 141
143
+ ▁from 142
144
+ ▁se 143
145
+ ▁T 144
146
+ ir 145
147
+ O 146
148
+ x 147
149
+ I 148
150
+ ▁see 149
151
+ ▁co 150
152
+ ment 151
153
+ ▁mo 152
154
+ us 153
155
+ as 154
156
+ et 155
157
+ ▁going 156
158
+ ng 157
159
+ ▁some 158
160
+ he 159
161
+ ▁M 160
162
+ hi 161
163
+ ▁here 162
164
+ li 163
165
+ ▁con 164
166
+ ▁B 165
167
+ ▁ho 166
168
+ ▁pa 167
169
+ ▁P 168
170
+ me 169
171
+ v 170
172
+ ▁bo 171
173
+ ci 172
174
+ est 173
175
+ ▁W 174
176
+ ▁D 175
177
+ ne 176
178
+ un 177
179
+ ▁will 178
180
+ ▁want 179
181
+ ▁don 180
182
+ ▁really 181
183
+ ▁O 182
184
+ ▁L 183
185
+ ect 184
186
+ ▁think 185
187
+ ▁because 186
188
+ ▁H 187
189
+ z 188
190
+ om 189
191
+ ▁us 190
192
+ ho 191
193
+ ▁more 192
194
+ ol 193
195
+ ▁time 194
196
+ ▁our 195
197
+ ▁when 196
198
+ ▁li 197
199
+ ge 198
200
+ ▁no 199
201
+ ity 200
202
+ ▁F 201
203
+ age 202
204
+ ▁mi 203
205
+ qu 204
206
+ ▁right 205
207
+ ▁su 206
208
+ ▁by 207
209
+ N 208
210
+ ▁po 209
211
+ ul 210
212
+ ▁how 211
213
+ ut 212
214
+ ▁which 213
215
+ ▁now 214
216
+ ▁fa 215
217
+ 0 216
218
+ ▁1 217
219
+ ▁look 218
220
+ ow 219
221
+ ▁then 220
222
+ act 221
223
+ ▁would 222
224
+ ▁who 223
225
+ ies 224
226
+ vi 225
227
+ ry 226
228
+ ▁- 227
229
+ ▁N 228
230
+ L 229
231
+ ting 230
232
+ ▁people 231
233
+ ive 232
234
+ am 233
235
+ ers 234
236
+ ight 235
237
+ ▁R 236
238
+ ▁ex 237
239
+ ▁G 238
240
+ im 239
241
+ nd 240
242
+ ▁them 241
243
+ ide 242
244
+ : 243
245
+ ▁le 244
246
+ ta 245
247
+ ▁very 246
248
+ ▁pro 247
249
+ ke 248
250
+ ma 249
251
+ ▁these 250
252
+ ▁E 251
253
+ ▁work 252
254
+ ally 253
255
+ is 254
256
+ ▁fi 255
257
+ ▁also 256
258
+ able 257
259
+ ▁We 258
260
+ ▁his 259
261
+ ▁la 260
262
+ ru 261
263
+ ▁make 262
264
+ ▁has 263
265
+ ▁o 264
266
+ ig 265
267
+ R 266
268
+ id 267
269
+ ▁say 268
270
+ ist 269
271
+ lu 270
272
+ ld 271
273
+ ▁lo 272
274
+ ▁had 273
275
+ ▁other 274
276
+ ion 275
277
+ ▁into 276
278
+ ther 277
279
+ ▁their 278
280
+ ▁way 279
281
+ ▁ha 280
282
+ tion 281
283
+ ▁J 282
284
+ ▁You 283
285
+ ▁sp 284
286
+ D 285
287
+ ▁back 286
288
+ ▁were 287
289
+ ▁need 288
290
+ ▁It 289
291
+ ▁ba 290
292
+ ▁un 291
293
+ ▁over 292
294
+ mp 293
295
+ ous 294
296
+ pe 295
297
+ ▁use 296
298
+ ▁k 297
299
+ C 298
300
+ ▁where 299
301
+ ▁did 300
302
+ Y 301
303
+ ▁ne 302
304
+ and 303
305
+ ach 304
306
+ ound 305
307
+ ▁got 306
308
+ H 307
309
+ ▁any 308
310
+ sion 309
311
+ ine 310
312
+ ▁even 311
313
+ ! 312
314
+ ▁ra 313
315
+ ▁little 314
316
+ mo 315
317
+ ▁take 316
318
+ ▁ro 317
319
+ 5 318
320
+ ▁pre 319
321
+ ▁than 320
322
+ one 321
323
+ ▁been 322
324
+ j 323
325
+ co 324
326
+ ▁let 325
327
+ ction 326
328
+ ▁comp 327
329
+ ance 328
330
+ ▁dis 329
331
+ ▁well 330
332
+ ▁op 331
333
+ ▁good 332
334
+ de 333
335
+ ▁lot 334
336
+ um 335
337
+ U 336
338
+ ▁she 337
339
+ ant 338
340
+ ▁two 339
341
+ ▁But 340
342
+ ▁kind 341
343
+ ▁could 342
344
+ ▁first 343
345
+ der 344
346
+ pp 345
347
+ ▁start 346
348
+ ▁down 347
349
+ ▁actually 348
350
+ ▁fe 349
351
+ ub 350
352
+ ▁per 351
353
+ ▁those 352
354
+ ture 353
355
+ M 354
356
+ ▁mean 355
357
+ ▁come 356
358
+ ▁things 357
359
+ end 358
360
+ op 359
361
+ ▁her 360
362
+ ▁year 361
363
+ ving 362
364
+ les 363
365
+ P 364
366
+ per 365
367
+ ha 366
368
+ mb 367
369
+ ish 368
370
+ ten 369
371
+ ▁off 370
372
+ ▁much 371
373
+ ▁He 372
374
+ ▁app 373
375
+ ▁something 374
376
+ ▁vi 375
377
+ ence 376
378
+ ud 377
379
+ ard 378
380
+ tic 379
381
+ ▁sa 380
382
+ ical 381
383
+ ▁tra 382
384
+ ▁U 383
385
+ ▁through 384
386
+ ▁part 385
387
+ ure 386
388
+ ▁inter 387
389
+ ff 388
390
+ ▁gonna 389
391
+ ▁thing 390
392
+ ▁comm 391
393
+ ▁This 392
394
+ 1 393
395
+ vo 394
396
+ ▁again 395
397
+ 4 396
398
+ ated 397
399
+ ▁di 398
400
+ ▁new 399
401
+ ▁different 400
402
+ ▁him 401
403
+ ize 402
404
+ ▁talk 403
405
+ 9 404
406
+ ition 405
407
+ ▁exp 406
408
+ ▁sc 407
409
+ ▁bit 408
410
+ 2 409
411
+ ▁K 410
412
+ ▁mu 411
413
+ ▁only 412
414
+ ▁hu 413
415
+ ful 414
416
+ lic 415
417
+ ca 416
418
+ ▁ta 417
419
+ ▁th 418
420
+ ugh 419
421
+ ▁day 420
422
+ ▁cha 421
423
+ ▁give 422
424
+ ▁put 423
425
+ ▁show 424
426
+ ▁man 425
427
+ ▁every 426
428
+ cu 427
429
+ ▁In 428
430
+ ▁most 429
431
+ ▁video 430
432
+ row 431
433
+ ▁help 432
434
+ no 433
435
+ ▁car 434
436
+ ▁try 435
437
+ ▁feel 436
438
+ nk 437
439
+ ▁said 438
440
+ ▁sha 439
441
+ ▁\ 440
442
+ ▁should 441
443
+ 00 442
444
+ ▁en 443
445
+ ▁yeah 444
446
+ ▁That 445
447
+ F 446
448
+ com 447
449
+ ▁uh 448
450
+ ▁gu 449
451
+ ▁pri 450
452
+ ven 451
453
+ ▁great 452
454
+ ... 453
455
+ ▁Ma 454
456
+ ▁around 455
457
+ ▁add 456
458
+ 6 457
459
+ ▁many 458
460
+ 8 459
461
+ ▁um 460
462
+ ▁same 461
463
+ ▁find 462
464
+ ian 463
465
+ ▁though 464
466
+ ▁jo 465
467
+ port 466
468
+ ▁before 467
469
+ ▁end 468
470
+ iv 469
471
+ ▁2 470
472
+ ▁still 471
473
+ ▁after 472
474
+ ▁play 473
475
+ line 474
476
+ V 475
477
+ ▁point 476
478
+ ▁high 477
479
+ ▁long 478
480
+ ▁okay 479
481
+ ▁love 480
482
+ ible 481
483
+ ▁life 482
484
+ ▁happen 483
485
+ ▁three 484
486
+ ▁V 485
487
+ ▁place 486
488
+ ▁THE 487
489
+ ▁big 488
490
+ ▁next 489
491
+ ▁might 490
492
+ 7 491
493
+ ▁why 492
494
+ ▁sure 493
495
+ ▁20 494
496
+ ▁va 495
497
+ \ 496
498
+ ▁question 497
499
+ ▁Now 498
500
+ ▁3 499
501
+ G 500
502
+ ▁imp 501
503
+ ▁fun 502
504
+ B 503
505
+ ▁world 504
506
+ ▁gra 505
507
+ ward 506
508
+ ▁change 507
509
+ K 508
510
+ ▁another 509
511
+ ER 510
512
+ ▁person 511
513
+ ▁own 512
514
+ RE 513
515
+ ▁plan 514
516
+ ▁tell 515
517
+ ▁hand 516
518
+ 3 517
519
+ ) 518
520
+ ▁always 519
521
+ ▁What 520
522
+ ▁na 521
523
+ ▁made 522
524
+ ▁keep 523
525
+ ▁number 524
526
+ ative 525
527
+ ▁( 526
528
+ ness 527
529
+ ▁last 528
530
+ ▁name 529
531
+ ▁important 530
532
+ W 531
533
+ ON 532
534
+ ▁maybe 533
535
+ ▁guys 534
536
+ ▁learn 535
537
+ ▁course 536
538
+ ▁under 537
539
+ ▁system 538
540
+ ▁pretty 539
541
+ ▁run 540
542
+ ▁better 541
543
+ ▁example 542
544
+ ▁turn 543
545
+ ▁game 544
546
+ land 545
547
+ ▁second 546
548
+ ▁data 547
549
+ ▁everything 548
550
+ ▁create 549
551
+ ▁trans 550
552
+ ▁idea 551
553
+ ▁count 552
554
+ ▁probably 553
555
+ ▁power 554
556
+ ▁between 555
557
+ ▁build 556
558
+ ▁hard 557
559
+ ▁understand 558
560
+ ▁while 559
561
+ ▁four 560
562
+ ▁Yeah 561
563
+ > 562
564
+ ▁nice 563
565
+ ▁problem 564
566
+ ▁watch 565
567
+ ▁together 566
568
+ ific 567
569
+ ▁already 568
570
+ ▁light 569
571
+ ▁small 570
572
+ ▁God 571
573
+ ▁close 572
574
+ ▁type 573
575
+ ▁product 574
576
+ ▁word 575
577
+ ▁anything 576
578
+ ▁process 577
579
+ ING 578
580
+ ▁stuff 579
581
+ ; 580
582
+ ▁experience 581
583
+ ▁left 582
584
+ ▁reason 583
585
+ struct 584
586
+ ▁level 585
587
+ ▁free 586
588
+ ▁coming 587
589
+ ▁friend 588
590
+ ▁quite 589
591
+ ▁making 590
592
+ press 591
593
+ ▁money 592
594
+ ▁information 593
595
+ ▁direct 594
596
+ ▁When 595
597
+ ▁develop 596
598
+ ▁full 597
599
+ ▁ju 598
600
+ ▁enough 599
601
+ ▁follow 600
602
+ ▁believe 601
603
+ ▁support 602
604
+ / 603
605
+ ▁Okay 604
606
+ < 605
607
+ ▁large 606
608
+ ▁become 607
609
+ ▁quick 608
610
+ ▁business 609
611
+ ▁design 610
612
+ ▁without 611
613
+ ▁AND 612
614
+ ▁group 613
615
+ ▁complete 614
616
+ ▁control 615
617
+ ▁space 616
618
+ ▁month 617
619
+ ▁click 618
620
+ ▁color 619
621
+ ▁remember 620
622
+ ▁connect 621
623
+ X 622
624
+ Q 623
625
+ Z 624
626
+ % 625
627
+ $ 626
628
+ * 627
629
+ J 628
630
+ q 629
631
+ & 630
632
+ # 631
633
+ + 632
634
+ ( 633
635
+ @ 634
636
+ = 635
637
+ ^ 636
638
+ £ 637
639
+ ° 638
640
+ € 639
641
+ α 640
642
+ ε 641
643
+ π 642
644
+ ρ 643
645
+ λ 644
646
+ σ 645
647
+ θ 646
648
+ β 647
649
+ Δ 648
650
+ φ 649
651
+ #0 650
652
+ #1 651
fr_decoder.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6aed547570e3ab5afc05429a017cedd3a056c16df3baa5703f02461cefa25bac
3
+ size 617488
fr_encoder.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e02facae1daf6f1f13da67ea3ace7c722516d0868d1768d78c0580bc22cc0c5b
3
+ size 70092599
fr_joiner.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a51eec759bcdcaae2614686fa2a8b57417b2d420dd55a5a5558b388d35a9b2b6
3
+ size 336817
fr_tokens.txt ADDED
@@ -0,0 +1,653 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <blk> 0
2
+ <sos/eos> 1
3
+ 000 2
4
+ 00 3
5
+ <unk> 4
6
+ . 5
7
+ s 6
8
+ ▁ 7
9
+ ’ 8
10
+ e 9
11
+ ▁de 10
12
+ t 11
13
+ 1 12
14
+ ▁0 13
15
+ ▁c 14
16
+ 9 15
17
+ r 16
18
+ 7 17
19
+ , 18
20
+ 5 19
21
+ o 20
22
+ 4 21
23
+ 6 22
24
+ 2 23
25
+ er 24
26
+ u 25
27
+ é 26
28
+ i 27
29
+ p 28
30
+ ▁la 29
31
+ 3 30
32
+ 8 31
33
+ ▁d 32
34
+ a 33
35
+ ▁l 34
36
+ ▁et 35
37
+ on 36
38
+ ▁le 37
39
+ ▁s 38
40
+ es 39
41
+ n 40
42
+ c 41
43
+ ▁à 42
44
+ ▁en 43
45
+ est 44
46
+ ▁que 45
47
+ ▁a 46
48
+ in 47
49
+ v 48
50
+ ▁les 49
51
+ g 50
52
+ is 51
53
+ f 52
54
+ ent 53
55
+ l 54
56
+ m 55
57
+ ▁un 56
58
+ it 57
59
+ ▁qui 58
60
+ ▁des 59
61
+ ▁p 60
62
+ il 61
63
+ ▁vous 62
64
+ ▁f 63
65
+ ▁m 64
66
+ ▁n 65
67
+ ▁pour 66
68
+ ▁pas 67
69
+ re 68
70
+ ▁je 69
71
+ ▁t 70
72
+ le 71
73
+ ant 72
74
+ ▁ce 73
75
+ ▁qu 74
76
+ te 75
77
+ y 76
78
+ ▁2 77
79
+ ▁une 78
80
+ an 79
81
+ ▁b 80
82
+ ▁on 81
83
+ b 82
84
+ ▁par 83
85
+ ir 84
86
+ ▁dans 85
87
+ ▁3 86
88
+ al 87
89
+ ▁se 88
90
+ ▁est 89
91
+ ▁il 90
92
+ ment 91
93
+ ar 92
94
+ ▁j 93
95
+ at 94
96
+ ai 95
97
+ ▁du 96
98
+ ▁re 97
99
+ h 98
100
+ ▁sur 99
101
+ ri 100
102
+ ra 101
103
+ or 102
104
+ ation 103
105
+ ais 104
106
+ ▁ça 105
107
+ ▁au 106
108
+ ▁g 107
109
+ ique 108
110
+ ou 109
111
+ ont 110
112
+ è 111
113
+ ▁v 112
114
+ eur 113
115
+ ▁r 114
116
+ - 115
117
+ ▁ma 116
118
+ d 117
119
+ ie 118
120
+ li 119
121
+ ez 120
122
+ ▁plus 121
123
+ ement 122
124
+ ▁tout 123
125
+ elle 124
126
+ en 125
127
+ ▁4 126
128
+ ▁va 127
129
+ me 128
130
+ ▁ré 129
131
+ ▁C 130
132
+ ce 131
133
+ our 132
134
+ ch 133
135
+ ▁5 134
136
+ ▁dé 135
137
+ ▁donc 136
138
+ ▁in 137
139
+ ci 138
140
+ us 139
141
+ qu 140
142
+ im 141
143
+ ro 142
144
+ ▁mais 143
145
+ ur 144
146
+ ol 145
147
+ ▁fait 146
148
+ ne 147
149
+ am 148
150
+ ▁pro 149
151
+ tre 150
152
+ ▁avec 151
153
+ 0 152
154
+ che 153
155
+ om 154
156
+ ité 155
157
+ ul 156
158
+ ex 157
159
+ ▁ne 158
160
+ de 159
161
+ ter 160
162
+ té 161
163
+ ▁ou 162
164
+ que 163
165
+ iv 164
166
+ ▁vo 165
167
+ id 166
168
+ ée 167
169
+ ort 168
170
+ ▁ch 169
171
+ age 170
172
+ ér 171
173
+ ▁si 172
174
+ ▁po 173
175
+ end 174
176
+ ut 175
177
+ ac 176
178
+ ▁nous 177
179
+ ▁vi 178
180
+ ▁bien 179
181
+ ▁pr 180
182
+ ▁0.20 181
183
+ ▁y 182
184
+ el 183
185
+ ▁me 184
186
+ eux 185
187
+ ré 186
188
+ ▁é 187
189
+ ▁comme 188
190
+ ▁sa 189
191
+ ▁faire 190
192
+ os 191
193
+ ▁mon 192
194
+ un 193
195
+ di 194
196
+ ouv 195
197
+ ons 196
198
+ 13 197
199
+ ▁sont 198
200
+ ▁cette 199
201
+ ▁1. 200
202
+ as 201
203
+ la 202
204
+ 42 203
205
+ ance 204
206
+ ▁P 205
207
+ ct 206
208
+ ▁h 207
209
+ aire 208
210
+ ▁peu 209
211
+ ▁M 210
212
+ if 211
213
+ aux 212
214
+ ▁0.21 213
215
+ ▁1 214
216
+ ic 215
217
+ ag 216
218
+ ens 217
219
+ ille 218
220
+ ▁comp 219
221
+ au 220
222
+ ▁là 221
223
+ ▁même 222
224
+ tion 223
225
+ ait 224
226
+ ▁très 225
227
+ ▁peut 226
228
+ 45 227
229
+ 38 228
230
+ ▁S 229
231
+ ier 230
232
+ ▁6 231
233
+ 43 232
234
+ ▁10 233
235
+ ien 234
236
+ vi 235
237
+ ▁11 236
238
+ out 237
239
+ ▁aussi 238
240
+ 72 239
241
+ ab 240
242
+ 62 241
243
+ ▁0.22 242
244
+ éc 243
245
+ ▁12 244
246
+ 49 245
247
+ ver 246
248
+ 52 247
249
+ 48 248
250
+ ▁tu 249
251
+ né 250
252
+ 32 251
253
+ ière 252
254
+ 75 253
255
+ ▁petit 254
256
+ k 255
257
+ ▁pré 256
258
+ ▁Et 257
259
+ ▁D 258
260
+ all 259
261
+ 02 260
262
+ ine 261
263
+ 73 262
264
+ ▁A 263
265
+ 65 264
266
+ ▁0.23 265
267
+ ap 266
268
+ 79 267
269
+ lo 268
270
+ onne 269
271
+ 46 270
272
+ j 271
273
+ 63 272
274
+ lé 273
275
+ 78 274
276
+ du 275
277
+ ▁parce 276
278
+ ▁tra 277
279
+ ▁dire 278
280
+ 03 279
281
+ 82 280
282
+ 01 281
283
+ ▁8 282
284
+ ven 283
285
+ op 284
286
+ 44 285
287
+ 05 286
288
+ 35 287
289
+ z 288
290
+ 69 289
291
+ autre 290
292
+ 68 291
293
+ 33 292
294
+ 08 293
295
+ 09 294
296
+ ▁pla 295
297
+ ▁cha 296
298
+ ▁moi 297
299
+ une 298
300
+ 76 299
301
+ 06 300
302
+ 04 301
303
+ ▁0.24 302
304
+ able 303
305
+ 12 304
306
+ ▁être 305
307
+ ▁cons 306
308
+ ▁quand 307
309
+ 07 308
310
+ ence 309
311
+ ▁votre 310
312
+ lu 311
313
+ ▁puis 312
314
+ ▁15 313
315
+ 85 314
316
+ ▁son 315
317
+ sion 316
318
+ ▁chose 317
319
+ eau 318
320
+ 83 319
321
+ ▁sou 320
322
+ app 321
323
+ 15 322
324
+ 66 323
325
+ ▁0.25 324
326
+ um 325
327
+ ▁Le 326
328
+ ▁app 327
329
+ ad 328
330
+ 88 329
331
+ 98 330
332
+ ▁elle 331
333
+ ▁14 332
334
+ ▁19 333
335
+ ture 334
336
+ ▁parti 335
337
+ ère 336
338
+ form 337
339
+ x 338
340
+ ▁deux 339
341
+ était 340
342
+ ▁dis 341
343
+ ction 342
344
+ ale 343
345
+ ▁0.26 344
346
+ ign 345
347
+ ress 346
348
+ E 347
349
+ ▁vraiment 348
350
+ à 349
351
+ acc 350
352
+ ê 351
353
+ ▁Il 352
354
+ art 353
355
+ ▁16 354
356
+ ord 355
357
+ ob 356
358
+ N 357
359
+ ▁0.27 358
360
+ and 359
361
+ ndre 360
362
+ ▁leur 361
363
+ ▁18 362
364
+ ph 363
365
+ ▁L 364
366
+ î 365
367
+ ▁alors 366
368
+ ▁ét 367
369
+ ▁B 368
370
+ ▁20 369
371
+ ▁17 370
372
+ ▁Je 371
373
+ sse 372
374
+ ▁0.28 373
375
+ ête 374
376
+ ▁T 375
377
+ ▁faut 376
378
+ ▁ba 377
379
+ ▁tous 378
380
+ ▁déc 379
381
+ ▁personne 380
382
+ rait 381
383
+ être 382
384
+ ▁22 383
385
+ emb 384
386
+ ▁fin 385
387
+ ▁0.29 386
388
+ ion 387
389
+ â 388
390
+ ▁mé 389
391
+ F 390
392
+ ▁quelque 391
393
+ ange 392
394
+ ▁beaucoup 393
395
+ ▁vais 394
396
+ cul 395
397
+ ég 396
398
+ ▁suis 397
399
+ omme 398
400
+ ▁21 399
401
+ ▁fois 400
402
+ ▁temps 401
403
+ ▁où 402
404
+ R 403
405
+ ten 404
406
+ J 405
407
+ ▁On 406
408
+ ard 407
409
+ ▁0.31 408
410
+ ▁lui 409
411
+ ▁notre 410
412
+ ô 411
413
+ ible 412
414
+ ▁Donc 413
415
+ ud 414
416
+ ▁23 415
417
+ min 416
418
+ ▁été 417
419
+ ▁ici 418
420
+ ▁voilà 419
421
+ ▁0.30 420
422
+ ▁avoir 421
423
+ I 422
424
+ ▁vidéo 423
425
+ ▁voir 424
426
+ ▁0.32 425
427
+ ▁coup 426
428
+ ▁grand 427
429
+ hui 428
430
+ ▁jour 429
431
+ ▁avez 430
432
+ ix 431
433
+ ▁En 432
434
+ û 433
435
+ ▁La 434
436
+ ▁0.33 435
437
+ ▁travail 436
438
+ ▁encore 437
439
+ ette 438
440
+ ▁juste 439
441
+ tru 440
442
+ ▁permet 441
443
+ V 442
444
+ gue 443
445
+ ▁0.34 444
446
+ O 445
447
+ ▁att 446
448
+ A 447
449
+ ▁exemple 448
450
+ ▁0.35 449
451
+ ▁24 450
452
+ ▁pense 451
453
+ G 452
454
+ ▁trouve 453
455
+ ▁comment 454
456
+ ▁toujours 455
457
+ ▁0.36 456
458
+ isse 457
459
+ w 458
460
+ ▁après 459
461
+ ▁certain 460
462
+ ▁pouvoir 461
463
+ ▁déjà 462
464
+ ▁simple 463
465
+ ▁passe 464
466
+ ç 465
467
+ H 466
468
+ Q 467
469
+ S 468
470
+ U 469
471
+ œ 470
472
+ P 471
473
+ T 472
474
+ C 473
475
+ K 474
476
+ É 475
477
+ D 476
478
+ Ç 477
479
+ ï 478
480
+ M 479
481
+ W 480
482
+ Y 481
483
+ % 482
484
+ L 483
485
+ q 484
486
+ X 485
487
+ B 486
488
+ À 487
489
+ ë 488
490
+ Z 489
491
+ ù 490
492
+ Â 491
493
+ * 492
494
+ / 493
495
+ ° 494
496
+ + 495
497
+ € 496
498
+ ü 497
499
+ Ê 498
500
+ [ 499
501
+ ö 500
502
+ È 501
503
+ Î 502
504
+ $ 503
505
+ # 504
506
+ á 505
507
+ _ 506
508
+ ä 507
509
+ Ô 508
510
+ í 509
511
+ ó 510
512
+ > 511
513
+ < 512
514
+ ō 513
515
+ ñ 514
516
+ @ 515
517
+ Œ 516
518
+ & 517
519
+ ā 518
520
+ = 519
521
+ ú 520
522
+ æ 521
523
+ ã 522
524
+ Ï 523
525
+ ū 524
526
+ ì 525
527
+ ń 526
528
+ ī 527
529
+ ø 528
530
+ Á 529
531
+ ł 530
532
+ ć 531
533
+ Ö 532
534
+ å 533
535
+ Ü 534
536
+ š 535
537
+ ÿ 536
538
+ Ž 537
539
+ Ó 538
540
+ Ë 539
541
+ č 540
542
+ ò 541
543
+ Ō 542
544
+ Ù 543
545
+ ə 544
546
+ Ø 545
547
+ ý 546
548
+ Ã 547
549
+ Æ 548
550
+ ś 549
551
+ ɛ 550
552
+ ğ 551
553
+ ş 552
554
+ Û 553
555
+ õ 554
556
+ ž 555
557
+ ē 556
558
+ ș 557
559
+ ṇ 558
560
+ Ā 559
561
+ ı 560
562
+ ṅ 561
563
+ İ 562
564
+ ő 563
565
+ ư 564
566
+ Ś 565
567
+ ɑ 566
568
+ Å 567
569
+ Ñ 568
570
+ ů 569
571
+ ɪ 570
572
+ ḍ 571
573
+ Ț 572
574
+ Č 573
575
+ Š 574
576
+ Ÿ 575
577
+ ð 576
578
+ ě 577
579
+ Í 578
580
+ ß 579
581
+ ɔ 580
582
+ ḥ 581
583
+ ả 582
584
+ ợ 583
585
+ ṣ 584
586
+ ṭ 585
587
+ ế 586
588
+ ṃ 587
589
+ ă 588
590
+ ė 589
591
+ ř 590
592
+ ɸ 591
593
+ ệ 592
594
+ ᴀ 593
595
+ Ä 594
596
+ Đ 595
597
+ ę 596
598
+ Ő 597
599
+ ż 598
600
+ ǐ 599
601
+ ɜ 600
602
+ ʒ 601
603
+ ᴛ 602
604
+ ạ 603
605
+ Ì 604
606
+ ɶ 605
607
+ ề 606
608
+ ộ 607
609
+ Ş 608
610
+ ǎ 609
611
+ Ł 610
612
+ ơ 611
613
+ ǔ 612
614
+ ɲ 613
615
+ ɴ 614
616
+ ʁ 615
617
+ ʃ 616
618
+ ắ 617
619
+ ớ 618
620
+ ờ 619
621
+ ǒ 620
622
+ đ 621
623
+ ʀ 622
624
+ Ṛ 623
625
+ Þ 624
626
+ Ą 625
627
+ ĝ 626
628
+ Ħ 627
629
+ ƒ 628
630
+ ɥ 629
631
+ Ṫ 630
632
+ ấ 631
633
+ ễ 632
634
+ ṛ 633
635
+ ; 634
636
+ ! 635
637
+ : 636
638
+ ą 637
639
+ ? 638
640
+ Ò 639
641
+ Ú 640
642
+ Ć 641
643
+ ċ 642
644
+ Ğ 643
645
+ ĥ 644
646
+ ħ 645
647
+ ĩ 646
648
+ Ī 647
649
+ ĭ 648
650
+ Ń 649
651
+ #0 650
652
+ #1 651
653
+ #2 652
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ gradio>=5.0
2
+ torch
3
+ torchaudio
4
+ sherpa-onnx
5
+ numpy