AISHELL/AISHELL-3
Preview • Updated • 3.6k • 8
How to use Regeny/VAE-DiT-TTS with Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("Regeny/VAE-DiT-TTS", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]import torch
from diffusers import DiffusionPipeline
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("Regeny/VAE-DiT-TTS", dtype=torch.bfloat16, device_map="cuda")
prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]基于 Diffusion Transformer (DiT)、Flow Matching 与 VAE latent 建模 的多语言 Zero-Shot 文本到语音(TTS)模型。只需提供一小段参考音频,即可快速克隆目标说话人的音色,并生成自然流畅的语音。
当前版本为 v1.0 Preview:在早期版本基础上,重点优化了 Duration Predictor(时长预测器),并引入了 GAN-based latent optimization,以进一步提升生成语音的节奏稳定性、清晰度与整体自然度。
💬 开源代码仓库:Light-yzc/F5_like_TTS
相比先前版本,v1.0 Preview 主要包含以下改进:
✅ 优化 Duration Predictor
✅ 新增 GAN-based latent optimization
✅ 整体推理效果增强
尽管 v1.0 Preview 已对 Duration Predictor 做了明显优化,但在超长句子、复杂混合语言文本或标点稀少的输入上,自动时长预测仍可能出现偏差。
如果在合成长句时遇到以下情况:
建议在推理时手动指定 duration 参数。
例如如果你预估目标输出约为 10 秒,可传入 duration=10.0,以获得更稳定的生成结果。
| 组件 | 详情 |
|---|---|
| 主干网络 (Backbone) | DiT (30 层, 1024 维度, 16 头) |
| 文本编码器 | F5 风格的字符级 Tokenizer + ConvNeXt (14 层) |
| 音频编码器 | AutoencoderOobleck (64 维隐空间, 25fps) |
| 时长预测器 | 改进版 Duration Predictor(ConvNeXt + Transformer + 多尺度池化) |
| latent 优化 | GAN-based latent optimization / refinement |
| 采样方法 | Flow Matching + Sway Sampling (coef=-1.0) |
| 训练损失 | CTC 对齐损失 + Flow Matching 损失 + 对抗式 latent 优化目标 |
pip install torch torchaudio transformers diffusers phonemizer pykakasi pypinyin rjieba huggingface_hub
apt install espeak-ng # Linux 系统必需,用于 G2P 音素转换
# brew install espeak-ng # macOS