com-define.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #pragma once
  2. namespace funasr {
  3. #define S_BEGIN 0
  4. #define S_MIDDLE 1
  5. #define S_END 2
  6. #define S_ALL 3
  7. #define S_ERR 4
  8. #ifndef MODEL_SAMPLE_RATE
  9. #define MODEL_SAMPLE_RATE 16000
  10. #endif
  11. // parser option
  12. #define MODEL_DIR "model-dir"
  13. #define OFFLINE_MODEL_DIR "model-dir"
  14. #define ONLINE_MODEL_DIR "online-model-dir"
  15. #define LM_DIR "lm-dir"
  16. #define GLOB_BEAM "global-beam"
  17. #define LAT_BEAM "lattice-beam"
  18. #define AM_SCALE "am-scale"
  19. // #define FST_HOTWORD "fst-hotword"
  20. #define FST_INC_WTS "fst-inc-wts"
  21. #define VAD_DIR "vad-dir"
  22. #define PUNC_DIR "punc-dir"
  23. #define QUANTIZE "quantize"
  24. #define VAD_QUANT "vad-quant"
  25. #define PUNC_QUANT "punc-quant"
  26. #define ASR_MODE "mode"
  27. #define WAV_PATH "wav-path"
  28. #define WAV_SCP "wav-scp"
  29. #define TXT_PATH "txt-path"
  30. #define THREAD_NUM "thread-num"
  31. #define PORT_ID "port-id"
  32. #define HOTWORD_SEP " "
  33. // #define VAD_MODEL_PATH "vad-model"
  34. // #define VAD_CMVN_PATH "vad-cmvn"
  35. // #define VAD_CONFIG_PATH "vad-config"
  36. // #define AM_MODEL_PATH "am-model"
  37. // #define AM_CMVN_PATH "am-cmvn"
  38. // #define AM_CONFIG_PATH "am-config"
  39. // #define PUNC_MODEL_PATH "punc-model"
  40. // #define PUNC_CONFIG_PATH "punc-config"
  41. #define MODEL_NAME "model.onnx"
  42. // hotword embedding compile model
  43. #define MODEL_EB_NAME "model_eb.onnx"
  44. #define QUANT_MODEL_NAME "model_quant.onnx"
  45. #define VAD_CMVN_NAME "vad.mvn"
  46. #define VAD_CONFIG_NAME "vad.yaml"
  47. #define AM_CMVN_NAME "am.mvn"
  48. #define AM_CONFIG_NAME "config.yaml"
  49. #define LM_CONFIG_NAME "config.yaml"
  50. #define PUNC_CONFIG_NAME "punc.yaml"
  51. #define MODEL_SEG_DICT "seg_dict"
  52. #define HOTWORD "hotword"
  53. // #define NN_HOTWORD "nn-hotword"
  54. #define ITN_DIR "itn-dir"
  55. #define ITN_TAGGER_NAME "zh_itn_tagger.fst"
  56. #define ITN_VERBALIZER_NAME "zh_itn_verbalizer.fst"
  57. #define ENCODER_NAME "model.onnx"
  58. #define QUANT_ENCODER_NAME "model_quant.onnx"
  59. #define DECODER_NAME "decoder.onnx"
  60. #define QUANT_DECODER_NAME "decoder_quant.onnx"
  61. #define LM_FST_RES "TLG.fst"
  62. #define LEX_PATH "lexicon.txt"
  63. // vad
  64. #ifndef VAD_SILENCE_DURATION
  65. #define VAD_SILENCE_DURATION 800
  66. #endif
  67. #ifndef VAD_MAX_LEN
  68. #define VAD_MAX_LEN 15000
  69. #endif
  70. #ifndef VAD_SPEECH_NOISE_THRES
  71. #define VAD_SPEECH_NOISE_THRES 0.9
  72. #endif
  73. #ifndef VAD_LFR_M
  74. #define VAD_LFR_M 5
  75. #endif
  76. #ifndef VAD_LFR_N
  77. #define VAD_LFR_N 1
  78. #endif
  79. // asr
  80. #ifndef PARA_LFR_M
  81. #define PARA_LFR_M 7
  82. #endif
  83. #ifndef PARA_LFR_N
  84. #define PARA_LFR_N 6
  85. #endif
  86. #ifndef ONLINE_STEP
  87. #define ONLINE_STEP 9600
  88. #endif
  89. // punc
  90. #define UNK_CHAR "<unk>"
  91. #define TOKEN_LEN 20
  92. #define CANDIDATE_NUM 6
  93. #define UNKNOW_INDEX 0
  94. #define NOTPUNC "_"
  95. #define NOTPUNC_INDEX 1
  96. #define COMMA_INDEX 2
  97. #define PERIOD_INDEX 3
  98. #define QUESTION_INDEX 4
  99. #define DUN_INDEX 5
  100. #define CACHE_POP_TRIGGER_LIMIT 200
  101. #define JIEBA_DICT "jieba.c.dict"
  102. #define JIEBA_USERDICT "jieba_usr_dict"
  103. #define JIEBA_HMM_MODEL "jieba.hmm"
  104. } // namespace funasr