语音能力
TTS 语音合成
16+ 语音合成引擎,流式音频输出与时间戳回调。
所有 TTS 引擎实现 synthesizer.AudioSynthesisEngine 接口,合成结果通过 AudioSynthesisHandler 回调流式返回。
接口
type AudioSynthesisEngine interface {
Provider() TTSProvider
Format() media.StreamFormat
Synthesize(ctx context.Context, handler AudioSynthesisHandler, text string) error
Close() error
}
type AudioSynthesisHandler interface {
OnMessage([]byte) // 音频数据块
OnTimestamp(ts SentenceTimestamp) // 字/句时间戳
}基本用法
import "github.com/LingByte/lingllm/synthesizer"
engine, err := synthesizer.NewAudioSynthesisEngine("elevenlabs", map[string]any{
"apiKey": os.Getenv("ELEVENLABS_API_KEY"),
"voiceId": "your-voice-id",
})
if err != nil {
panic(err)
}
defer engine.Close()
handler := &MyHandler{} // 实现 AudioSynthesisHandler
err = engine.Synthesize(context.Background(), handler, "你好,来自 LingLLM")支持的引擎
| 标识 | 引擎 | 说明 |
|---|---|---|
azure | Azure | 多语言,企业级 |
elevenlabs | ElevenLabs | 音色丰富 |
openai | OpenAI | 自然度高 |
minimax | MiniMax | 中文优化 |
xunfei | 讯飞 | 中文优化 |
aliyun | 阿里云 | 中文优化 |
qcloud | 腾讯云 | 中文优化 |
baidu | 百度 | 中文优化 |
volcengine | 火山引擎 | 中文优化 |
volcengine_clone | 火山克隆 | 克隆音色 |
fishaudio / fishspeech | FishAudio | 开源 |
coqui | Coqui | 开源,可本地部署 |
google | 多语言 | |
aws | AWS | 多语言 |
qiniu | 七牛 | 中文优化 |
local / local_gospeech | 本地 | 离线合成 |
流式合成
多数引擎支持流式返回音频块,OnMessage 回调可边收边播,降低首字节延迟。
与语音会话集成
在 protocol/voice 会话层中,TTS 通过 tts.FromSynthesisEngine(synth) 接入下行音频管道,支持 LLM token 流式驱动 TTS 分段合成。
相关地址
| 类型 | 地址 |
|---|---|
| 源码 | github.com/LingByte/lingllm/tree/main/synthesizer |
| Go 文档 | pkg.go.dev/github.com/LingByte/lingllm/synthesizer |
| 示例 | voice-demo |
| 上游文档 | Azure TTS · ElevenLabs · OpenAI TTS |
| 站内文档 | 语音会话协议 |
此页面对您有帮助吗?