21 điểm bởi GN⁺ 2025-08-07 | 2 bình luận | Chia sẻ qua WhatsApp
  • Kitten TTS là mô hình TTS (text-to-speech) mã nguồn mở theo đuổi đồng thời sự gọn nhẹ và chất lượng âm thanh cao
  • Chỉ sử dụng 15 triệu tham số nên kích thước mô hình dưới 25MB
    • Khác với các TTS cỡ lớn khác, điểm nổi bật là có thể chạy trong mọi môi trường như di động, hệ thống nhúng, v.v.
  • Ngay cả không có GPU, vẫn có thể xử lý tổng hợp giọng nói chất lượng cao trên mọi thiết bị
  • Cung cấp nhiều tùy chọn giọng nói cao cấp, hỗ trợ tổng hợp giọng nói chất lượng cao gần giống giọng thật
  • Có thể suy luận giọng nói với tốc độ nhanh, được tối ưu cho tổng hợp thời gian thực
  • Hiện đã công bố mô hình developer preview, và trong tương lai sẽ lần lượt phát hành đầy đủ trọng số mô hình sau khi huấn luyện xong, mobile SDK, phiên bản web, v.v.

2 bình luận

 
hybridego 2025-08-07

Ước gì cũng có cả mô hình tiếng Hàn nữa..

 
GN⁺ 2025-08-07
Ý kiến trên Hacker News
  • Đã chạy benchmark đơn giản trên Ubuntu 24 với Razer Blade 16, Intel Core i9-14900HX
    Độ trễ ban đầu với văn bản ngắn là khoảng 315ms, và tốc độ tạo giọng nói đạt khoảng 3,35~5,5 lần thời gian thực tùy độ dài văn bản
    Mô hình được tải trong khoảng 710ms
    Hiệu năng gần như không khác biệt giữa 4 giọng nói khác nhau, và vẫn duy trì tốc độ khoảng tối đa 5 lần thời gian thực

    • Trên CPU Intel Celeron N4020 (1.10GHz) của tôi, mất 6 giây để tải và tốc độ gần như thời gian thực bất kể độ dài văn bản

    • Cảm ơn vì đã chạy benchmark
      Hiện tại mô hình vẫn chưa được tối ưu hóa
      Khi SDK cho production được phát hành, chúng tôi cũng dự định tối ưu cả việc tải mô hình

  • Có bài đăng trên Reddit với các mẫu âm thanh do KittenTTS tạo ra
    Mẫu âm thanh trên Reddit

    • Cũng có một video ngắn chứa nhiều giọng nói khác nhau
      Video YouTube

    • Video trên Reddit thật sự rất ấn tượng
      Thật ngạc nhiên khi chỉ dưới 25MB và chỉ dùng CPU mà chất lượng lại đạt mức này
      Tôi không hiểu vì sao có người đánh giá nó chỉ là “một mô hình tầm thường”

    • Âm thanh rất rõ ràng và mạch lạc
      Ngay cả với tôi, một người không phải người bản ngữ tiếng Anh, vẫn rất dễ nghe hiểu

    • Nghe có vẻ hơi chậm, và mang cảm giác như giọng nói trong phim hoạt hình

    • Có phải nó đã được huấn luyện chéo với giọng của các nhân vật Futurama không?

  • Tôi hy vọng những mô hình như thế này sẽ là tương lai
    Một thời đại mà các mô hình ML nhỏ, chạy offline, thực hiện suy luận trên phần cứng rẻ tiền và sẵn có ở khắp nơi
    Có thể dễ dàng tích hợp vào nhiều thiết bị hay ứng dụng khác nhau, thậm chí còn có thể chạy trên các mô hình khác

    • Đây chính là viễn cảnh mà Apple đang vẽ ra với SLM (mô hình ngôn ngữ nhỏ)
      Nếu có một mô hình chỉ phụ trách quản lý sự kiện lịch, thì nó không cần phải chứa toàn bộ tri thức của nhân loại
      Chỉ cần tập trung vào đúng những gì cần cho việc quản lý lịch là đủ

    • Nếu chạy mô hình trên phần cứng chuyên dụng cho một mục đích duy nhất, hiệu quả năng lượng sẽ rất cao
      Thậm chí còn có thể chạy mạng nơ-ron chỉ bằng điện trở (không cần transistor)
      Tất nhiên loại phần cứng này không phải mục đích chung và cũng khó nâng cấp mô hình
      Nhưng trong nhiều trường hợp như vậy là quá đủ

    • Một bên là mô hình mua một lần rồi có thể chạy mọi thứ,
      và một bên là mô hình bị trói vào thuê bao, cần phần cứng mà chỉ các siêu tập đoàn giàu nhất mới mua nổi
      Tôi tò mò không biết bên nào sẽ thành công hơn

    • Thật ra đây chính là mục tiêu mà chúng tôi đang hướng tới

    • Đây cũng chính là tầm nhìn của chúng tôi

  • Kích thước 25MB đã rất đáng kinh ngạc, nhưng điểm đột phá thực sự là KittenTTS được phát hành theo giấy phép Apache-2.0
    Nhờ sự kết hợp này, có thể nhúng ngay một engine giọng nói chạy hoàn toàn offline vào phần cứng cỡ Pi Zero hoặc đồ chơi chạy pin
    Không cần GPU, không cần gọi cloud, cũng không phải lo giấy phép hạn chế
    Nó biến vấn đề phần cứng hay giấy phép thành một “bài toán đóng gói” trong một bước
    Việc cải thiện chất lượng có thể để sau, còn thứ thực sự thay đổi cuộc chơi là nó đã khiến mức triển khai này trở nên khả thi

    • Chúng tôi cũng rất hào hứng với việc tiếp tục tạo ra các mô hình AI siêu nhỏ nhưng chất lượng cao
      Chúng tôi tin giao diện giọng nói cục bộ là điều tất yếu, và muốn trở thành một phần cốt lõi của lĩnh vực này trong tương lai
      Mô hình lần này là bản preview, và khoảng tuần sau chúng tôi sẽ công bố thêm một phiên bản hoàn thiện hơn rất nhiều
      Ngoài ra cũng sẽ phát hành thêm một mô hình khoảng 80M

    • Có nhắc đến việc KittenTTS là Apache-2.0
      Nhưng nếu xem mã nguồn trên GitHub thì thấy đang dùng phonemizer
      phonemizer dùng giấy phép GPL-3.0
      Vậy nên hiện tại về thực chất nó là GPL
      (Cũng nói thêm rằng bình luận này có vẻ như được LLM viết ra)

    • Mô hình festvox-kallpc16k của Festival chỉ khoảng 6MB, còn festvox-kallpc8k khoảng 3,5MB
      Dữ liệu đa ngôn ngữ của eSpeak NG vào khoảng 12MB
      Có vẻ mô hình hiện tại sẽ tạo ra giọng nói tự nhiên hơn
      Nhưng trên các máy cũ hay cấu hình thấp thì từ lâu người ta cũng đã có thể làm TTS khá ổn rồi

    • Nếu KittenTTS là Apache-2.0
      thì tôi tò mò dữ liệu huấn luyện sẽ được xử lý thế nào
      Ngay cả khi mô hình có thể tái tạo đầu vào huấn luyện gần như y hệt
      thì có thể chắc chắn về mặt pháp lý rằng nó hoàn toàn không phải tác phẩm phái sinh không?

    • Nó phụ thuộc vào espeak-ng nên là GPLv3

  • Có bản web
    Xem demo
    Âm thanh ở mức ổn, nhưng xét theo kích thước thì khá ấn tượng

    • Chẳng phải khá buồn cười sao khi trong phim khoa học viễn tưởng, người ta lại cố tình bóp méo giọng nói một cách kỳ lạ để robot nghe “đúng chất robot”?
      Một giọng robot rõ ràng không phải giọng người thực ra trong nhiều hoàn cảnh còn hấp dẫn và phù hợp hơn
      Ví dụ như một chiếc máy nướng bánh mì thông minh đâu cần nói như phát thanh viên BBC
      Chỉ cần phát âm dễ nghe là được

    • Tôi đã cho nó đọc theo đoạn văn bản demo, nhưng nghe không hay bằng các mẫu có sẵn
      Để ai muốn thử thì đây là đoạn văn bản mẫu

      Kitten TTS is an open-source series of tiny and expressive text-to-speech models for on-device applications. Our smallest model is less than 25 megabytes.

    • Khi chạy demo với 6 câu thì bị lỗi
      Giảm xuống còn 3 câu thì hoạt động bình thường
      Tôi không rõ đây là giới hạn của mô hình hay giới hạn của bản demo

    • Trong môi trường của tôi thì nó hoàn toàn không chạy được
      Module backend báo lỗi 404
      Ví dụ lỗi 404

    • Tôi đang tìm đúng liên kết này
      Demo trên Reddit thì tạm ổn, cảm giác giống trình độ của vài năm trước
      Nhưng khi tự thử thì mọi mẫu đều gần như khó nghe hiểu

  • Tôi bật cười khi thấy yêu cầu hệ thống ghi là “thực tế là chạy được ở mọi nơi”
    Trên máy này thì phiên bản Python quá thấp,
    còn máy khác thì phiên bản Python lại quá cao, nên không cài được vì phụ thuộc gói

    • Tôi đã gửi vài PR để xử lý vấn đề này
      PR 21, PR 24, PR 25
      Nếu đã cài uv, thì từ nhánh tham chiếu mà tôi đã merge

      uvx --from git+https://github.com/akx/KittenTTS.git@pr-21-22-24-25 kittentts --output output.wav --text "This high quality TTS model works without a GPU"
      

      là có thể chạy được

    • Cài bằng uvx sẽ giải quyết phần lớn các vấn đề về môi trường Python
      Hướng dẫn cài uv

    • Chọn Python thì giải quyết được một vấn đề, nhưng đồng thời tạo ra hàng chục vấn đề mới

    • Trên Fedora thì không chạy được vì không có phiên bản g++ phù hợp

    • Nguyên nhân là Python

  • Sau khi tự dùng thử, tôi thấy kích thước và tốc độ của mô hình khá ổn
    Nhưng việc cài đặt cần rất nhiều thư viện và thành phần phụ trợ
    Nên cuối cùng nó cũng cách khá xa con số 25MB
    Dù vậy đây vẫn là một dự án rất hay

    • Nhận xét đó về vấn đề phụ thuộc rất xác đáng
      Để việc cài đặt và sử dụng dễ hơn, đồng thời bổ sung hỗ trợ GPU và xử lý văn bản dài như mọi người mong muốn
      tôi đã tạo một server self-hosted cho mô hình này
      Kitten-TTS-Server
      Chạy ngay với môi trường Python venv tiêu chuẩn nên không phải lo xung đột
      Chỉ cần git clone, pip install, python server.py là xong

    • Có nhắc đến ONNX nên tôi đoán đã có hoặc sắp có mô hình ONNX
      ONNX runtime là một thư viện duy nhất, và với C# thì nén lại khoảng 115MB
      Không phải là rất nhỏ, nhưng phần code thực sự cần để chạy chỉ vài dòng nên phụ thuộc cũng ít

    • Kéo nhiều thư viện vào cùng lúc giúp phát triển và lặp nhanh hơn
      Sau này khi tính năng ổn định thì sẽ dọn bớt những thư viện không cần thiết

  • Quan trọng hơn dung lượng mô hình tính bằng MB là khả năng chạy trên CPU và chất lượng, và điều tôi lo duy nhất là độ trễ
    Tôi cũng tò mò liệu có mô hình chuyển giọng nói thành văn bản nào chạy offline mà không cần huấn luyện riêng hay không
    Nếu đến lúc có thể trò chuyện với AI ở tốc độ tự nhiên, như người với người, thì sẽ thực sự rất ấn tượng

    • Mô hình parakeet của Nvidia hiện là hàng đầu cho tiếng Anh
      Nó nhanh hơn Whisper 10 lần và trên CPU AMD tầm trung của tôi cũng chạy nhanh hơn thời gian thực khá nhiều

    • Có thể nhận dạng giọng nói offline bằng Whisper
      Một số ứng dụng hỗ trợ ghi chính tả hoặc chép lời hoàn toàn offline

    • Ví dụ với đoạn văn bản “The brown fox jumps over the lazy dog..”
      thời gian tạo trung bình là 1,28 giây, tương đương khoảng 30,35 ký tự mỗi giây
      Tính trên AMD Ryzen 7 5800H

    • Với mô hình nhận dạng giọng nói offline thì tiêu biểu là whisper của OpenAI
      Kho lưu trữ chính thức của Whisper

    • Có ai biết những yếu tố nào ảnh hưởng đến độ trễ của mô hình TTS không?

  • Khá ấn tượng
    Trong một số lĩnh vực cụ thể, ví dụ hệ nhúng, nó hoàn toàn có chỗ dùng
    Tuy vậy chất lượng có lẽ chưa đủ hoàn hảo để thay thế các mô hình lớn
    Theo tôi, các mô hình TTS open có chất lượng offline tốt nhất hiện nay là fish-speech và f5-tts
    Tôi đã chạy F5-TTS trên chiếc NVidia 1660 cũ (6GB VRAM) và nó hoạt động khá ổn
    Với phần cứng mới hơn thì có thể đạt chất lượng tốt hơn, đa ngôn ngữ và cả zero-shot với chi phí không quá cao
    Trên Android, SherpaTTS có độ tương thích tốt

    • Mô hình này là bản preview, và chúng tôi sẽ còn cải thiện chất lượng nhiều hơn nữa

    • Fish Speech có trọng số không cho phép sử dụng thương mại
      Tôi tò mò về yêu cầu VRAM, vì KittenTTS chỉ có 15 triệu tham số nên có thể chạy trên các máy tính công suất thấp giá dưới 100 USD
      GPU 6GB mà bạn nói đến giờ đã là hàng cũ rồi

  • Chất lượng không ấn tượng như tôi kỳ vọng
    Mục tiêu của tôi là giọng nói tự nhiên
    Tôi cũng không hài lòng với piper hay kokoro, còn XTTS thì cài hơi phức tạp
    Ở mảng nhận dạng giọng nói (STT), whisper thực sự quá xuất sắc
    Tôi rất mong có TTS tốt
    Dùng GPU nhiều cũng không sao, tôi chỉ muốn chất lượng tốt
    Nói thật thì mô hình này hiện còn kém hơn kokoro

    • Theo tôi, chất lượng SOTA open-weights hiện tại tốt nhất là chatterbox

    • TTS mã nguồn mở tốt nhất mà tôi từng thấy là Dia
      Nó có vài giới hạn nhưng chạy tốt cả trên laptop

    • Pinokio cũng đáng để thử

    • Chatterbox cũng đáng để dùng thử

    • Nếu bạn có dư dả tài nguyên GPU thì không cần quá bận tâm về chất lượng ở đây
      Điều quan trọng là mô hình này chạy được không cần GPU
      Trước thời Tacotron2, tôi từng chạy các TTS nhỏ như GlowTTS, MelGAN và vocoder với chi phí thấp trên cloud của Digital Ocean
      Sau đó xu hướng ngày càng chuyển sang mô hình lớn hơn
      Nhưng tôi nghĩ tương lai sẽ là thời đại các mô hình nhỏ được nhúng trực tiếp vào từng thiết bị
      Dùng cho Raspberry Pi, đồ chơi và đủ loại thiết bị nhỏ không cần mạng
      Edge AI sẽ mang lại sự mở rộng khổng lồ trong robot, đồ chơi, thiết bị tiêu dùng và game