Add Java API for non-streaming ASR (#807)
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
// Copyright 2024 Xiaomi Corporation
|
||||
package com.k2fsa.sherpa.onnx;
|
||||
|
||||
public class OfflineRecognizerConfig {
|
||||
private final FeatureConfig featConfig;
|
||||
private final OfflineModelConfig modelConfig;
|
||||
private final String decodingMethod;
|
||||
private final int maxActivePaths;
|
||||
private final String hotwordsFile;
|
||||
private final float hotwordsScore;
|
||||
|
||||
private OfflineRecognizerConfig(Builder builder) {
|
||||
this.featConfig = builder.featConfig;
|
||||
this.modelConfig = builder.modelConfig;
|
||||
this.decodingMethod = builder.decodingMethod;
|
||||
this.maxActivePaths = builder.maxActivePaths;
|
||||
this.hotwordsFile = builder.hotwordsFile;
|
||||
this.hotwordsScore = builder.hotwordsScore;
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public OfflineModelConfig getModelConfig() {
|
||||
return modelConfig;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private FeatureConfig featConfig = FeatureConfig.builder().build();
|
||||
private OfflineModelConfig modelConfig = OfflineModelConfig.builder().build();
|
||||
private String decodingMethod = "greedy_search";
|
||||
private int maxActivePaths = 4;
|
||||
private String hotwordsFile = "";
|
||||
private float hotwordsScore = 1.5f;
|
||||
|
||||
public OfflineRecognizerConfig build() {
|
||||
return new OfflineRecognizerConfig(this);
|
||||
}
|
||||
|
||||
public Builder setFeatureConfig(FeatureConfig featConfig) {
|
||||
this.featConfig = featConfig;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setOfflineModelConfig(OfflineModelConfig modelConfig) {
|
||||
this.modelConfig = modelConfig;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setDecodingMethod(String decodingMethod) {
|
||||
this.decodingMethod = decodingMethod;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setMaxActivePaths(int maxActivePaths) {
|
||||
this.maxActivePaths = maxActivePaths;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setHotwordsFile(String hotwordsFile) {
|
||||
this.hotwordsFile = hotwordsFile;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setHotwordsScore(float hotwordsScore) {
|
||||
this.hotwordsScore = hotwordsScore;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user