功能建议:支持自定义音色/声音克隆,让 AI 伴侣拥有"自己的声音"
Author: Zhaohaoyang625Created Sep 1, 2026Updated Sep 2, 2026
Labelsscope/providersscope/uiscope/audio-outputfeature
Clear and concise description of the problem
作为使用这个项目的开发者,我希望 AIRI 支持用户自定义音色/声音克隆,这样 AI 伴侣可以拥有专属的固定声音,提升仿真感。
背景
我是 AIRI 的深度用户(DeepSeek 大脑 + 网页版/桌面版双端),同时也自研了一个 AI 伴侣项目(xiaoli,台湾甜妹人设、全离线本地语音),在"AI 伴侣的仿真感"上有实战经验。
现状问题
- AIRI 目前只有预设音色(Kokoro 本地只有英文 28 音色;中文只能走云端 MiniMax 等,且是通用音色)
- 对 AI 伴侣场景,"声音"是灵魂:真人感的伴侣应该有自己的、固定的声音——用户录几段样本就能克隆专属声音,比在几十个通用音色里挑一个"最有感觉的"吸引力大得多
- 中文语音的免费本地方案缺失:Kokoro 不支持中文,Browser (Local)/App (Local) 需要自建本地服务,对普通用户门槛高
Suggested solution / Ideas
期望功能
- 声音克隆(核心诉求):用户提供 1~5 分钟音频样本 → 生成专属音色 → 之后她一直用这个声音说话(像真人 AI 伴侣那样"有个固定的人声")
- 支持云端克隆服务(如火山引擎 seed-tts 的快速声音复刻)与本地克隆(如 qwen_tts / GPT-SoVITS 类)双路线
- 若短期无法做克隆,退一步:至少补一个免费的中文本地 TTS 方案(Kokoro 的多语言版或同类)
接入建议
- 在服务商体系里新增
Voice Clone分类:样本上传 → 训练/克隆 → 作为普通音色出现在"发声"列表 - 克隆功能优先做云端 API 接入(火山/OpenAI 兼容的克隆接口),本地克隆作为进阶路线(参考 xiaoli 的实现,可后续单独拆成插件)
- 用户样本与音色数据随角色卡绑定,随角色卡导出/分享
Alternative
若短期无法做克隆,退一步:至少补一个免费的中文本地 TTS 方案(Kokoro 的多语言版或同类)
Additional context
参考实现(我的项目实战经验)
我的项目里已经实现并验证了类似链路:
- 本地:
qwen_tts(Qwen3TTSModel)本地推理 + 声音克隆,全离线(模型约 7GB,NVIDIA 显卡可跑) - 云端:火山引擎豆包语音 v3(
seed-tts-2.0),支持快速声音复刻;未配置时自动降级 edge-tts(优雅降级链) - 情绪表达(一个踩过的坑,值得分享):往 TTS 文本里注入"<整体情绪:生气>"这类指令会被一字一句念出来(实测:带指令 5.96s vs 无指令 4.22s,文本变长 = 在读指令)。正确做法是用
speech_rate / loudness / pitch参数模拟情绪,情绪色彩由 LLM 写的台词本身承载,语音参数只做轻微辅助——避免戏剧化
附加价值
- 角色卡生态会因此更有趣:社区可以分享"带专属声音的角色卡"
- 对"仿真感"体验的提升是决定性的:AI 伴侣的核心竞争力不是"能说",而是"用谁的声音说"
资源
- 我的实现参考:xiaoli/tts_local.py(qwen_tts 本地推理)、xiaoli/tts_api.py(火山 v3 + 降级链)
- 完整开发日志:xiaoli/docs/design-log.md(含 TTS 选型、情绪参数实测数据)
如果需要我提供更详细的实测数据、接入细节或测试样本,随时可以补充。谢谢!
Validations
- Follow our Code of Conduct
- Read the Contributing Guide.
- Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
Source: moeru-ai/airi