Phiên bản v2 — cải tiến khả năng điều khiển biểu cảm bằng emoji cho tiếng Việt và
nhân bản giọng (voice cloning) so với bản đầu. Mô hình chuyển văn bản thành giọng nói
tiếng Việt (và tiếng Nhật kế thừa), dựa trên kiến trúc Rectified-Flow Diffusion
Transformer (RF-DiT) sinh audio trên latent liên tục ở 48kHz. Xây trên nền
Irodori-TTS-500M-v3.
🔒 Truy cập có kiểm duyệt: đây là mô hình gated. Bấm xin quyền truy cập, điền
thông tin; chủ mô hình sẽ nhận thông báo và duyệt thủ công từng yêu cầu.
✨ Mới ở v2
Biểu cảm/ngắt nghỉ tiếng Việt tự nhiên hơn khi dùng emoji (bản đầu bị phẳng).
Voice cloning tốt hơn — nhân bản giọng chính xác, kể cả giọng mẫu tiếng Nhật đọc tiếng Việt.
Bắt đầu có hiệu ứng âm thanh (sound effect) theo emoji trên tiếng Việt; rõ nhất khi lặp emoji.
Vẫn giữ tốt biểu cảm và phát âm tiếng Nhật.
🏗️ Kiến trúc
Kế thừa nguyên vẹn kiến trúc của Irodori-TTS-500M-v3:
Text Encoder — token embedding từ llm-jp/llm-jp-3-150m + các lớp transformer dùng RoPE.
Reference Latent Encoder — các lớp self-attention mã hóa giọng/phong cách từ audio mẫu.
Diffusion Transformer — các khối DiT joint-attention với Low-Rank AdaLN và SwiGLU MLP.
Duration Predictor — các khối SwiGLU xếp chồng để dự đoán độ dài audio.
Codec — audio biểu diễn bằng latent liên tục qua Aratako/Semantic-DACVAE-Japanese-32dim
(32 chiều), tái tạo waveform chất lượng cao 48kHz.
SilentCipher — tích hợp watermark âm thanh vô hình, bền vững trên audio sinh ra
(kế thừa từ v3), hướng tới sử dụng AI có trách nhiệm.
📦 Hai cách dùng (chọn 1)
merged/model.safetensors — mô hình đã gộp sẵn, dùng trực tiếp (không cần adapter).
adapter/ — LoRA adapter, gắn lên base Aratako/Irodori-TTS-500M-v3 khi suy luận.
Tham số khuyến nghị: cfg_scale_speaker=2.5, cfg_scale_text=3.0, duration_scale=1.0,
num_steps=40.
🚀 Cách dùng
bash
1huggingface-cli login # dán token của tài khoản đã được Accept2git clone https://github.com/Aratako/Irodori-TTS &&cd Irodori-TTS && pip install -e .
python
1from huggingface_hub import hf_hub_download
2ckpt = hf_hub_download("LeNgocTu/Irodori-Sen-TTS-v2","merged/model.safetensors")# đường dẫn <ckpt>
bash
1# Nhân bản giọng (có audio mẫu):2python infer.py --checkpoint <ckpt> --text "Xin chào, rất vui được gặp bạn." --ref-wav ref.wav --cfg-scale-speaker 2.5 --cfg-scale-text 3.0 --num-steps 40 --output-wav out.wav
34# Biểu cảm bằng emoji (lặp emoji cho hiệu ứng rõ):5python infer.py --checkpoint <ckpt> --text "Thôi được rồi😮💨😮💨, mình chịu thua cậu rồi." --ref-wav ref.wav --cfg-scale-speaker 2.5 --num-steps 40 --output-wav out.wav
🔊 Nghe thử
1. 🎙️ Nhân bản giọng (voice cloning)
Cung cấp một đoạn audio mẫu ngắn, mô hình đọc văn bản bằng giọng đó (chưa thêm biểu cảm).
Tiếng Việt — Đừng hiểu lầm nhé, không phải vì lo cho cậu đâu, chỉ là tiện đường ngang qua thôi.
Tiếng Nhật — はじめまして、どうぞよろしくお願いいたします。
Tiếng Việt (câu dài) — Buổi sáng hôm nay trời trong xanh và mát mẻ, tôi quyết định đi dạo một vòng quanh công viên gần nhà để hít thở không khí trong lành.
Giọng
Audio mẫu
Audio tạo ra
1 · Tiếng Việt
2 · Tiếng Nhật
3 · Tiếng Việt (câu dài)
2. 🎌 Nhân bản giọng chéo — giọng mẫu tiếng Nhật đọc câu tiếng Việt
Dùng một đoạn audio mẫu tiếng Nhật làm giọng, mô hình đọc văn bản tiếng Việt bằng chất giọng đó.
Câu ngắn — Xin chào, rất vui được gặp bạn ngày hôm nay.
Câu vừa — Cảm ơn cậu đã luôn ở bên và giúp đỡ tớ suốt thời gian qua.
Câu dài — Dù giọng mẫu mang âm sắc tiếng Nhật, mô hình vẫn đọc trọn vẹn một câu tiếng Việt dài với ngữ điệu tương đối tự nhiên và dễ nghe.
Mẫu
Giọng mẫu (Nhật)
Audio tạo ra
1 · Câu ngắn
2 · Câu vừa
3 · Câu dài
3. 🎭 Biểu cảm bằng emoji (trên giọng mẫu tiếng Việt)
Emoji trong văn bản điều khiển cảm xúc và hiệu ứng âm thanh. Ở đây dùng giọng mẫu tiếng Việt cho
giọng tự nhiên, dễ nghe; emoji được lặp để hiệu ứng âm thanh rõ hơn.
😭 Buồn / nghẹn ngào — Tôi nhớ nhà quá😭😭, chẳng biết bao giờ mới được về.
😮💨 Thở dài — Cả ngày hôm nay mệt quá đi😮💨😮💨, chỉ mong sớm được về nhà nghỉ ngơi một chút.
😆 Phấn khích — Tuyệt vời quá đi😆😆, cuối cùng cũng làm được rồi.
🫶 Dịu dàng — Không sao đâu🫶🫶, cứ yên tâm, mình luôn ở bên cạnh cậu.
🤭 Cười khúc khích — Chuyện đó buồn cười thật đấy🤭🤭, chịu không nổi.
Mẫu
Giọng mẫu (Việt)
Audio tạo ra
1 · 😭 Buồn / nghẹn ngào
2 · 😮💨 Thở dài
3 · 😆 Phấn khích
4 · 🫶 Dịu dàng
5 · 🤭 Cười khúc khích
4. 🎌 Biểu cảm emoji tiếng Nhật (không giọng mẫu)
Không audio mẫu; emoji điều khiển biểu cảm trên tiếng Nhật — nơi hiệu ứng âm thanh rõ nhất (kế thừa từ mô hình gốc).
😮💨 Thở dài — ねえ、どうしたの?…😮💨😮💨話してみて。
😭 Buồn — もう嫌だ…😭😭どうすればいいの。
😆 Vui — やったー😆😆、ついにできたよ!
Mẫu
Audio tạo ra
1 · 😮💨 Thở dài
2 · 😭 Buồn
3 · 😆 Vui
😀 Điều khiển bằng emoji
Chèn emoji vào văn bản để điều khiển cảm xúc, phong cách và hiệu ứng âm thanh (thở dài 😮💨,
thì thầm 👂, cười khúc khích 🤭, giận 😠, ...). Danh sách đầy đủ xem file
EMOJI_ANNOTATIONS.md kèm theo.
💡 Mẹo dùng:
Đặt emoji ở giữa hoặc cuối câu cho kết quả tự nhiên nhất; tránh đặt ngay đầu câu.
Lặp emoji (vd 😮💨😮💨) để hiệu ứng âm thanh rõ hơn; emoji đơn cho hiệu ứng nhẹ.
Với tiếng Việt, dùng kèm giọng mẫu (ref) cho giọng tự nhiên; nếu đọc hơi chậm khi có biểu cảm, giảm duration_scale (vd 0.9).
⚠️ Hạn chế
Hiệu ứng âm thanh trên tiếng Việt đã có nhưng chưa mạnh bằng tiếng Nhật — một số
hiệu ứng đặc thù còn đang tiếp tục cải thiện ở các phiên bản sau.
Biểu cảm emoji giảm khi nhân bản giọng trung tính/lạnh — nếu cần biểu cảm mạnh nhất,
ưu tiên tiếng Nhật không giọng mẫu; với tiếng Việt nên lặp emoji.
Trộn Việt–Nhật trong cùng một câu/đoạn dài còn yếu — nên tách theo từng ngôn ngữ.
Đoạn quá dài (khoảng trên 8–10 giây) có thể kém ổn định ở phần cuối.
Mô hình 500M — kỳ vọng "đủ tốt", không phải chất lượng đỉnh của các hệ lớn.
🚧 Đang phát triển: mô hình vẫn đang được cải tiến để tăng cường hiệu ứng âm thanh cho
tiếng Việt. Các phiên bản sau sẽ được cập nhật.
🙏 Lời cảm ơn / 謝辞
Xin chân thành cảm ơn Aratako đã tạo ra và chia sẻ
mã nguồn mở Irodori-TTS-500M-v3. Mô hình tiếng Việt
này kế thừa hoàn toàn kiến trúc, trọng số gốc, codec DACVAE và khả năng điều khiển emoji từ đó.
本当にありがとうございます。