Add Java API for text-to-speech (#811)

This commit is contained in:
Fangjun Kuang
2024-04-26 09:26:39 +08:00
committed by GitHub
parent fa2429920f
commit 15772d2150
15 changed files with 692 additions and 0 deletions

View File

@@ -0,0 +1,116 @@
// Copyright 2024 Xiaomi Corporation
package com.k2fsa.sherpa.onnx;
public class OfflineTtsVitsModelConfig {
private final String model;
private final String lexicon;
private final String tokens;
private final String dataDir;
private final String dictDir;
private final float noiseScale;
private final float noiseScaleW;
private final float lengthScale;
private OfflineTtsVitsModelConfig(Builder builder) {
this.model = builder.model;
this.lexicon = builder.lexicon;
this.tokens = builder.tokens;
this.dataDir = builder.dataDir;
this.dictDir = builder.dictDir;
this.noiseScale = builder.noiseScale;
this.noiseScaleW = builder.noiseScaleW;
this.lengthScale = builder.lengthScale;
}
public static Builder builder() {
return new Builder();
}
public String getModel() {
return model;
}
public String getLexicon() {
return lexicon;
}
public String getTokens() {
return tokens;
}
public String getDataDir() {
return dataDir;
}
public String getDictDir() {
return dictDir;
}
public float getLengthScale() {
return lengthScale;
}
public float getNoiseScale() {
return noiseScale;
}
public float getNoiseScaleW() {
return noiseScaleW;
}
public static class Builder {
private String model;
private String lexicon = "";
private String tokens;
private String dataDir = "";
private String dictDir = "";
private float noiseScale = 0.667f;
private float noiseScaleW = 0.8f;
private float lengthScale = 1.0f;
public OfflineTtsVitsModelConfig build() {
return new OfflineTtsVitsModelConfig(this);
}
public Builder setModel(String model) {
this.model = model;
return this;
}
public Builder setTokens(String tokens) {
this.tokens = tokens;
return this;
}
public Builder setLexicon(String lexicon) {
this.lexicon = lexicon;
return this;
}
public Builder setDataDir(String dataDir) {
this.dataDir = dataDir;
return this;
}
public Builder setDictDir(String dictDir) {
this.dictDir = dictDir;
return this;
}
public Builder setNoiseScale(float noiseScale) {
this.noiseScale = noiseScale;
return this;
}
public Builder setNoiseScaleW(float noiseScaleW) {
this.noiseScaleW = noiseScaleW;
return this;
}
public Builder setLengthScale(float lengthScale) {
this.lengthScale = lengthScale;
return this;
}
}
}