Add blank penalty for various language bindings. (#1234)

This commit is contained in:
Fangjun Kuang
2024-08-08 10:43:31 +08:00
committed by GitHub
parent ba4cb6169f
commit 94e256244d
38 changed files with 123 additions and 42 deletions

View File

@@ -159,11 +159,12 @@ class OfflineRecognizerConfig {
this.hotwordsScore = 1.5,
this.ruleFsts = '',
this.ruleFars = '',
this.blankPenalty = 0.0,
});
@override
String toString() {
return 'OfflineRecognizerConfig(feat: $feat, model: $model, lm: $lm, decodingMethod: $decodingMethod, maxActivePaths: $maxActivePaths, hotwordsFile: $hotwordsFile, hotwordsScore: $hotwordsScore, ruleFsts: $ruleFsts, ruleFars: $ruleFars)';
return 'OfflineRecognizerConfig(feat: $feat, model: $model, lm: $lm, decodingMethod: $decodingMethod, maxActivePaths: $maxActivePaths, hotwordsFile: $hotwordsFile, hotwordsScore: $hotwordsScore, ruleFsts: $ruleFsts, ruleFars: $ruleFars, blankPenalty: $blankPenalty)';
}
final FeatureConfig feat;
@@ -179,6 +180,8 @@ class OfflineRecognizerConfig {
final String ruleFsts;
final String ruleFars;
final double blankPenalty;
}
class OfflineRecognizerResult {
@@ -268,6 +271,8 @@ class OfflineRecognizer {
c.ref.ruleFsts = config.ruleFsts.toNativeUtf8();
c.ref.ruleFars = config.ruleFars.toNativeUtf8();
c.ref.blankPenalty = config.blankPenalty;
final ptr = SherpaOnnxBindings.createOfflineRecognizer?.call(c) ?? nullptr;
calloc.free(c.ref.ruleFars);

View File

@@ -114,11 +114,12 @@ class OnlineRecognizerConfig {
this.ctcFstDecoderConfig = const OnlineCtcFstDecoderConfig(),
this.ruleFsts = '',
this.ruleFars = '',
this.blankPenalty = 0.0,
});
@override
String toString() {
return 'OnlineRecognizerConfig(feat: $feat, model: $model, decodingMethod: $decodingMethod, maxActivePaths: $maxActivePaths, enableEndpoint: $enableEndpoint, rule1MinTrailingSilence: $rule1MinTrailingSilence, rule2MinTrailingSilence: $rule2MinTrailingSilence, rule3MinUtteranceLength: $rule3MinUtteranceLength, hotwordsFile: $hotwordsFile, hotwordsScore: $hotwordsScore, ctcFstDecoderConfig: $ctcFstDecoderConfig, ruleFsts: $ruleFsts, ruleFars: $ruleFars)';
return 'OnlineRecognizerConfig(feat: $feat, model: $model, decodingMethod: $decodingMethod, maxActivePaths: $maxActivePaths, enableEndpoint: $enableEndpoint, rule1MinTrailingSilence: $rule1MinTrailingSilence, rule2MinTrailingSilence: $rule2MinTrailingSilence, rule3MinUtteranceLength: $rule3MinUtteranceLength, hotwordsFile: $hotwordsFile, hotwordsScore: $hotwordsScore, ctcFstDecoderConfig: $ctcFstDecoderConfig, ruleFsts: $ruleFsts, ruleFars: $ruleFars, blankPenalty: $blankPenalty)';
}
final FeatureConfig feat;
@@ -142,6 +143,8 @@ class OnlineRecognizerConfig {
final OnlineCtcFstDecoderConfig ctcFstDecoderConfig;
final String ruleFsts;
final String ruleFars;
final double blankPenalty;
}
class OnlineRecognizerResult {
@@ -209,6 +212,8 @@ class OnlineRecognizer {
c.ref.ruleFsts = config.ruleFsts.toNativeUtf8();
c.ref.ruleFars = config.ruleFars.toNativeUtf8();
c.ref.blankPenalty = config.blankPenalty;
final ptr = SherpaOnnxBindings.createOnlineRecognizer?.call(c) ?? nullptr;
calloc.free(c.ref.ruleFars);

View File

@@ -194,6 +194,9 @@ final class SherpaOnnxOfflineRecognizerConfig extends Struct {
external Pointer<Utf8> ruleFsts;
external Pointer<Utf8> ruleFars;
@Float()
external double blankPenalty;
}
final class SherpaOnnxOnlineTransducerModelConfig extends Struct {
@@ -269,6 +272,9 @@ final class SherpaOnnxOnlineRecognizerConfig extends Struct {
external Pointer<Utf8> ruleFsts;
external Pointer<Utf8> ruleFars;
@Float()
external double blankPenalty;
}
final class SherpaOnnxSileroVadModelConfig extends Struct {