csukuangfj commited on
Commit
8c27967
·
1 Parent(s): b1d5bcd

Add omnilingual ASR

Browse files
Files changed (2) hide show
  1. model.py +41 -0
  2. requirements.txt +1 -1
model.py CHANGED
@@ -174,6 +174,10 @@ def get_pretrained_model(
174
  return multi_lingual_models[repo_id](
175
  repo_id, decoding_method=decoding_method, num_active_paths=num_active_paths
176
  )
 
 
 
 
177
  elif repo_id in twenty_five_languages_models:
178
  return twenty_five_languages_models[repo_id](
179
  repo_id, decoding_method=decoding_method, num_active_paths=num_active_paths
@@ -1364,6 +1368,36 @@ def _get_streaming_vosk_pre_trained_model(
1364
  return recognizer
1365
 
1366
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1367
  @lru_cache(maxsize=10)
1368
  def _get_sherpa_onnx_nemo_transducer_models_int8(
1369
  repo_id: str,
@@ -2218,6 +2252,11 @@ english_models = {
2218
  "csukuangfj/wenet-english-model": _get_wenet_model,
2219
  }
2220
 
 
 
 
 
 
2221
  twenty_five_languages_models = {
2222
  "csukuangfj/sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8": _get_sherpa_onnx_nemo_transducer_models_int8,
2223
  }
@@ -2326,6 +2365,7 @@ portuguese_brazlian_models = {
2326
 
2327
 
2328
  all_models = {
 
2329
  **twenty_five_languages_models,
2330
  **multi_lingual_models,
2331
  **sichuan_models,
@@ -2349,6 +2389,7 @@ all_models = {
2349
  }
2350
 
2351
  language_to_models = {
 
2352
  "25 European languages": list(twenty_five_languages_models.keys()),
2353
  "Multi-lingual (east aisa)": list(multi_lingual_models.keys()),
2354
  "超多种中文方言": list(chinese_dialect_models.keys()),
 
174
  return multi_lingual_models[repo_id](
175
  repo_id, decoding_method=decoding_method, num_active_paths=num_active_paths
176
  )
177
+ elif repo_id in more_than_1600_languages_models:
178
+ return more_than_1600_languages_models[repo_id](
179
+ repo_id, decoding_method=decoding_method, num_active_paths=num_active_paths
180
+ )
181
  elif repo_id in twenty_five_languages_models:
182
  return twenty_five_languages_models[repo_id](
183
  repo_id, decoding_method=decoding_method, num_active_paths=num_active_paths
 
1368
  return recognizer
1369
 
1370
 
1371
+ @lru_cache(maxsize=10)
1372
+ def _get_sherpa_onnx_omnilingual_asr_models(
1373
+ repo_id: str,
1374
+ decoding_method: str,
1375
+ num_active_paths: int,
1376
+ ) -> sherpa_onnx.OfflineRecognizer:
1377
+ assert repo_id in [
1378
+ "csukuangfj/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-2025-11-12",
1379
+ "csukuangfj/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12",
1380
+ ], repo_id
1381
+
1382
+ is_int8 = "int8" in repo_id
1383
+
1384
+ model = _get_nn_model_filename(
1385
+ repo_id=repo_id,
1386
+ filename="model.int8.onnx" if is_int8 else "model.onnx",
1387
+ subfolder=".",
1388
+ )
1389
+
1390
+ tokens = _get_token_filename(repo_id=repo_id, subfolder=".")
1391
+
1392
+ recognizer = sherpa_onnx.OfflineRecognizer.from_omnilingual_asr_ctc(
1393
+ tokens=tokens,
1394
+ model=model,
1395
+ num_threads=2,
1396
+ )
1397
+
1398
+ return recognizer
1399
+
1400
+
1401
  @lru_cache(maxsize=10)
1402
  def _get_sherpa_onnx_nemo_transducer_models_int8(
1403
  repo_id: str,
 
2252
  "csukuangfj/wenet-english-model": _get_wenet_model,
2253
  }
2254
 
2255
+ more_than_1600_languages_models = {
2256
+ "csukuangfj/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-int8-2025-11-12": _get_sherpa_onnx_omnilingual_asr_models,
2257
+ "csukuangfj/sherpa-onnx-omnilingual-asr-1600-languages-300M-ctc-2025-11-12": _get_sherpa_onnx_omnilingual_asr_models,
2258
+ }
2259
+
2260
  twenty_five_languages_models = {
2261
  "csukuangfj/sherpa-onnx-nemo-parakeet-tdt-0.6b-v3-int8": _get_sherpa_onnx_nemo_transducer_models_int8,
2262
  }
 
2365
 
2366
 
2367
  all_models = {
2368
+ **more_than_1600_languages_models,
2369
  **twenty_five_languages_models,
2370
  **multi_lingual_models,
2371
  **sichuan_models,
 
2389
  }
2390
 
2391
  language_to_models = {
2392
+ "1600+ languages": list(more_than_1600_languages_models.keys()),
2393
  "25 European languages": list(twenty_five_languages_models.keys()),
2394
  "Multi-lingual (east aisa)": list(multi_lingual_models.keys()),
2395
  "超多种中文方言": list(chinese_dialect_models.keys()),
requirements.txt CHANGED
@@ -10,6 +10,6 @@ numpy<2
10
 
11
  huggingface_hub
12
 
13
- https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/cpu/1.12.11/sherpa_onnx-1.12.11-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
14
 
15
  #sherpa-onnx>=1.12.6
 
10
 
11
  huggingface_hub
12
 
13
+ https://huggingface.co/csukuangfj/sherpa-onnx-wheels/resolve/main/cpu/1.12.15/sherpa_onnx-1.12.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
14
 
15
  #sherpa-onnx>=1.12.6