
Kokoro: Giải pháp Text-to-Speech (TTS) chạy local, tối ưu CPU và cực kỳ chất lượng
Khám phá Kokoro, mô hình TTS 82M tham số mạnh mẽ cho phép tạo giọng nói tự nhiên ngay trên máy tính cá nhân mà không cần GPU. Bài viết hướng dẫn chi tiết cách triển khai qua Docker, tích hợp API tương thích OpenAI và so sánh hiệu năng trên nhiều dòng CPU khác nhau.
Kokoro: Giải pháp Text-to-Speech (TTS) chạy local, tối ưu CPU và cực kỳ chất lượng

Chỉ vài năm trước, việc tạo giọng nói tự nhiên ngay trên máy tính cá nhân (local) dường như là điều không tưởng. Tuy nhiên, ở thời điểm hiện tại, chất lượng của các mô hình TTS đã đạt đến mức xuất sắc, cho phép chúng ta xử lý dữ liệu mà không cần gửi thông tin lên đám mây, từ đó đảm bảo quyền riêng tư tuyệt đối.
Giới thiệu về Kokoro
Kokoro là một mô hình TTS đột phá với kích thước nhỏ gọn chỉ 82 triệu tham số (82M), nhưng lại mang đến khả năng tạo giọng nói chân thực đa ngôn ngữ, bao gồm tiếng Anh, tiếng Trung (Mandarin) và tiếng Hindi. Với hơn 50 giọng đọc khác nhau (tối ưu nhất cho tiếng Anh), Kokoro trở thành lựa chọn hàng đầu cho các ứng dụng chạy local.
Tại sao nên chọn Kokoro?
- Tối ưu CPU: Không yêu cầu GPU mạnh mẽ. Bạn có thể dành toàn bộ tài nguyên GPU cho việc chạy LLM (Large Language Model) và để CPU đảm nhận tác vụ TTS.
- Quyền riêng tư: Dữ liệu âm thanh được xử lý hoàn toàn trên máy của bạn.
- Tương thích API: Hỗ trợ giao diện tương thích với OpenAI Speech API, giúp việc tích hợp vào các ứng dụng hiện có trở nên cực kỳ dễ dàng.
Hướng dẫn triển khai với Docker
Cách đơn giản nhất để chạy Kokoro là sử dụng container Kokoro-FastAPI. Hình ảnh này đã bao gồm sẵn các mô hình giọng nói, vì vậy dung lượng khoảng 5GB.
Bước 1: Khởi chạy Container
Bạn có thể sử dụng Docker hoặc Podman để khởi chạy dịch vụ:
podman run -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu
Sau khi chạy, bạn có thể truy cập vào giao diện web tại http://localhost:8880/web để kiểm tra và tạo thử giọng nói trực tiếp trên trình duyệt.
Tích hợp vào ứng dụng (Python & JavaScript)
Nhờ việc hỗ trợ API tương thích OpenAI, bạn có thể dễ dàng gọi dịch vụ này từ code của mình. Hãy tham khảo kho lưu trữ tại github.com/remotebrowser/speak.
Sử dụng với JavaScript
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1
./speak.js "Good morning! How are you today?"
Sử dụng với Python
export TTS_API_BASE_URL=http://127.0.0.1:8880/v1
./speak.py "Good morning! How are you today?"
Lưu ý: Nếu bạn cài đặt SoX (Sound eXchange), âm thanh sẽ tự động phát sau khi tạo.
Để thay đổi giọng đọc, bạn chỉ cần thiết lập biến môi trường TTS_VOICE (danh sách giọng đọc xem tại HuggingFace):
export TTS_VOICE="am_eric"
./speak.js "Good morning! How are you today?"
Đánh giá hiệu năng
Kokoro cho thấy hiệu suất ấn tượng ngay cả trên các dòng CPU cũ. Dưới đây là thời gian tạo âm thanh cho một đoạn văn bản thử nghiệm:
| CPU | Thời gian tạo (giây) |
|---|---|
| Intel Core i7-4770K (12 năm tuổi) | 4.7s |
| Apple M2 Pro | 4.5s |
| AMD Ryzen 7 8745HS | 1.5s |
Lựa chọn thay thế: Speaches
Nếu bạn cần một hệ thống tích hợp cả TTS và STT (Speech-to-Text) sử dụng Whisper, hãy cân nhắc Speaches (speaches.ai). Khác với Kokoro, Speaches yêu cầu bạn tải trọng số (weights) thông qua API, nhưng bù lại nó cung cấp giải pháp "tất cả trong một" cho các ứng dụng cần xử lý âm thanh hai chiều.
Kết hợp Kokoro với một LLM chạy local, bạn hoàn toàn có thể xây dựng một trợ lý ảo thông minh, phản hồi bằng giọng nói mà không cần phụ thuộc vào bất kỳ dịch vụ đám mây nào.
Do you like this post?
Upvote to push this post higher on the community feed
