跳到主要内容

语音合成 (TTS)

安装所需的依赖并在 conf.yaml 进行配置后后,通过修改 conf.yaml 中的 TTS_MODEL 选项来启用相应的语音合成引擎。

sherpa-onnx(本地 & 推荐)

v0.5.0-alpha.1 版本起可用(PR#50

sherpa-onnx 是一个强大的推理引擎,支持多种 TTS 模型。项目已内置支持,默认使用 CPU 推理。

配置步骤:

  1. sherpa-onnx TTS models 下载所需模型
  2. 参考 config_alts 中的配置示例修改 conf.yaml
提示

如需使用 GPU 推理(仅支持 CUDA),请参考 CUDA推理

Edge TTS(在线、无需 API 密钥)

  • 特点:
    • 响应速度快
    • 需要保持网络连接
  • 配置:在 conf.yaml 中设置 tts_model: edge_tts

Fish Audio TTS(在线、需要 API 密钥)

v0.3.0-beta 版本起可用

  1. 安装依赖:
uv pip install fish-audio-sdk
  1. 配置步骤:
    • Fish Audio 注册账号并获取 API 密钥
    • 选择所需声音并复制其 Reference ID
    • conf.yaml 中设置:
      • tts_model: fish_api_tts
      • fish_api_tts 部分填写 api_keyreference_id

Azure TTS(在线、需要 API 密钥)

与 neuro-sama 相同的 TTS 服务

  1. 从 Azure 获取文本转语音服务的 API 密钥
  2. conf.yamlazure_tts 部分填写相关配置
注意

v0.2.5 版本起,api_key.py 已弃用,请务必在 conf.yaml 中设置 API 密钥

提示

conf.yaml 中默认使用的是 neuro-sama 同款语音

SiliconFlow TTS(在线、需 API 密钥)

硅基流动提供的在线文本转语音服务,支持自定义音频模型和音色配置。

配置步骤

  1. 上传音频
    硅基流动目前有FunAudioLLM/CosyVoice2-0.5B,需要上官网上传参考音频,网址如下: https://docs.siliconflow.cn/cn/api-reference/audio/upload-voice。

  2. 填写 conf.yaml 配置
    在配置文件的 siliconflow_tts 段落中,按以下格式填写参数(示例):

siliconflow_tts:
api_url: "https://api.siliconflow.cn/v1/audio/speech" # 服务端点,固定值
api_key: "sk-yourkey" # 官网获取的API密钥
default_model: "FunAudioLLM/CosyVoice2-0.5B" # 音频模型名称(支持列表见官网)
default_voice: "speech:Dreamflowers:aaaaaaabvbbbasdas" # 音色ID,需在官网上传自定义音色后获取
sample_rate: 32000 # 输出采样率,声音异常时可尝试调整(如16000、44100)
response_format: "mp3" # 音频格式(mp3/wav等)
stream: true # 是否启用流式传输
speed: 1 # 语速(0.5~2.0,1为默认)
gain: 0 # 音量增益

MiniMax TTS(在线、需要API密钥)

MiniMax提供的在线的TTS服务,speech-02-turbo等模型具有强大的TTS性能,并且可以自由定制音色。

配置步骤

  1. 获取group_idapi_key 您可以通过Minimax官网注册来获取group_idapi_key官方教程文档

  2. 填写conf.yaml配置 在配置文件的 minimax_tts 段落中,按以下格式填写参数(示例):

    minimax_tts:
group_id: '' # 你在 Minimax官网获取到 的 group_id
api_key: '' # 你在 Minimax官网获取到 的 api_key
# 支持的模型: 'speech-02-hd', 'speech-02-turbo'(推荐使用 'speech-02-turbo')
model: 'speech-02-turbo' # minimax 模型名称
voice_id: 'female-shaonv' # minimax 语音 id,默认 'female-shaonv'
# 自定义发音字典,默认为空。
# 示例: '{"tone": ["测试/(ce4)(shi4)", "危险/dangerous"]}'
pronunciation_dict: ''

其中voice_id是可以配置的声音音色,具体的支持声音列表可以查看官方文档中查询可用声音ID的部分pronunciation_dict是可以支持的自定义发声规则,比如您可以把牛肉发音为neuro,可以用类似示例的方法来定义这个发声规则。

ElevenLabs TTS (在线,需要API密钥)

自版本 v1.2.1 起可用

ElevenLabs 提供高质量、自然流畅的文本转语音服务,支持多种语言和声音克隆功能。

功能特点

  • 高质量音频:行业领先的语音合成质量
  • 多语言支持:支持英语、中文、日语、韩语等多种语言
  • 声音克隆:上传音频样本进行声音克隆
  • 丰富的语音库:提供多种预设语音和社区语音
  • 实时生成:低延迟语音合成

配置步骤

  1. 注册并获取API密钥

    • 访问 ElevenLabs 注册账户
    • 从 ElevenLabs 控制台获取您的 API 密钥
  2. 选择语音

    • 在 ElevenLabs 控制台中浏览可用语音
    • 复制您喜欢的语音的 Voice ID
    • 您也可以上传音频样本进行声音克隆
  3. 配置 conf.yaml 在配置文件的 elevenlabs_tts 段落中,按以下格式填写参数:

elevenlabs_tts:
api_key: 'your_elevenlabs_api_key' # 必需:您的 ElevenLabs API 密钥
voice_id: 'JBFqnCBsd6RMkjVDRZzb' # 必需:ElevenLabs 语音 ID
model_id: 'eleven_multilingual_v2' # 模型 ID(默认:eleven_multilingual_v2)
output_format: 'mp3_44100_128' # 输出音频格式(默认:mp3_44100_128)
stability: 0.5 # 语音稳定性(0.0 到 1.0,默认:0.5)
similarity_boost: 0.5 # 语音相似度增强(0.0 到 1.0,默认:0.5)
style: 0.0 # 语音风格夸张度(0.0 到 1.0,默认:0.0)
use_speaker_boost: true # 启用说话人增强以获得更好质量(默认:true)

参数说明

  • api_key(必需):您的 ElevenLabs API 密钥
  • voice_id(必需):语音的唯一标识符,在 ElevenLabs 控制台中找到
  • model_id:要使用的 TTS 模型。可用选项:
    • eleven_multilingual_v2(默认)- 支持多种语言
    • eleven_monolingual_v1 - 仅英语
    • eleven_turbo_v2 - 更快的生成速度
  • output_format:音频输出格式。常用选项:
    • mp3_44100_128(默认)- MP3,44.1kHz,128kbps
    • mp3_44100_192 - MP3,44.1kHz,192kbps
    • pcm_16000 - PCM,16kHz
    • pcm_22050 - PCM,22.05kHz
    • pcm_24000 - PCM,24kHz
    • pcm_44100 - PCM,44.1kHz
  • stability:控制语音一致性(0.0 = 更多变化,1.0 = 更一致)
  • similarity_boost:增强与原始语音的相似度(0.0 到 1.0)
  • style:控制风格夸张度(0.0 = 中性,1.0 = 更具表现力)
  • use_speaker_boost:启用说话人增强以提高音频质量

使用技巧

  • 语音选择:先尝试预设语音,然后考虑使用声音克隆获得自定义语音
  • 参数调优:调整 stabilitysimilarity_boost 以获得最佳效果
  • 成本管理:ElevenLabs 按使用量收费,大量使用前请先测试
  • 网络要求:需要稳定的网络连接以确保服务可用
提示

ElevenLabs 提供免费试用额度,您可以在购买付费计划前先测试质量。