HoneyTian commited on
Commit
961a8f0
·
1 Parent(s): 03c0c2e
Files changed (1) hide show
  1. toolbox/k2_sherpa/nn_models.py +64 -0
toolbox/k2_sherpa/nn_models.py CHANGED
@@ -312,8 +312,28 @@ model_map = {
312
  "tokens_file_sub_folder": "data/lang_bpe_500",
313
  "loader": "load_sherpa_offline_recognizer",
314
  },
 
 
 
 
 
 
 
 
315
  ],
316
  "Chinese+English": [
 
 
 
 
 
 
 
 
 
 
 
 
317
  {
318
  "repo_id": "csukuangfj/sherpa-onnx-paraformer-zh-2023-03-28",
319
  "nn_model_file": "model.int8.onnx",
@@ -322,6 +342,22 @@ model_map = {
322
  "tokens_file_sub_folder": ".",
323
  "loader": "load_sherpa_offline_recognizer_from_paraformer",
324
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  ],
326
  "Chinese+Cantonese+English": [
327
  {
@@ -477,6 +513,30 @@ def load_sherpa_offline_recognizer_from_whisper(encoder_model_file: str,
477
  return recognizer
478
 
479
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
480
  def load_recognizer(local_model_dir: Path,
481
  decoding_method: str = "greedy_search",
482
  num_active_paths: int = 4,
@@ -531,6 +591,10 @@ def load_recognizer(local_model_dir: Path,
531
  recognizer = load_sherpa_offline_recognizer_from_whisper(
532
  **kwargs_
533
  )
 
 
 
 
534
  else:
535
  raise NotImplementedError("loader not support: {}".format(loader))
536
  return recognizer
 
312
  "tokens_file_sub_folder": "data/lang_bpe_500",
313
  "loader": "load_sherpa_offline_recognizer",
314
  },
315
+ {
316
+ "repo_id": "csukuangfj/wenet-english-model",
317
+ "nn_model_file": "final.zip",
318
+ "nn_model_file_sub_folder": ".",
319
+ "tokens_file": "units.txt",
320
+ "tokens_file_sub_folder": ".",
321
+ "loader": "load_sherpa_offline_recognizer",
322
+ },
323
  ],
324
  "Chinese+English": [
325
+ {
326
+ "repo_id": "csukuangfj/sherpa-onnx-streaming-zipformer-bilingual-zh-en-2023-02-20",
327
+ "encoder_model_file": "encoder-epoch-99-avg-1.onnx",
328
+ "encoder_model_file_sub_folder": ".",
329
+ "decoder_model_file": "decoder-epoch-99-avg-1.onnx",
330
+ "decoder_model_file_sub_folder": ".",
331
+ "joiner_model_file": "joiner-epoch-99-avg-1.onnx",
332
+ "joiner_model_file_sub_folder": ".",
333
+ "tokens_file": "tokens.txt",
334
+ "tokens_file_sub_folder": ".",
335
+ "loader": "load_sherpa_online_recognizer_from_transducer",
336
+ },
337
  {
338
  "repo_id": "csukuangfj/sherpa-onnx-paraformer-zh-2023-03-28",
339
  "nn_model_file": "model.int8.onnx",
 
342
  "tokens_file_sub_folder": ".",
343
  "loader": "load_sherpa_offline_recognizer_from_paraformer",
344
  },
345
+ {
346
+ "repo_id": "ptrnull/icefall-asr-conv-emformer-transducer-stateless2-zh",
347
+ "nn_model_file": "cpu_jit-epoch-11-avg-1.pt",
348
+ "nn_model_file_sub_folder": "exp",
349
+ "tokens_file": "tokens.txt",
350
+ "tokens_file_sub_folder": "data/lang_char_bpe",
351
+ "loader": "load_sherpa_offline_recognizer",
352
+ },
353
+ {
354
+ "repo_id": "luomingshuang/icefall_asr_tal-csasr_pruned_transducer_stateless5",
355
+ "nn_model_file": "cpu_jit.pt",
356
+ "nn_model_file_sub_folder": "exp",
357
+ "tokens_file": "tokens.txt",
358
+ "tokens_file_sub_folder": "data/lang_char",
359
+ "loader": "load_sherpa_offline_recognizer",
360
+ },
361
  ],
362
  "Chinese+Cantonese+English": [
363
  {
 
513
  return recognizer
514
 
515
 
516
+ def load_sherpa_online_recognizer_from_transducer(encoder_model_file: str,
517
+ decoder_model_file: str,
518
+ joiner_model_file: str,
519
+ tokens_file: str,
520
+ sample_rate: int = 16000,
521
+ decoding_method: str = "greedy_search",
522
+ feature_dim: int = 80,
523
+ num_threads: int = 2,
524
+ num_active_paths: int = 2,
525
+ ):
526
+ recognizer = sherpa_onnx.OfflineRecognizer.from_transducer(
527
+ encoder=encoder_model_file,
528
+ decoder=decoder_model_file,
529
+ joiner=joiner_model_file,
530
+ tokens=tokens_file,
531
+ num_threads=num_threads,
532
+ sample_rate=sample_rate,
533
+ feature_dim=feature_dim,
534
+ decoding_method=decoding_method,
535
+ max_active_paths=num_active_paths,
536
+ )
537
+ return recognizer
538
+
539
+
540
  def load_recognizer(local_model_dir: Path,
541
  decoding_method: str = "greedy_search",
542
  num_active_paths: int = 4,
 
591
  recognizer = load_sherpa_offline_recognizer_from_whisper(
592
  **kwargs_
593
  )
594
+ elif loader == "load_sherpa_online_recognizer_from_transducer":
595
+ recognizer = load_sherpa_online_recognizer_from_transducer(
596
+ **kwargs_
597
+ )
598
  else:
599
  raise NotImplementedError("loader not support: {}".format(loader))
600
  return recognizer