| package examples | |
| import ( | |
| "github.com/getcharzp/go-speech/tts/melotts" | |
| "github.com/up-zero/gotool/fileutil" | |
| "testing" | |
| ) | |
| func TestMeloTTS(t *testing.T) { | |
| cfg := melotts.Config{ | |
| OnnxRuntimeLibPath: "../lib/onnxruntime.dll", | |
| ModelPath: "../melo_weights/model.onnx", | |
| TokenPath: "../melo_weights/tokens.txt", | |
| LexiconPath: "../melo_weights/lexicon.txt", | |
| } | |
| ttsEngine, err := melotts.NewEngine(cfg) | |
| if err != nil { | |
| t.Fatalf("创建引擎失败: %v", err) | |
| } | |
| defer ttsEngine.Destroy() | |
| text := "2019年12月30日,中国人口突破14亿人。联系电话: 13800138000。" | |
| wavData, err := ttsEngine.SynthesizeToWav(text, 1.0) | |
| if err != nil { | |
| t.Fatalf("合成失败: %v", err) | |
| } | |
| outputPath := "output.wav" | |
| err = fileutil.FileSave(outputPath, wavData) | |
| if err != nil { | |
| t.Fatalf("保存 WAV 失败: %v", err) | |
| } | |
| } | |