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仅权重变体,适用于低内存推理。
如何使用
- 安装 – 克隆仓库并使用
uv sync --extra cu128(或rocm,xpu,cpu)安装适当的PyTorch扩展。 - 运行推理 – 一行命令(
infer.py)可指定Hugging Face检查点、输入文本、可选的参考wav(或嵌入)和输出路径。 - Web UI – 提供两个Gradio应用:
gradio_app.py用于基本克隆/说话人反转。gradio_app_voicedesign.py用于标题+参考的“VoiceDesign”模式。
- 训练/微调 – 脚本(
train.py,prepare_manifest.py)支持全模型微调、LoRA适配器和说话人反转训练。通过torchrun启用多GPU DDP。 - 转换 – 训练后可将检查点转换为纯推理专用的
.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;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目