AI & AUTOMATION

Kokoro-82M là gì? Cách thử model TTS mã nguồn mở trên Colab/Python

Tóm tắt nhanh:

Kokoro-82M là model text-to-speech open-weight 82 triệu tham số, license Apache-2.0, có demo Hugging Face Space và thư viện Python chính thức. Nếu bạn muốn thử tạo giọng đọc từ văn bản, hướng an toàn nhất là dùng code trong model card/GitHub: cài kokoro, soundfile, espeak-ng, tạo KPipeline, chọn lang_codevoice, rồi xuất WAV. Bài này không tự benchmark chất lượng và không khuyến khích clone giọng người thật khi chưa có quyền.

Kokoro-82M là model TTS open-weight của hexgrad/Kokoro-82M trên Hugging Face. Model card ghi model có 82 triệu tham số, pipeline tag là text-to-speech, base model liên quan StyleTTS2-LJSpeech và license Apache-2.0.

Điểm hay của Kokoro là nó có đủ nguồn chính thức để viết bài hướng dẫn: model card, repo inference library hexgrad/kokoro, demo Space hexgrad/Kokoro-TTS, file VOICES.md và code Python mẫu.

Khi nào bạn nên dùng Kokoro?

Bạn nên thử Kokoro khi muốn tạo audio đọc văn bản cho demo, nội dung cá nhân, prototype app, hoặc kiểm tra pipeline TTS local/Colab. Vì model có license Apache-2.0, nó dễ nghiên cứu hơn nhiều model chỉ có license hạn chế, nhưng bạn vẫn phải kiểm tra license của dữ liệu/giọng/đầu ra theo use case riêng.

Bạn không nên dùng Kokoro để giả mạo người thật, tạo nội dung lừa đảo, hoặc gắn giọng nói với danh tính người khác khi chưa có quyền rõ ràng.

Cần chuẩn bị gì trước khi cài

Nếu thử trên Google Colab hoặc Linux, nguồn chính thức dùng Python, package kokoro, soundfileespeak-ng. Với Windows, repo hướng dẫn cài espeak-ng bằng file MSI từ trang release của dự án espeak-ng.

Nếu dùng Apple Silicon, README của hexgrad/kokoro ghi có thể đặt biến môi trường PYTORCH_ENABLE_MPS_FALLBACK=1 để bật fallback MPS khi chạy script Kokoro.

Cách thử nhanh trên Colab hoặc Linux

Code chính thức trong GitHub README dùng lệnh cài sau:

!pip install -q kokoro>=0.9.4 soundfile
!apt-get -qq -y install espeak-ng > /dev/null 2>&1

Sau đó import pipeline và thư viện ghi file WAV:

from kokoro import KPipeline
from IPython.display import display, Audio
import soundfile as sf
import torch

Tạo pipeline tiếng Anh Mỹ:

pipeline = KPipeline(lang_code='a')

Tạo audio với voice af_heart:

text = 'Kokoro is an open-weight text-to-speech model.'
generator = pipeline(text, voice='af_heart')
for i, (gs, ps, audio) in enumerate(generator):
    print(i, gs, ps)
    display(Audio(data=audio, rate=24000, autoplay=i==0))
    sf.write(f'{i}.wav', audio, 24000)

Mình giữ đúng cấu trúc code từ nguồn chính thức, chỉ rút ngắn text để dễ đọc hơn.

Cách chọn ngôn ngữ và voice

README nâng cao liệt kê các lang_code đáng chú ý: a cho American English, b cho British English, e cho Spanish, f cho French, h cho Hindi, i cho Italian, j cho Japanese, p cho Brazilian Portuguese và z cho Mandarin Chinese.

Với Japanese, README ghi cần pip install misaki[ja]; với Mandarin Chinese cần pip install misaki[zh]. File VOICES.md cũng nhắc chất lượng non-English có thể yếu do G2P hoặc dữ liệu huấn luyện ít, nên bạn nên nghe thử từng voice trước khi dùng thật.

Cách kiểm tra kết quả

Sau khi chạy, bạn kiểm tra ba thứ: cell không lỗi import, audio phát được trong notebook, và file 0.wav hoặc các file WAV tương ứng được ghi ra. Nếu print(gs, ps) có text/phoneme nhưng audio lỗi, hãy kiểm tra package soundfile và môi trường phát audio.

Với nội dung dài, VOICES.md cảnh báo voice có thể bị rushing khi trên khoảng 400 tokens. Cách xử lý an toàn là chia đoạn ngắn hơn thay vì ép một đoạn quá dài.

Lỗi thường gặp

Lỗi đầu tiên là thiếu espeak-ng, nhất là khi chạy ngoài Colab. Hãy cài đúng package cho hệ điều hành của bạn.

Lỗi thứ hai là chọn lang_code không khớp voice. README ghi rõ hãy bảo đảm lang_code khớp voice đang dùng.

Lỗi thứ ba là kỳ vọng quá cao ở non-English. VOICES.md nói một số ngôn ngữ có dữ liệu mỏng hoặc G2P yếu, nên cần kiểm thử bằng nội dung thật.

Lưu ý an toàn và pháp lý

Model card cảnh báo có website giả mạo dùng tên Kokoro ở root domain và không thuộc/không liên kết với tác giả model. Bạn nên lấy model, demo và code từ Hugging Face/GitHub chính thức.

Về pháp lý, đừng dùng TTS để giả danh người khác, tạo cuộc gọi lừa đảo, né xác minh danh tính, hoặc phát tán nội dung không có quyền. License Apache-2.0 của model không miễn trừ trách nhiệm với nội dung bạn tạo ra.

FAQ

Kokoro-82M có miễn phí không?

Model card ghi license Apache-2.0. Tuy vậy, nếu bạn dùng API bên thứ ba hoặc hạ tầng cloud, chi phí sẽ phụ thuộc nhà cung cấp đó.

Kokoro có hỗ trợ tiếng Việt không?

Trong nguồn đã kiểm tra, VOICES.md liệt kê English, Japanese, Mandarin Chinese, Spanish, French, Hindi, Italian và Brazilian Portuguese. Mình không thấy tiếng Việt trong danh sách voice chính thức, nên không nên quảng cáo hỗ trợ tiếng Việt.

Có cần GPU không?

Nguồn quickstart không bắt buộc GPU cho thử notebook cơ bản, nhưng tốc độ sẽ phụ thuộc môi trường chạy.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất