许可协议: cc-by-nc-sa-4.0
支持语言:
- 英语
- 阿拉伯语
- 中文
- 荷兰语
- 法语
- 德语
- 意大利语
- 日语
- 韩语
- 立陶宛语
- 俄语
- 西班牙语
- 葡萄牙语
- 白俄罗斯语
- 孟加拉语
- 格鲁吉亚语
- 匈牙利语
- 拉脱维亚语
- 波斯语
- 波兰语
- 斯瓦希里语
- 泰米尔语
- 乌克兰语
任务类型: 文本转语音
标签:
- GPTQ量化
- 8位量化
- vllm推理框架
基础模型:
- OuteAI/Llama-OuteTTS-1.0-1B
Oute人工智能 (这个GPTQ量化版本可能无法运行,但至少已完成构建)
[!重要提示]
不同推理后端的重要采样注意事项
OuteTTS 1.0版本支持多后端运行,但由于各后端采样实现差异,
llama.cpp默认能提供最稳定可靠的输出质量。
为获得最佳效果,建议优先使用llama.cpp后端。
强烈建议按照此处指定参数运行模型。
偏离推荐设置可能导致输出质量下降或异常。
该问题主要源于不同后端对重复惩罚机制的实现差异。
本模型采用滑动窗口机制(64词元窗口),仅对最近词元施加惩罚而非全上下文窗口,效果最佳。
Llama.cpp和EXL2支持此类采样,而Transformers原生不支持。
为此我们已在OuteTTS库中为Hugging Face Transformers后端实现了滑动窗口重复惩罚,
显著提升输出质量并解决采样问题,效果可比肩llama.cpp。
若未启用此优化,输出质量将明显受损。
如您发现更优参数配置,欢迎在GitHub仓库提交issue分享。
OuteTTS 1.0版本
本次升级带来语音合成与声音克隆领域的重大突破——以紧凑体积实现更强大、精准且用户友好的体验。
核心升级
1. 提示系统重构与依赖简化
- 自动词语对齐:模型内置词语对齐功能,直接输入原始文本即可自动处理,无需预处理步骤(outeTTS库会自动进行轻度文本规范化)。
- 原生多语言支持:直接支持多语言原生文本输入,无需罗马音转换。
- 增强型元数据整合:新版提示系统融合全局/词语级元数据(时间、能量、频谱质心、音高),提升语音流畅度与合成质量。
- 新增音频编码簿标记:为codebook 1(c1)和codebook 2(c2)新增专用标记。
2. 全新音频编码器
3. 声音克隆优化
- 单样本克隆:通常仅需10秒参考音频即可生成精准声纹。
- 精度提升:新编码器与增强的训练元数据使克隆效果更自然精确。
4. 自动文本对齐与数字支持
- 智能文本对齐:基于预处理训练数据洞察,可自动对齐无明确边界的语言(如日语、中文)。
- 原生数字处理:内置多语言数字支持,无需提前转换为文字(注意:混合语言输入时模型倾向使用主导语言,可能产生误差)。
5. 多语言能力
-
支持语言:根据训练数据覆盖分为三个层级
-
高资源语言:英语、阿拉伯语、中文、荷兰语、法语、德语、意大利语、日语、韩语、立陶宛语、俄语、西班牙语
-
中资源语言:葡萄牙语、白俄罗斯语、孟加拉语、格鲁吉亚语、匈牙利语、拉脱维亚语、波斯语、波兰语、斯瓦希里语、泰米尔语、乌克兰语
-
扩展语言:可尝试生成未训练语言的语音,但效果无法保证
效果演示视频
快速入门
安装步骤
🔗 安装指南
基础使用
import outetts
interface = outetts.Interface(
config=outetts.ModelConfig.auto_config(
model=outetts.Models.VERSION_1_0_SIZE_1B,
backend=outetts.Backend.LLAMACPP,
quantization=outetts.LlamaCppQuantization.FP16
)
)
speaker = interface.load_default_speaker("EN-FEMALE-1-NEUTRAL")
output = interface.generate(
config=outetts.GenerationConfig(
text="你好,最近怎么样?",
generation_type=outetts.GenerationType.CHUNKED,
speaker=speaker,
sampler_config=outetts.SamplerConfig(
temperature=0.4
),
)
)
output.save("output.wav")
高级配置
完整配置指南请参阅:
🔗 接口使用文档
使用建议
发音人参考
本模型需配合发音人参考使用。无参考时将随机生成声学特征,通常导致质量下降。
模型会继承参考发音人的情感、风格和口音特征。
跨语言转换时可能保留原语言口音。
最佳音频时长
- 推荐时长:单次生成约42秒音频(约8,192词元)。建议实际使用时不超过7,000词元。
- 上下文折算:若使用10秒参考音频,有效生成时长将缩减至约32秒。
温度参数建议
测试表明0.4是最佳起始值(需配合下方采样参数)。某些发音人可能需更高温度增强表现力,或更低温度提升克隆精度。
声纹验证
若克隆效果不佳,建议解码检查声纹样本:
interface.decode_and_save_speaker(speaker=your_speaker, path="speaker.wav")
DAC音频重建存在信息损失,过载、异常响度或特殊音色的样本可能导致编码问题。
采样参数配置
推荐使用以下参数组合:
参数 |
推荐值 |
温度(Temperature) |
0.4 |
重复惩罚 |
1.1 |
惩罚窗口 |
64 |
Top-k |
40 |
Top-p |
0.9 |
Min-p |
0.05 |
生产环境建议优先使用llama.cpp后端。
模型规格
- 训练数据:约6万小时音频
- 上下文长度:最大支持8,192词元
训练参数
预训练阶段
- 优化器:AdamW
- 批大小:100万词元
- 最大学习率:3e-4
- 最小学习率:3e-5
- 上下文窗口:8192
微调阶段
- 优化器:AdamW
- 最大学习率:1e-5
- 最小学习率:5e-6
- 数据量:1万组高质量多样化样本
许可声明
致谢
伦理使用准则
本文本转语音模型旨在用于提升可访问性、促进创意表达的合法场景;
禁止用途包括:未经授权的身份仿冒、制造误导性内容、生成骚扰性材料、
未声明的合成音频传播、未经许可的声音克隆,
以及任何违反法律法规或侵犯版权的行为。