Add Go API for Kokoro TTS models (#1722)
This commit is contained in:
1
scripts/go/_internal/non-streaming-tts/run-kokoro-en.sh
Symbolic link
1
scripts/go/_internal/non-streaming-tts/run-kokoro-en.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../go-api-examples/non-streaming-tts/run-kokoro-en.sh
|
||||
@@ -682,9 +682,18 @@ type OfflineTtsMatchaModelConfig struct {
|
||||
DictDir string // Path to dict directory for jieba (used only in Chinese tts)
|
||||
}
|
||||
|
||||
type OfflineTtsKokoroModelConfig struct {
|
||||
Model string // Path to the model for kokoro
|
||||
Voices string // Path to the voices.bin for kokoro
|
||||
Tokens string // Path to tokens.txt
|
||||
DataDir string // Path to espeak-ng-data directory
|
||||
LengthScale float32 // Please use 1.0 in general. Smaller -> Faster speech speed. Larger -> Slower speech speed
|
||||
}
|
||||
|
||||
type OfflineTtsModelConfig struct {
|
||||
Vits OfflineTtsVitsModelConfig
|
||||
Matcha OfflineTtsMatchaModelConfig
|
||||
Kokoro OfflineTtsKokoroModelConfig
|
||||
|
||||
// Number of threads to use for neural network computation
|
||||
NumThreads int
|
||||
@@ -776,6 +785,21 @@ func NewOfflineTts(config *OfflineTtsConfig) *OfflineTts {
|
||||
c.model.matcha.dict_dir = C.CString(config.Model.Matcha.DictDir)
|
||||
defer C.free(unsafe.Pointer(c.model.matcha.dict_dir))
|
||||
|
||||
// kokoro
|
||||
c.model.kokoro.model = C.CString(config.Model.Kokoro.Model)
|
||||
defer C.free(unsafe.Pointer(c.model.kokoro.model))
|
||||
|
||||
c.model.kokoro.voices = C.CString(config.Model.Kokoro.Voices)
|
||||
defer C.free(unsafe.Pointer(c.model.kokoro.voices))
|
||||
|
||||
c.model.kokoro.tokens = C.CString(config.Model.Kokoro.Tokens)
|
||||
defer C.free(unsafe.Pointer(c.model.kokoro.tokens))
|
||||
|
||||
c.model.kokoro.data_dir = C.CString(config.Model.Kokoro.DataDir)
|
||||
defer C.free(unsafe.Pointer(c.model.kokoro.data_dir))
|
||||
|
||||
c.model.kokoro.length_scale = C.float(config.Model.Kokoro.LengthScale)
|
||||
|
||||
c.model.num_threads = C.int(config.Model.NumThreads)
|
||||
c.model.debug = C.int(config.Model.Debug)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user