zr_jin
Committed by GitHub

Swift API for hotwords support (#331)

@@ -108,7 +108,9 @@ func sherpaOnnxOnlineRecognizerConfig( @@ -108,7 +108,9 @@ func sherpaOnnxOnlineRecognizerConfig(
108 rule2MinTrailingSilence: Float = 1.2, 108 rule2MinTrailingSilence: Float = 1.2,
109 rule3MinUtteranceLength: Float = 30, 109 rule3MinUtteranceLength: Float = 30,
110 decodingMethod: String = "greedy_search", 110 decodingMethod: String = "greedy_search",
111 - maxActivePaths: Int = 4 111 + maxActivePaths: Int = 4,
  112 + hotwordsFile: String = "",
  113 + hotwordsScore: Float = 1.5
112 ) -> SherpaOnnxOnlineRecognizerConfig { 114 ) -> SherpaOnnxOnlineRecognizerConfig {
113 return SherpaOnnxOnlineRecognizerConfig( 115 return SherpaOnnxOnlineRecognizerConfig(
114 feat_config: featConfig, 116 feat_config: featConfig,
@@ -118,7 +120,9 @@ func sherpaOnnxOnlineRecognizerConfig( @@ -118,7 +120,9 @@ func sherpaOnnxOnlineRecognizerConfig(
118 enable_endpoint: enableEndpoint ? 1 : 0, 120 enable_endpoint: enableEndpoint ? 1 : 0,
119 rule1_min_trailing_silence: rule1MinTrailingSilence, 121 rule1_min_trailing_silence: rule1MinTrailingSilence,
120 rule2_min_trailing_silence: rule2MinTrailingSilence, 122 rule2_min_trailing_silence: rule2MinTrailingSilence,
121 - rule3_min_utterance_length: rule3MinUtteranceLength) 123 + rule3_min_utterance_length: rule3MinUtteranceLength,
  124 + hotwords_file: toCPointer(hotwordsFile),
  125 + hotwords_score: hotwordsScore)
122 } 126 }
123 127
124 /// Wrapper for recognition result. 128 /// Wrapper for recognition result.
@@ -327,14 +331,18 @@ func sherpaOnnxOfflineRecognizerConfig( @@ -327,14 +331,18 @@ func sherpaOnnxOfflineRecognizerConfig(
327 modelConfig: SherpaOnnxOfflineModelConfig, 331 modelConfig: SherpaOnnxOfflineModelConfig,
328 lmConfig: SherpaOnnxOfflineLMConfig = sherpaOnnxOfflineLMConfig(), 332 lmConfig: SherpaOnnxOfflineLMConfig = sherpaOnnxOfflineLMConfig(),
329 decodingMethod: String = "greedy_search", 333 decodingMethod: String = "greedy_search",
330 - maxActivePaths: Int = 4 334 + maxActivePaths: Int = 4,
  335 + hotwordsFile: String = "",
  336 + hotwordsScore: Float = 1.5
331 ) -> SherpaOnnxOfflineRecognizerConfig { 337 ) -> SherpaOnnxOfflineRecognizerConfig {
332 return SherpaOnnxOfflineRecognizerConfig( 338 return SherpaOnnxOfflineRecognizerConfig(
333 feat_config: featConfig, 339 feat_config: featConfig,
334 model_config: modelConfig, 340 model_config: modelConfig,
335 lm_config: lmConfig, 341 lm_config: lmConfig,
336 decoding_method: toCPointer(decodingMethod), 342 decoding_method: toCPointer(decodingMethod),
337 - max_active_paths: Int32(maxActivePaths) 343 + max_active_paths: Int32(maxActivePaths),
  344 + hotwords_file: toCPointer(hotwordsFile),
  345 + hotwords_score: hotwordsScore
338 ) 346 )
339 } 347 }
340 348