Add Koltin and Java API for Kokoro TTS models (#1728)
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
// Copyright 2025 Xiaomi Corporation
|
||||
package com.k2fsa.sherpa.onnx;
|
||||
|
||||
public class OfflineTtsKokoroModelConfig {
|
||||
private final String model;
|
||||
private final String voices;
|
||||
private final String tokens;
|
||||
private final String dataDir;
|
||||
private final float lengthScale;
|
||||
|
||||
private OfflineTtsKokoroModelConfig(Builder builder) {
|
||||
this.model = builder.model;
|
||||
this.voices = builder.voices;
|
||||
this.tokens = builder.tokens;
|
||||
this.dataDir = builder.dataDir;
|
||||
this.lengthScale = builder.lengthScale;
|
||||
}
|
||||
|
||||
public static Builder builder() {
|
||||
return new Builder();
|
||||
}
|
||||
|
||||
public String getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public String getVoices() {
|
||||
return voices;
|
||||
}
|
||||
|
||||
public String getTokens() {
|
||||
return tokens;
|
||||
}
|
||||
|
||||
public String getDataDir() {
|
||||
return dataDir;
|
||||
}
|
||||
|
||||
public float getLengthScale() {
|
||||
return lengthScale;
|
||||
}
|
||||
|
||||
|
||||
public static class Builder {
|
||||
private String model = "";
|
||||
private String voices = "";
|
||||
private String tokens = "";
|
||||
private String dataDir = "";
|
||||
private float lengthScale = 1.0f;
|
||||
|
||||
public OfflineTtsKokoroModelConfig build() {
|
||||
return new OfflineTtsKokoroModelConfig(this);
|
||||
}
|
||||
|
||||
public Builder setModel(String model) {
|
||||
this.model = model;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setVoices(String voices) {
|
||||
this.voices = voices;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setTokens(String tokens) {
|
||||
this.tokens = tokens;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setDataDir(String dataDir) {
|
||||
this.dataDir = dataDir;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setLengthScale(float lengthScale) {
|
||||
this.lengthScale = lengthScale;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ package com.k2fsa.sherpa.onnx;
|
||||
public class OfflineTtsModelConfig {
|
||||
private final OfflineTtsVitsModelConfig vits;
|
||||
private final OfflineTtsMatchaModelConfig matcha;
|
||||
private final OfflineTtsKokoroModelConfig kokoro;
|
||||
private final int numThreads;
|
||||
private final boolean debug;
|
||||
private final String provider;
|
||||
@@ -12,6 +13,7 @@ public class OfflineTtsModelConfig {
|
||||
private OfflineTtsModelConfig(Builder builder) {
|
||||
this.vits = builder.vits;
|
||||
this.matcha = builder.matcha;
|
||||
this.kokoro = builder.kokoro;
|
||||
this.numThreads = builder.numThreads;
|
||||
this.debug = builder.debug;
|
||||
this.provider = builder.provider;
|
||||
@@ -29,9 +31,14 @@ public class OfflineTtsModelConfig {
|
||||
return matcha;
|
||||
}
|
||||
|
||||
public OfflineTtsKokoroModelConfig getKokoro() {
|
||||
return kokoro;
|
||||
}
|
||||
|
||||
public static class Builder {
|
||||
private OfflineTtsVitsModelConfig vits = OfflineTtsVitsModelConfig.builder().build();
|
||||
private OfflineTtsMatchaModelConfig matcha = OfflineTtsMatchaModelConfig.builder().build();
|
||||
private OfflineTtsKokoroModelConfig kokoro = OfflineTtsKokoroModelConfig.builder().build();
|
||||
private int numThreads = 1;
|
||||
private boolean debug = true;
|
||||
private String provider = "cpu";
|
||||
@@ -50,6 +57,11 @@ public class OfflineTtsModelConfig {
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setKokoro(OfflineTtsKokoroModelConfig kokoro) {
|
||||
this.kokoro = kokoro;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder setNumThreads(int numThreads) {
|
||||
this.numThreads = numThreads;
|
||||
return this;
|
||||
|
||||
Reference in New Issue
Block a user