语音能力

TTS 语音合成

16+ 语音合成引擎,流式音频输出与时间戳回调。

MCP API

所有 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")

支持的引擎

标识引擎说明
azureAzure多语言,企业级
elevenlabsElevenLabs音色丰富
openaiOpenAI自然度高
minimaxMiniMax中文优化
xunfei讯飞中文优化
aliyun阿里云中文优化
qcloud腾讯云中文优化
baidu百度中文优化
volcengine火山引擎中文优化
volcengine_clone火山克隆克隆音色
fishaudio / fishspeechFishAudio开源
coquiCoqui开源,可本地部署
googleGoogle多语言
awsAWS多语言
qiniu七牛中文优化
local / local_gospeech本地离线合成

流式合成

多数引擎支持流式返回音频块,OnMessage 回调可边收边播,降低首字节延迟。

与语音会话集成

protocol/voice 会话层中,TTS 通过 tts.FromSynthesisEngine(synth) 接入下行音频管道,支持 LLM token 流式驱动 TTS 分段合成。

相关地址

此页面对您有帮助吗?

本页内容