Add Java API for non-streaming ASR (#807)

This commit is contained in:
Fangjun Kuang
2024-04-24 21:03:26 +08:00
committed by GitHub
parent c3a2e8a67c
commit 83cd533f67
24 changed files with 834 additions and 27 deletions

View File

@@ -0,0 +1,80 @@
// Copyright 2024 Xiaomi Corporation
package com.k2fsa.sherpa.onnx;
public class OfflineWhisperModelConfig {
private final String encoder;
private final String decoder;
private final String language;
private final String task;
private final int tailPaddings;
private OfflineWhisperModelConfig(Builder builder) {
this.encoder = builder.encoder;
this.decoder = builder.decoder;
this.language = builder.language;
this.task = builder.task;
this.tailPaddings = builder.tailPaddings;
}
public static Builder builder() {
return new Builder();
}
public String getEncoder() {
return encoder;
}
public String getDecoder() {
return decoder;
}
public String getLanguage() {
return language;
}
public String getTask() {
return task;
}
public int getTailPaddings() {
return tailPaddings;
}
public static class Builder {
private String encoder = "";
private String decoder = "";
private String language = "en"; // used only with multilingual models
private String task = "transcribe"; // used only with multilingual models
private int tailPaddings = 1000; // number of frames to pad
public OfflineWhisperModelConfig build() {
return new OfflineWhisperModelConfig(this);
}
public Builder setEncoder(String encoder) {
this.encoder = encoder;
return this;
}
public Builder setDecoder(String decoder) {
this.decoder = decoder;
return this;
}
public Builder setLanguage(String language) {
this.language = language;
return this;
}
public Builder setTask(String task) {
this.task = task;
return this;
}
public Builder setTailPaddings(int tailPaddings) {
this.tailPaddings = tailPaddings;
return this;
}
}
}