Yêu cầu quyền truy cập Irodori-Sen-TTS
Vui lòng cung cấp thông tin bên dưới. Chủ mô hình sẽ xét duyệt thủ công từng yêu cầu.
Tôi đồng ý sử dụng mô hình một cách có trách nhiệm và tôn trọng giấy phép cùng công sức của tác giả gốc Irodori-TTS.
Log in or Sign Up to review the conditions and access this model content.
🎨 Irodori-Sen-TTS — Giọng nói song ngữ Việt–Nhật (trên nền Irodori-TTS)
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) (theo tinh thần Echo-TTS) sinh audio trên latent liên tục ở 48kHz. Hỗ trợ nhân bản giọng (voice cloning) zero-shot và điều khiển phong cách / hiệu ứng âm thanh bằng emoji. 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.
🏗️ 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 baseAratako/Irodori-TTS-500M-v3khi 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
Mô hình chạy trên mã nguồn gốc Irodori-TTS. Vì repo gated, hãy đăng nhập bằng tài khoản đã được duyệt trước khi tải, rồi cài mã nguồn:
huggingface-cli login # dán token của tài khoản đã được Accept
git clone https://github.com/Aratako/Irodori-TTS && cd Irodori-TTS && pip install -e .
Cách 1 — dùng model đã gộp (merged/, đơn giản nhất)
from huggingface_hub import hf_hub_download
ckpt = hf_hub_download("LeNgocTu/Irodori-Sen-TTS", "merged/model.safetensors") # in ra đường dẫn <ckpt>
# Nhân bản giọng (có audio mẫu):
python 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
# Không giọng mẫu + biểu cảm bằng emoji:
python infer.py --checkpoint <ckpt> --text "Thôi được rồi😮💨, mình chịu thua cậu rồi." --no-ref --num-steps 40 --output-wav out.wav
Cách 2 — dùng LoRA adapter (gắn lên base v3)
from huggingface_hub import hf_hub_download, snapshot_download
base = hf_hub_download("Aratako/Irodori-TTS-500M-v3", "model.safetensors") # <base>
adapter_dir = snapshot_download("LeNgocTu/Irodori-Sen-TTS", allow_patterns=["adapter/*"]) + "/adapter" # <adapter_dir>
python infer.py --checkpoint <base> --lora-adapter <adapter_dir> --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
💡 Thay
<ckpt>,<base>,<adapter_dir>bằng đường dẫn được in ra từ đoạn Python phía trên. Bỏ--ref-wavvà thêm--no-refnếu muốn chạy không giọng mẫu.
🔊 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 đó — mang âm sắc Nhật nhưng vẫn rõ tiếng Việt.
- 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. 🎭 Không giọng mẫu — điều khiển biểu cảm bằng emoji
Không cần audio mẫu; emoji trong văn bản điều khiển cảm xúc/phong cách (biểu cảm rõ nhất ở chế độ này).
- Tiếng Việt — Thôi được rồi😮💨, mình chịu thua cậu rồi đấy.
- Tiếng Nhật — ねえ、どうしたの?…😮💨話してみて。
- Tiếng Việt (câu 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 cho lại sức.
| 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) |
4. 🗣️ Không giọng mẫu — đọc thường
Không audio mẫu, không emoji; mô hình tự chọn giọng và đọc trơn.
- Tiếng Việt — Hôm nay là một ngày đẹp trời để bắt đầu một công việc mới.
- Tiếng Nhật — 今日はとてもいい天気ですね。少し散歩しましょう。
- Tiếng Việt (câu dài) — Công nghệ tổng hợp giọng nói đang phát triển rất nhanh trong những năm gần đây, mở ra nhiều ứng dụng hữu ích cho giáo dục, giải trí và trợ lý ảo.
| 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) |
😀 Đ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: đặ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.
⚠️ Chưa đảm bảo chất lượng emoji trên tiếng Việt: khả năng điều khiển emoji được kế thừa từ mô hình gốc (huấn luyện trên dữ liệu tiếng Nhật có emoji). Phần tiếng Việt chưa được huấn luyện riêng trên tập dữ liệu emoji, nên hiệu quả emoji khi đọc tiếng Việt còn chưa ổn định — đây là phần đang trong quá trình nghiên cứu và sẽ cải thiện ở các phiên bản sau.
⚠️ Hạn chế
- Biểu cảm emoji giảm khi nhân bản giọng trung tính/lạnh — muốn biểu cảm mạnh nên dùng chế độ không giọng mẫu (mục 2).
- Đọc tiếng Nhật tốt nhất khi không giọng mẫu hoặc dùng giọng mẫu tiếng Nhật; ép giọng mẫu tiếng Việt đọc tiếng Nhật sẽ kém chuẩn hơn.
- 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 huấn luyện tiếp để cải thiện các hạn chế trên (biểu cảm, code-switch, độ ổn định câu dài). 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ừ đó. 本当にありがとうございます。
📜 Giấy phép
MIT — kế thừa giấy phép của Irodori-TTS gốc.
🖊️ Trích dẫn
@misc{irodori-sen-tts,
author = {Le Ngoc Tu},
title = {Irodori-Sen-TTS: Vietnamese-Japanese TTS fine-tuned from Irodori-TTS},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/LeNgocTu/Irodori-Sen-TTS}}
}
@misc{irodori-tts-v3,
author = {Chihiro Arata},
title = {Irodori-TTS: A Flow Matching-based Text-to-Speech Model with Emoji-driven Style Control},
year = {2026},
publisher = {Hugging Face},
howpublished = {\url{https://huggingface.co/Aratako/Irodori-TTS-500M-v3}}
}
Model tree for LeNgocTu/Irodori-Sen-TTS
Base model
Aratako/Irodori-TTS-500M-v2