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

Irodori-TTS-500M-v2-VoiceDesign

代码 演示空间

Irodori-TTS-500M-v2-VoiceDesign 是一款基于修正流扩散Transformer(RF-DiT)架构的日语文本转语音模型。该变体源自基础v2模型,将参考潜变量编码器替换为文本描述编码器。

此模型无需参考音频即可进行语音克隆,而是具备语音设计(Voice Design) 功能——仅通过描述性文本提示(caption),您就能全面控制并生成说话人的声音、情感及说话风格。

此外,该模型保留了基于表情符号的风格与音效控制——通过在输入文本中插入特定表情符号,您可以在生成过程中进一步微调说话风格、情感和音效。

🌟 核心特性

  • 流匹配文本转语音: 在连续DACVAE潜变量上使用修正流扩散Transformer,实现高质量日语语音合成。
    • 语音设计(文本描述条件控制): 通过文本描述说话人的语气、年龄、性别和情感,生成多样化的声音。无需参考音频。
    • 基于表情符号的风格控制: 直接在输入文本中嵌入表情符号,实现对语音表达的精细控制。支持的表情符号完整列表请参见 EMOJI_ANNOTATIONS.md。

🏗️ 架构

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

  1. 文本编码器: 令牌嵌入初始化自llm-jp/llm-jp-3-150m,其后是带RoPE的自注意力 + SwiGLU transformer层。
  2. 文本描述编码器: 对用于风格控制的文本(描述)进行编码,以定义说话人和声学环境,从而无需参考音频分支。
  3. 扩散Transformer: 具有低秩AdaLN(时间步条件自适应层归一化)、半RoPE和SwiGLU MLPs的联合注意力DiT块。

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

🎧 音频示例

基于文本描述的声音设计

以下示例展示了如何仅通过描述性文本控制说话人的声音、情感和风格。请注意,相同的输入文本可以以完全不同的方式呈现。

文本(输入)描述(声音设计)生成音频
明日の午後に予定していた会議だけど、急遽来週に延期になったみたい。悪いんだけど、資料の準備は一旦ストップしておいてくれるかな。一位低声女性,难掩烦躁,语气焦急地说着。音质清晰,略带情绪化的语调,透着一丝无奈。
明日の午後に予定していた会議だけど、急遽来週に延期になったみたい。悪いんだけど、資料の準備は一旦ストップしておいてくれるかな。希望是稍偏高亢的男性嗓音,带着关切与歉意的温和语气。
おかしいな、さっきまで確かにここにあったはずなんだけど。誰かが気を利かせて、別の場所に片付けちゃったのかな。一位年轻女性,困惑不解,仿佛在喃喃自语般低语。
おかしいな、さっきまで確かにここにあったはずなんだけど。誰かが気を利かせて、別の場所に片付けちゃったのかな。一位充满强烈怀疑与不满的成年女性。她显得非常愤怒,特意大声说话以便周围的人能听到。

声音设计与表情符号的结合

您还可以将声音设计描述与嵌入文本中的表情符号注释相结合。这允许在基础声音设计之上进行更精细的控制,添加特定的情感细微差别、停顿或音效。

文本(含表情符号)描述(声音设计)生成音频
これ、昨日からずっと机の上に置きっぱなしになってますよ🤭早く片付けておいてくださいね🫶一位成年男性,边说边笑,语气温和地劝导。听起来从容不迫,语气中还夹杂着一丝无奈。
これ😠、昨日からずっと机の上に置きっぱなしになってますよ😒早く片付けておいてくださいね😠希望是稍低沉的女性嗓音,带着厌恶感,语气愤怒。说话过程中夹杂着咂舌声,带着强烈的鄙夷感。

🚀 使用方法

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

👉 GitHub: Aratako/Irodori-TTS

📊 训练数据与标注

该模型基于高质量的日语语音数据集进行训练。为实现语音设计(Voice Design)功能,训练数据中还添加了描述音频特征的详细文本说明。

表情符号标注和初始文本说明是通过基于 Qwen/Qwen3-Omni-30B-A3B-Instruct 的微调模型生成并标注的。随后,使用 Qwen/Qwen3.5-35B-A3B 对文本说明进行了改写和优化。

⚠️ 局限性

  • 仅支持日语: 该模型目前仅支持日语文本输入。
    • 提示词遵循度: 虽然模型通常会遵循说明中的指示,但过于复杂或相互矛盾的描述可能导致生成的语音不一致。
    • 表情符号控制: 尽管基于表情符号的风格控制增加了表现力,但其效果可能因上下文而异,并非总能保持完美一致。
    • 汉字读音准确性: 与其他同规模的 TTS 模型相比,该模型准确读取汉字的能力相对较弱。您可能需要事先将复杂汉字转换为平假名或片假名。

📜 许可证与伦理限制

许可证

本模型以 MIT 许可证发布。

伦理限制

除许可证条款外,还适用以下伦理限制:

  1. 禁止模仿: 不得利用本模型的说明功能,在未经明确同意的情况下,故意生成模仿特定现实人物(如配音演员、名人、公众人物)的声音。
  2. 禁止传播虚假信息: 不得使用本模型生成旨在误导他人或传播虚假信息的合成语音。
  3. 语音生成免责声明: 用于训练本模型的说明数据不包含特定说话人姓名;仅包含性别、音高、语气和语速等描述性属性。尽管生成的音频有可能巧合地与真人声音相似,但这完全是潜在空间内的概率性产物。本模型的训练并非以再现特定个人声音为目的。
  4. 责任免责声明: 开发者对本模型的任何误用不承担责任。用户应自行确保其对生成内容的使用符合其所在司法管辖区的适用法律法规。

🙏 致谢

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

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

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

🖊️ 引用

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

@misc{irodori-tts,
  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-VoiceDesign}}
}

NPU部署(昇腾910B4)

验证环境

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

推理命令

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

精度评测

NPU 与 CPU 前向传播相对误差 < 0.001%(阈值 1%)。

性能参考

阶段NPUCPU加速比
RF 采样 (20步)2,339 ms1,016,744 ms435x
潜空间解码12,054 ms320,478 ms27x
总计14.4 s1,337 s93x

使用 eval/eval_accuracy.py 和 eval/eval_performance.py 可复现精度与性能评测。