csukuangfj commited on
Commit
10536c6
·
1 Parent(s): 5c7281e

add nemo models

Browse files
Files changed (1) hide show
  1. model.py +78 -0
model.py CHANGED
@@ -987,6 +987,82 @@ def _get_french_pre_trained_model(
987
  return recognizer
988
 
989
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
990
  @lru_cache(maxsize=10)
991
  def _get_sherpa_onnx_offline_zipformer_pre_trained_model(
992
  repo_id: str,
@@ -1505,6 +1581,8 @@ english_models = {
1505
  "whisper-tiny.en": _get_whisper_model,
1506
  "whisper-base.en": _get_whisper_model,
1507
  "whisper-small.en": _get_whisper_model,
 
 
1508
  # "whisper-medium.en": _get_whisper_model,
1509
  "csukuangfj/sherpa-onnx-zipformer-en-libriheavy-20230926-large": _get_sherpa_onnx_offline_zipformer_pre_trained_model,
1510
  "csukuangfj/sherpa-onnx-zipformer-en-libriheavy-20230926-medium": _get_sherpa_onnx_offline_zipformer_pre_trained_model,
 
987
  return recognizer
988
 
989
 
990
+ @lru_cache(maxsize=10)
991
+ def _get_sherpa_onnx_nemo_transducer_models(
992
+ repo_id: str,
993
+ decoding_method: str,
994
+ num_active_paths: int,
995
+ ) -> sherpa_onnx.OnlineRecognizer:
996
+ assert repo_id in [
997
+ "csukuangfj/sherpa-onnx-nemo-parakeet_tdt_transducer_110m-en-36000",
998
+ ], repo_id
999
+
1000
+ encoder_model = _get_nn_model_filename(
1001
+ repo_id=repo_id,
1002
+ filename="encoder.onnx",
1003
+ subfolder=".",
1004
+ )
1005
+
1006
+ decoder_model = _get_nn_model_filename(
1007
+ repo_id=repo_id,
1008
+ filename="decoder.onnx",
1009
+ subfolder=".",
1010
+ )
1011
+
1012
+ joiner_model = _get_nn_model_filename(
1013
+ repo_id=repo_id,
1014
+ filename="joiner.onnx",
1015
+ subfolder=".",
1016
+ )
1017
+
1018
+ tokens = _get_token_filename(repo_id=repo_id, subfolder=".")
1019
+
1020
+ recognizer = sherpa_onnx.OnlineRecognizer.from_transducer(
1021
+ tokens=tokens,
1022
+ encoder=encoder_model,
1023
+ decoder=decoder_model,
1024
+ joiner=joiner_model,
1025
+ num_threads=2,
1026
+ sample_rate=16000,
1027
+ feature_dim=80,
1028
+ decoding_method=decoding_method,
1029
+ max_active_paths=num_active_paths,
1030
+ )
1031
+
1032
+ return recognizer
1033
+
1034
+
1035
+ @lru_cache(maxsize=10)
1036
+ def _get_sherpa_onnx_nemo_ctc_models(
1037
+ repo_id: str,
1038
+ decoding_method: str,
1039
+ num_active_paths: int,
1040
+ ) -> sherpa_onnx.OfflineRecognizer:
1041
+ assert repo_id in [
1042
+ "csukuangfj/sherpa-onnx-nemo-parakeet_tdt_ctc_110m-en-36000",
1043
+ ], repo_id
1044
+
1045
+ model = _get_nn_model_filename(
1046
+ repo_id=repo_id,
1047
+ filename="model.onnx",
1048
+ subfolder=".",
1049
+ )
1050
+
1051
+ tokens = _get_token_filename(repo_id=repo_id, subfolder=".")
1052
+
1053
+ recognizer = sherpa_onnx.OfflineRecognizer.from_nemo_ctc(
1054
+ tokens=tokens,
1055
+ model=model,
1056
+ num_threads=2,
1057
+ sample_rate=16000,
1058
+ feature_dim=80,
1059
+ decoding_method=decoding_method,
1060
+ max_active_paths=num_active_paths,
1061
+ )
1062
+
1063
+ return recognizer
1064
+
1065
+
1066
  @lru_cache(maxsize=10)
1067
  def _get_sherpa_onnx_offline_zipformer_pre_trained_model(
1068
  repo_id: str,
 
1581
  "whisper-tiny.en": _get_whisper_model,
1582
  "whisper-base.en": _get_whisper_model,
1583
  "whisper-small.en": _get_whisper_model,
1584
+ "csukuangfj/sherpa-onnx-nemo-parakeet_tdt_ctc_110m-en-36000": _get_sherpa_onnx_nemo_ctc_models,
1585
+ "csukuangfj/sherpa-onnx-nemo-parakeet_tdt_transducer_110m-en-36000": _get_sherpa_onnx_nemo_transducer_models,
1586
  # "whisper-medium.en": _get_whisper_model,
1587
  "csukuangfj/sherpa-onnx-zipformer-en-libriheavy-20230926-large": _get_sherpa_onnx_offline_zipformer_pre_trained_model,
1588
  "csukuangfj/sherpa-onnx-zipformer-en-libriheavy-20230926-medium": _get_sherpa_onnx_offline_zipformer_pre_trained_model,