Kokoro liên tục xuất hiện — đứng đầu Hacker News, dẫn đầu các bảng xếp hạng Chuyển Văn Bản Thành Giọng Nói mã nguồn mở, và các nhà sáng tạo cứ hỏi liệu một model 82 triệu tham số chạy trên CPU thường có thật sự thay thế được voice API trả phí hay không. Thế là chúng tôi cài thử, chạy trên laptop và tạo ra các mẫu mà bạn có thể phát bên dưới. Đây là bài mổ xẻ thực chiến: Kokoro là gì, nghe thực tế ra sao, hai “cái bẫy” cài đặt khiến chúng tôi tốn thời gian, và khi nào nên chọn công cụ dạng hosted. Nguồn: github.com/hexgrad/kokoro (Apache-2.0).

Kokoro là gì, và ai tạo ra nó?

Kokoro là một model Chuyển Văn Bản Thành Giọng Nói open-weight do hexgrad phát hành với tên Kokoro-82M. Điểm nổi bật nằm ngay trong tên: 82 triệu tham số — rất nhỏ theo tiêu chuẩn năm 2026, đủ nhỏ để chạy trên điện thoại — nhưng vẫn cho ra giọng thuyết minh tự nhiên, giàu biểu cảm. Nó được xây dựng trên dòng StyleTTS 2 và phát hành theo giấy phép thoáng Apache-2.0, nên thực sự miễn phí cho mục đích thương mại.

Tính đến 2026-07-11, repo chính hexgrad/kokoro có khoảng 7,900 sao GitHub. Chúng tôi chạy nó thông qua runtime ONNX cộng đồng thewh1teagle/kokoro-onnx (khoảng 2,600 sao, MIT) — cách dễ nhất để chạy trên CPU mà không cần cài PyTorch.

Khi “soi” vào file weights thực tế, chúng tôi đếm được 54 giọng nói tích hợp, trải trên 9 nhóm ngôn ngữ và accent — tiếng Anh Mỹ và Anh, tiếng Tây Ban Nha, Pháp, Hindi, Ý, Nhật, Bồ Đào Nha Brazil và tiếng Quan Thoại. Bộ giọng tiếng Anh Mỹ rõ ràng là được trau chuốt nhất.

Chúng tôi đã chạy thật (Apple M3 Pro, chỉ CPU)

Không GPU, không cloud — chỉ một chiếc MacBook Pro với M3 Pro và 18 GB RAM. Dưới đây là diễn biến trung thực từng bước.

Cài đặt và weights

Gói Python cài trong vài giây: pip install kokoro-onnx soundfile. Nhưng đây là cái bẫy đầu tiên — gói pip chỉ có code, không có model. Bạn phải tự tải thủ công 2 file từ trang releases của kokoro-onnx trên GitHub: kokoro-v1.0.onnx (310 MB) và voices-v1.0.bin (27 MB). Phần quickstart lướt qua chuyện này, nên lần chạy đầu sẽ lỗi thiếu file cho đến khi bạn tải weights.

Lỗi đường dẫn espeak-ng (cái khiến chúng tôi tốn thời gian thật)

Kokoro chuyển văn bản thành phoneme bằng espeak-ng. Ngay lần tổng hợp đầu tiên, chúng tôi gặp lỗi này:

Error processing file '/Users/runner/work/espeakng-loader/.../espeak-ng-data/phontab': No such file or directory

Đường dẫn /Users/runner/work/ là dấu hiệu quá rõ: wheel pip espeakng-loader đóng gói một libespeak-ng được compile trong CI với đường dẫn data bị hard-code, vốn không tồn tại trên máy của bạn. Phần bực nhất là: đặt biến môi trường ESPEAK_DATA_PATH cũng không có tác dụng, vì kokoro-onnx không bao giờ đọc nó — nó lấy data path trực tiếp từ loader được đóng gói sẵn.

Cách sửa đã hoạt động: cài espeak-ng thật trên hệ thống và trỏ Kokoro tới nó một cách tường minh qua EspeakConfig:

brew install espeak-ng   # macOS; apt install espeak-ng on Linux

from kokoro_onnx import Kokoro, EspeakConfig
cfg = EspeakConfig(
    lib_path="/opt/homebrew/lib/libespeak-ng.dylib",
    data_path="/opt/homebrew/share/espeak-ng-data",
)
k = Kokoro("kokoro-v1.0.onnx", "voices-v1.0.bin", espeak_config=cfg)

Sau đó, việc tạo âm thanh chạy mượt luôn. Nếu bạn từng “vật lộn” đúng lỗi phontab: No such file này, thì đây chính là cách sửa.

Tốc độ (đo thực tế, sau khi load nóng)

Chỉ với CPU, model load khoảng 1.7 giây, và tốc độ tổng hợp nhanh hơn thời gian phát thực. Một đoạn thuyết minh dài 22 giây được render trong 3.5 giây — hệ số real-time khoảng 0.16×, tức nhanh hơn phát lại xấp xỉ 6 lần. Các câu ngắn thường trả về trong 1 đến 2 giây. Với một model nhỏ như vậy trên laptop, đây thực sự là throughput đủ dùng cho sản xuất. Dưới đây là waveform thực tế của lần render đoạn văn đó:

Waveform của đoạn thuyết minh 22 giây mà chúng tôi tạo bằng Kokoro trên CPU M3 Pro

Các mẫu chúng tôi tạo (không chỉnh sửa)

Mọi clip bên dưới đều do chính chúng tôi tạo bằng Kokoro trên CPU M3 Pro như mô tả ở trên — đầu ra thô của model, không dọn sạch, không hậu kỳ. Hãy phát thử và tự đánh giá chất lượng.

af_sarah — American English
am_michael — American English
bf_emma — British English
Đoạn thuyết minh dài hơn (af_sarah, 22 giây) — đoạn văn chúng tôi benchmark ở trên

Được VisionStory tạo bằng Kokoro-82M qua kokoro-onnx, 2026-07-11. Lưu ý “dấu hiệu nhận biết”: đây là một track giọng sạch — nhưng nó chỉ là giọng nói. Không có gương mặt, không có cử động môi, không có người dẫn trên màn hình. Khoảng trống đó chính là trọng tâm của phần tiếp theo.

Kết luận thẳng thắn: điểm mạnh và giới hạn thực tế

Điều thực sự khiến chúng tôi ấn tượng:

  • Chất lượng trên mỗi byte cực kỳ đáng nể. Với 82 triệu tham số, bộ giọng tiếng Anh Mỹ tự nhiên và giàu biểu cảm — đủ gần TTS trả phí đến mức đa số người nghe sẽ không “bắt lỗi” trong một clip ngắn.
  • Thật sự chạy trên CPU và rất nhanh. Nhanh hơn thời gian thực 6 lần trên laptop không GPU là điểm nổi bật nhất, và nó đúng như vậy.
  • Miễn phí thật và thân thiện cho thương mại. Apache-2.0, không tính phí theo ký tự. Với voiceover khối lượng lớn, bài toán kinh tế này rất khó để vượt qua.

Những chỗ nó hụt hơi — và đây là vấn đề thật:

  • Không có nhân bản giọng nói. Bạn có 54 giọng preset cố định. Bạn không thể clone giọng của chính mình hay của khách hàng — nếu đó là nhu cầu của bạn, Kokoro không phải lựa chọn phù hợp.
  • Chất lượng tiếng Anh phụ thuộc vào espeak-ng, kéo theo lỗi đóng gói ở trên, và thỉnh thoảng phát âm sai tên riêng, thương hiệu, hoặc chữ viết tắt.
  • Văn bản dài cần tự chia đoạn thủ công. Mỗi lần gọi có giới hạn độ dài phoneme, nên bạn phải tự tách kịch bản dài và ghép âm thanh lại.
  • Các giọng không phải tiếng Anh lúc hay lúc dở — biến động rõ rệt hơn so với bộ tiếng Anh Mỹ “flagship”.
  • Nó xuất ra WAV “trần”. Không có timestamp theo từng từ, không có viseme — không có gì để điều khiển lip-sync sẵn.
  • Nó chỉ có giọng nói. Không có gương mặt, không có video. Muốn có người dẫn biết nói, bạn phải ghép Kokoro với một hệ thống lip-sync hoặc avatar khác và tự xử lý căn thời gian.

Tự host Kokoro vs công cụ hosted: nên chọn cái nào?

Kokoro và một công cụ avatar dạng hosted giải quyết hai nửa khác nhau của bài toán. Kokoro cho bạn giọng nói; một công cụ như VisionStory cho bạn một người dẫn biết nói — giọng nói, gương mặt và lip-sync trong cùng một đầu ra. Đây là phần đánh đổi một cách thẳng thắn.

 Kokoro (tự host)VisionStory (hosted)
Chi phíMiễn phí (phần cứng của bạn)Gói đăng ký / Credit
Thiết lậppip + weights 330 MB + sửa lỗi espeak-ngKhông cần — chạy ngay trong trình duyệt
Bạn nhận được gìChỉ track giọng (WAV)Video avatar biết nói (giọng nói + gương mặt + lip-sync)
Nhân bản giọng nóiKhông — 54 presetCó — clone giọng của bạn
Tốc độ mỗi clip~0.16× thời gian thực trên CPU (tính bằng giây)Tính bằng giây, xử lý hosted — không cần compute tại máy
Dùng cho thương mạiCó (Apache-2.0)Có (tùy gói)
Bảo trìBạn tự vá espeak, deps, chia đoạnKhông cần
Phù hợp nhất khiBạn chỉ cần một track giọng miễn phí và có thể codeBạn cần video biết nói hoàn chỉnh, thật nhanh

Chọn Kokoro nếu bạn chỉ cần voiceover miễn phí, bạn quen dùng Python, và bạn sẽ tự xử lý phần gương mặt và lip-sync riêng (hoặc bạn không cần gương mặt). Chọn công cụ hosted nếu bạn cần giọng nói gắn với người dẫn có lip-sync, hoặc bạn cần clone giọng của một người cụ thể — Kokoro không làm được cả hai.

Những gì Kokoro dạy chúng tôi

Bài học lớn nhất khi chạy Kokoro là giọng nói đang trở thành hàng hóa. Một model 82 MB trên laptop giờ đã tạo được voiceover đủ tốt cho công việc thật, lại còn miễn phí. Nếu sản phẩm của bạn trước đây chỉ có một điểm mạnh là “chúng tôi làm Chuyển Văn Bản Thành Giọng Nói”, thì lợi thế đó đã biến mất.

Phần khó, vẫn chưa được giải quyết triệt để, là mọi thứ sau giọng nói: biến một track âm thanh thành một gương mặt biết nói thuyết phục — lip-sync chuẩn, biểu cảm, chuyển động đầu, và căn thời gian sao cho tất cả “ăn khớp”. Đó chính là lớp mà chúng tôi tập trung. Vì vậy, takeaway của chúng tôi không phải là “đừng dùng Kokoro” — nó là một voice engine thực sự tốt. Mà là: chỉ có giọng nói thì mới là nửa video. Nếu bạn muốn nửa còn lại, VisionStory biến một bức ảnh và một kịch bản thành người dẫn biết nói có lip-sync chỉ trong một bước, và nếu bạn cần khớp một giọng cụ thể, bạn cũng có thể clone nó.

Câu hỏi thường gặp

  • Kokoro TTS có miễn phí cho mục đích thương mại không?

    Có. Kokoro được phát hành theo giấy phép Apache-2.0, cho phép sử dụng thương mại, và không tính phí theo từng ký tự. Bạn chỉ trả chi phí hạ tầng tính toán của riêng mình, có thể chỉ cần CPU thường.

  • Kokoro có chạy được trên Mac hoặc không cần GPU không?

  • Kokoro có thể nhân bản giọng nói của tôi không?

  • Kokoro có thể tạo video avatar biết nói không?

  • Làm sao để sửa lỗi Kokoro espeak-ng phontab No such file?