Aratako/Irodori-TTS

A Flow Matching-based Text-to-Speech Model with Emoji-driven Style Control

Irodori‑TTS – 流匹配文本转语音

是什么 – 一种研究级的TTS系统,使用流匹配扩散模型(Rectified Flow Diffusion Transformer)从文本生成日语语音。它在DACVAE编解码器生成的连续潜在表示上运行,遵循Echo‑TTS的设计。

核心功能

  • 零样本语音克隆 – 提供一段简短的参考录音,模型即可模仿该说话人。
  • 多模态“VoiceDesign” – 结合普通文本、参考语音和可选的标题(对期望语音风格的简短描述),控制说话人身份、情感和语调。标题可以是普通文本或表情符号提示。
  • 自动持续时间预测 – 模型会估计输出应持续多久,因此通常无需指定长度。
  • PEFT LoRA微调 – 可在发布的检查点上训练轻量级适配器,无需完整重训练即可适应新数据。
  • 说话人反转 – 可训练一个可重复使用的说话人嵌入文件,可在推理时交换使用,避免每次调用都上传参考音频。
  • MeanFlow蒸馏变体 – 一种蒸馏检查点(v4‑Small‑MF),仅需4步扩散即可合成,显著加快生成速度。
  • 量化检查点 – 提供int8/int4/float8仅权重变体,适用于低内存推理。

如何使用

  1. 安装 – 克隆仓库并使用 uv sync --extra cu128(或 rocm, xpu, cpu)安装适当的PyTorch扩展。
  2. 运行推理 – 一行命令(infer.py)可指定Hugging Face检查点、输入文本、可选的参考wav(或嵌入)和输出路径。
  3. Web UI – 提供两个Gradio应用:
    • gradio_app.py 用于基本克隆/说话人反转。
    • gradio_app_voicedesign.py 用于标题+参考的“VoiceDesign”模式。
  4. 训练/微调 – 脚本(train.py, prepare_manifest.py)支持全模型微调、LoRA适配器和说话人反转训练。通过 torchrun 启用多GPU DDP。
  5. 转换 – 训练后可将检查点转换为纯推理专用的 .safetensors 文件。

模型架构(v4.1‑Small)

  • 共享ModernBERT编码器 – 处理主文本和任何标题。
  • 参考潜在编码器 – 编码最多120秒的参考音频的DACVAE潜在表示。
  • 条件投影器 – 将文本和标题嵌入映射到扩散模型的条件空间。
  • 扩散Transformer(DiT) – 具有低秩AdaLN、半RoPE和SwiGLU MLP的联合注意力块。
  • 持续时间预测器 – 内置模块,从条件输入中估计输出长度。

获取模型 – 预训练检查点和音频样本托管在Hugging Face上(例如 Aratako/Irodori‑TTS‑v4.1‑Small)。演示Space展示了模型的实际运行效果。

典型应用场景

  • 为虚拟助手、有声读物或游戏角色生成自然流畅的日语语音。
  • 通过零样本克隆快速原型化新说话人声音。
  • 通过提供文本标题(例如“平静的女性声音”或表情符号序列)实现风格可控的旁白。
  • 在边缘GPU上部署轻量级、量化的TTS服务。

相关项目 – 仓库提到一个OpenAI兼容服务器(Irodori‑TTS‑Server),便于API暴露,且基于Echo‑TTS和Facebook的DACVAE编解码器。


所有细节均直接取自仓库的README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目