m0_74196153/Irodori-TTS-500M-v2
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Irodori-TTS-500M-v2

代码 WandB 演示空间

Irodori-TTS-500M-v2 是一个基于修正流扩散Transformer(RF-DiT)架构的日语文本转语音模型。其架构和训练设计在很大程度上遵循了 Echo-TTS,将连续潜变量作为生成目标。它支持从参考音频进行零样本声音克隆。

该模型的一个独特功能是基于表情符号的风格和音效控制——通过在输入文本中插入特定表情符号,您可以控制生成音频中的说话风格、情感甚至音效。

🌟 主要特点

  • 流匹配文本转语音: 对连续DACVAE潜变量使用修正流扩散Transformer,实现高质量日语语音合成。
    • 声音克隆: 从简短的参考音频片段进行零样本声音克隆。
    • 基于表情符号的风格控制: 通过在输入文本中直接嵌入表情符号来控制说话风格、情感和音效。完整的支持表情符号及其效果列表,请参见 EMOJI_ANNOTATIONS.md。

✨ v2 版本新特性

此版本相比原始 Irodori-TTS-500M 带来了多项改进:

  • 升级的VAE: 将音频VAE切换为 Aratako/Semantic-DACVAE-Japanese-32dim,实现更高质量的日语语音生成。
    • 扩展训练: 训练步数增加了2.5倍,从而实现更好的收敛性、稳定性和整体音频保真度。
    • 数据与预处理改进: 实施了精细化的文本预处理流程和更严格的数据过滤,以增强模型的鲁棒性和输出质量。

🏗️ 模型架构

该模型(约5亿参数)由三个主要组件构成:

  1. 文本编码器: 基于llm-jp/llm-jp-3-150m初始化的词嵌入,其后是带RoPE的自注意力+SwiGLUTransformer层。
  2. 参考 latent 编码器: 通过自注意力+SwiGLU层对分块参考音频 latent 进行编码,以实现说话人/风格条件控制。
  3. 扩散 Transformer: 具有低秩 AdaLN(时间步条件自适应层归一化)、half-RoPE 和 SwiGLU MLP 的联合注意力 DiT 块。

音频通过Aratako/Semantic-DACVAE-Japanese-32dim编解码器(32维)表示为连续 latent 序列,可实现高质量48kHz波形重建。

🎧 音频样本

1. 标准TTS

基本的日语文本转语音生成(无参考音频)。

案例文本生成音频
样本1"お電話ありがとうございます。ただいま電話が大変混み合っております。恐れ入りますが、発信音のあとに、ご用件をお話しください。"
样本2"その森には、古い言い伝えがありました。月が最も高く昇る夜、静かに耳を澄ませば、風の歌声が聞こえるというのです。私は半信半疑でしたが、その夜、確かに誰かが私を呼ぶ声を聞いたのです。"

2. 表情符号标注控制

使用表情符号控制说话风格和效果的示例。支持的完整表情符号列表,请参见EMOJI_ANNOTATIONS.md。

案例文本(含表情符号)生成音频
样本1なーに、どうしたの?…え?もっと近づいてほしい?…👂😮‍💨👂😮‍💨こういうのが好きなんだ?
样本2うぅ…😭そんなに酷いこと、言わないで…😭
样本3🤧🤧ごめんね、風邪引いちゃってて🤧…大丈夫、ただの風邪だからすぐ治るよ🥺

3. 声音克隆(零样本)

从参考音频片段克隆声音的示例。

案例参考音频生成音频
示例 1
示例 2

🚀 使用方法

有关推理代码、安装说明和训练脚本,请参考 GitHub 仓库:

👉 GitHub: Aratako/Irodori-TTS

📊 训练数据与标注

该模型在高质量日语语音数据集上进行训练,v2 版本中对数据过滤进行了优化。为实现基于表情符号的风格控制,训练文本中添加了表情符号标注。这些标注是使用基于 Qwen/Qwen3-Omni-30B-A3B-Instruct 的微调模型自动生成和标记的。

⚠️ 局限性

  • 仅限日语:当前模型仅支持日语文本输入。
    • 表情符号控制:尽管基于表情符号的风格控制增加了表现力,但其效果可能因语境而异,并非始终完全一致。
    • 音频质量:质量取决于训练数据的特性。对于训练数据中代表性不足的声音或说话风格,性能可能会有所差异。
    • 汉字读音准确性:与同等规模的其他 TTS 模型相比,该模型准确读取汉字的能力相对较弱。您可能需要事先将复杂汉字转换为平假名或片假名。

📜 许可与伦理限制

许可

本模型以 MIT 许可发布。

伦理限制

除许可条款外,还应遵守以下伦理限制:

  1. 禁止冒充:未经明确同意,不得使用本模型克隆或冒充任何个人(如配音演员、名人、公众人物)的声音。
  2. 禁止虚假信息:不得使用本模型生成旨在误导他人或传播虚假信息的深度伪造内容或合成语音。
  3. 语音生成免责声明:当完全基于文本生成语音而不使用参考音频时,生成的语音可能碰巧与真实人物的声音相似。这完全是潜在空间内的概率性产物。本模型的训练目的并非复制特定个人的声音。
  4. 责任免责声明:开发者对本模型的任何误用不承担责任。用户应自行确保其对生成内容的使用符合其所在司法管辖区的适用法律法规。

🙏 致谢

本项目基于以下成果构建:

  • Echo-TTS — 架构和训练设计参考
    • DACVAE — 音频VAE
    • llm-jp/llm-jp-3-150m — 分词器和嵌入权重初始化

我们还要特别感谢**Respair** 为表情符号标注功能提供的灵感。

🖊️ 引用

如果您在研究或项目中使用Irodori-TTS-v2,请按以下方式引用:

@misc{irodori-tts-v2,
  author = {Chihiro Arata},
  title = {Irodori-TTS: A Flow Matching-based Text-to-Speech Model with Emoji-driven Style Control},
  year = {2026},
  publisher = {Hugging Face},
  journal = {Hugging Face repository},
  howpublished = {\url{https://huggingface.co/Aratako/Irodori-TTS-500M-v2}}
}

NPU部署(Ascend 910B4)

验证环境

组件版本
PyTorch2.6.0
torch-npu2.9.0
CANN8.5.1
transformers4.49.0

推理命令

python inference.py \
  --checkpoint /path/to/model.safetensors \
  --text "こんにちは、音声合成のテストです。" \
  --device npu \
  --num-steps 20 \
  --output-wav output.wav

精度评测

NPU 与 CPU 前向传播的相对误差 < 0.001%(阈值为 1%),输出张量范数保持一致。

性能参考

阶段NPUCPU加速比
RF 采样 (20步)2,272 ms1,016,744 ms447倍
潜空间解码12,937 ms320,478 ms25倍
总计15.2 秒1,337 秒88倍

通过 eval/eval_accuracy.py 和 eval/eval_performance.py 可复现精度与性能评测结果。