Add Dart API for Kokoro TTS 1.0 (#1806)
This commit is contained in:
@@ -155,6 +155,8 @@ final class SherpaOnnxOfflineTtsKokoroModelConfig extends Struct {
|
||||
|
||||
@Float()
|
||||
external double lengthScale;
|
||||
external Pointer<Utf8> dictDir;
|
||||
external Pointer<Utf8> lexicon;
|
||||
}
|
||||
|
||||
final class SherpaOnnxOfflineTtsModelConfig extends Struct {
|
||||
|
||||
@@ -67,11 +67,13 @@ class OfflineTtsKokoroModelConfig {
|
||||
this.tokens = '',
|
||||
this.dataDir = '',
|
||||
this.lengthScale = 1.0,
|
||||
this.dictDir = '',
|
||||
this.lexicon = '',
|
||||
});
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'OfflineTtsKokoroModelConfig(model: $model, voices: $voices, tokens: $tokens, dataDir: $dataDir, lengthScale: $lengthScale)';
|
||||
return 'OfflineTtsKokoroModelConfig(model: $model, voices: $voices, tokens: $tokens, dataDir: $dataDir, lengthScale: $lengthScale, dictDir: $dictDir, lexicon: $lexicon)';
|
||||
}
|
||||
|
||||
final String model;
|
||||
@@ -79,6 +81,8 @@ class OfflineTtsKokoroModelConfig {
|
||||
final String tokens;
|
||||
final String dataDir;
|
||||
final double lengthScale;
|
||||
final String dictDir;
|
||||
final String lexicon;
|
||||
}
|
||||
|
||||
class OfflineTtsModelConfig {
|
||||
@@ -166,6 +170,8 @@ class OfflineTts {
|
||||
c.ref.model.kokoro.tokens = config.model.kokoro.tokens.toNativeUtf8();
|
||||
c.ref.model.kokoro.dataDir = config.model.kokoro.dataDir.toNativeUtf8();
|
||||
c.ref.model.kokoro.lengthScale = config.model.kokoro.lengthScale;
|
||||
c.ref.model.kokoro.dictDir = config.model.kokoro.dictDir.toNativeUtf8();
|
||||
c.ref.model.kokoro.lexicon = config.model.kokoro.lexicon.toNativeUtf8();
|
||||
|
||||
c.ref.model.numThreads = config.model.numThreads;
|
||||
c.ref.model.debug = config.model.debug ? 1 : 0;
|
||||
@@ -181,6 +187,8 @@ class OfflineTts {
|
||||
calloc.free(c.ref.ruleFsts);
|
||||
calloc.free(c.ref.model.provider);
|
||||
|
||||
calloc.free(c.ref.model.kokoro.lexicon);
|
||||
calloc.free(c.ref.model.kokoro.dictDir);
|
||||
calloc.free(c.ref.model.kokoro.dataDir);
|
||||
calloc.free(c.ref.model.kokoro.tokens);
|
||||
calloc.free(c.ref.model.kokoro.voices);
|
||||
|
||||
Reference in New Issue
Block a user