File size: 860 Bytes
50b0b12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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)
	}
}