Từ lâu, việc sử dụng AI để chuyển văn bản thành giọng nói (Text-to-Speech – TTS) chất lượng cao thường đi kèm với một rào cản lớn: bạn cần kết nối Internet ổn định để gửi dữ liệu lên các dịch vụ đám mây. Nhưng sẽ thế nào nếu bạn có thể tự chạy một hệ thống TTS mạnh mẽ hoàn toàn trên máy tính của mình, không cần mạng, bảo mật tuyệt đối và đạt tốc độ lên đến hơn 1000 ký tự mỗi giây?
supertonic-tool là một lớp ứng dụng được xây dựng trên nền tảng của dự án Supertonic gốc. Nhiệm vụ chính của nó là:
- Khởi chạy một máy chủ WebSocket TTS: Máy chủ này sẽ lắng nghe tại địa chỉ ws://127.0.0.1:8765 để xử lý các yêu cầu chuyển đổi văn bản thành giọng nói.
- Cung cấp giao diện Web trực quan: Chỉ với một tệp .html, bạn có thể dễ dàng gõ văn bản và nghe thử giọng nói ngay lập tức.
- Đơn giản hóa quá trình tương tác: Nhờ có API WebSocket được định nghĩa rõ ràng (tham khảo file WEBSOCKET_API.md trong thư mục tool/), bạn có thể dễ dàng tích hợp khả năng TTS vào các ứng dụng hoặc trình duyệt extension của riêng mình.
Phần thú vị nhất nằm ở thư mục tool/, nơi chứa các tệp ws_tts_server.py (máy chủ TTS), tts_web.html (ứng dụng web demo), và tài liệu hướng dẫn API chi tiết.
Hướng dẫn cài đặt trên macOS
Dưới đây là hướng dẫn từng bước dành cho macOS:
Bước 1: Cài đặt các công cụ cần thiết
Trước tiên, bạn cần cài đặt Git LFS (Large File Storage) vì các mô hình TTS có dung lượng khá lớn. Bạn có thể cài đặt nó qua Homebrew (một trình quản lý gói phổ biến trên macOS).
Mở Terminal và chạy lệnh:
brew install git-lfs
git lfs install
Sau đó, bạn cần cài đặt Python (phiên bản 3.10 trở lên) và UV – một công cụ quản lý gói Python cực kỳ nhanh và hiện đại.
Bạn có thể tải Python từ python.org. Để cài UV, hãy chạy lệnh sau:
curl -LsSf //astral.sh/uv/install.sh | sh
Bước 2: Clone repository và tải mô hình
Tiếp theo, bạn cần tải toàn bộ mã nguồn của supertonic-tool cùng với các mô hình giọng nói ONNX.
# 1. Clone repository
git clone //github.com/thanhng8/supertonic-tool.git
cd supertonic-tool
# 2. Tải các mô hình TTS (cần một chút thời gian)
git clone //huggingface.co/Supertone/supertonic-3 assets
Lệnh thứ hai sẽ tải mô hình Supertonic 3 nặng khoảng vài GB từ Hugging Face về thư mục assets. Hãy kiên nhẫn chờ đợi.
Bước 3: Thiết lập môi trường Python
Di chuyển vào thư mục py và dùng uv để cài đặt tất cả các thư viện phụ thuộc cho Supertonic.
cd py
uv sync
cd ..
Mọi thứ gần như đã sẵn sàng.
3. Sử dụng với Giao diện Web
Cách dễ dàng nhất để bắt đầu với TTS là sử dụng giao diện web đi kèm.
Khởi động máy chủ: Trong Terminal, bạn hãy di chuyển đến thư mục gốc của dự án (supertonic-tool) và chạy lệnh sau:
uv run –project py python tool/ws_tts_server.py
Bạn sẽ thấy dòng thông báo cho biết máy chủ đang chạy với các tùy chọn giọng nói (ví dụ: M1-M5 là giọng nam, F1-F5 là giọng nữ).
| Lá cờ | Nghĩa |
|---|---|
--port N | Ghi đè cổng WebSocket (mặc định8765, biến môi trườngWS_PORT). |
--provider NAME | Ưu tiênauto,cpu,cuda,directml, hoặccoreml(mặc địnhauto, envTTS_PROVIDER). |
--cpu | Phím tắt cho--provider cpu. |
Cách khởi động server khác:
cd tool
sh start_tts_server.sh
Từ thư mục gốc của kho lưu trữ, bạn cũng có thể chạy trình khởi chạy Unix trực tiếp:
chmod +x tool/start_tts_server.sh
./tool/start_tts_server.sh
Máy chủ lắng nghe trên ws://127.0.0.1:8765. Lần khởi chạy đầu tiên làm nóng nhà cung cấp đã chọn; các suy luận tiếp theo sẽ nhanh hơn.
# Force CPU on any OS
sh start_tts_server.sh –cpu
# Use a custom port
sh start_tts_server.sh –port 9000
# Prefer CUDA on Linux
TTS_PROVIDER=cuda sh start_tts_server.sh
Mở giao diện Web: Mở Finder, tìm đến thư mục supertonic-tool/tool/ và nhấp đúp chuột vào tệp tts_web.html. Một cửa sổ trình duyệt sẽ hiện ra.
Sử dụng: Nhập văn bản bạn muốn vào ô “text” (ví dụ: “Xin chào, đây là giọng nói được tạo ra từ Supertonic trên máy Mac của tôi.”), chọn ngôn ngữ và giọng đọc, sau đó bấm nút “Speak”. Bạn sẽ ngay lập tức nghe thấy giọng nói được phát ra! Điều này mở ra nhiều khả năng thú vị, chẳng hạn như tạo nội dung học ngôn ngữ với giọng đọc chuẩn bản ngữ.
Hàng đợi hội thoại nhiều dòng
- Mỗi hàng đều có bộ chọn Giọng nóivàNgôn ngữriêng — hoàn hảo cho các đoạn hội thoại hai người nói, tường thuật bằng giọng nhân vật hoặc thông báo đa ngôn ngữ.
- Điểm nổi bật trực quan ở hàng đang phát.
EnterThêm một hàng mới bên dưới;Backspacenếu là hàng trống thì xóa hàng đó.
Nhập hàng loạt
| Hoạt động | Làm sao |
|---|---|
| Dán nhiều dòng | Nhấp chuột Paste multi-line. Mỗi dòng được dán sẽ trở thành một hàng. Hỗ trợF1: hello/M2|vi: xin chàoviết tắt để thiết lập giọng nói + ngôn ngữ ngay trong dòng. |
| Nhập tệp | Nhấp chuộtImport. Hỗ trợ.xlsx(thông qua SheetJS),.csvbảng.mdmarkdown và định dạng văn bản thuần túy.txt. |
| Chế độ phân công giọng nói | Sử dụng mặc định/Tổ hợp phím F1↔M1(hộp thoại tự động) /Từ cột(đọc từ tệp đã nhập). |
Đầu ra
- Chuyển đổi tất cả (Ctrl+Enter)— tổng hợp toàn bộ hàng đợi, phát lại tuần tự với tốc độ phát lại đã chọn (
preservesPitch = true, do đó không có hiệu ứng giọng the thé). - Trình phát âm thanh từng dòngvớinút tải xuống riêng biệt (
01_F1_en_Hello.wav). - Tải xuống tất cả (zip)— gói gọn mọi thứ vào một tệp
tts_batch_YYYY-MM-DD.zip. - Dừng— tạm dừng giữa chừng và hủy phát lại.
Trạng thái kết nối
- Chấm chỉ báo trạng thái kết nối (xanh lá = đã kết nối, đỏ = đã ngắt kết nối).
- Tự động kết nối lại khi đóng với thời gian chờ 2 giây.
4. Tích hợp vào Ứng dụng của bạn qua WebSocket API
Sức mạnh thực sự của supertonic-tool nằm ở WebSocket API. Bạn có thể gửi một yêu cầu dạng JSON từ bất kỳ ứng dụng nào (web, di động, desktop) và nhận về file âm thanh.
Kết nối: WebSocket đến địa chỉ ws://127.0.0.1:8765. Sau khi kết nối, bạn sẽ nhận được một bản tin handshake chứa danh sách các giọng nói có sẵn.
Gửi yêu cầu: Gửi một bản tin JSON với cấu trúc đơn giản:
json
{
“text”: “Supertonic thật sự rất ấn tượng!”,
“lang”: “vi”,
“voice”: “M1”,
“speed”: 1.05
}
Các tùy chọn:
voice: M1 đến M5 (giọng nam), F1 đến F5 (giọng nữ).
speed: 0.25 – 4.0
lang: en, vi, ko, ja, fr, de, es, pt, it… hỗ trợ đến 31 ngôn ngữ.
Nhận phản hồi: Bạn sẽ nhận được 2 luồng tin nhắn:
Một bản tin JSON (audio_meta) chứa thông tin về độ dài, thời gian xử lý và kích thước của file âm thanh.
Ngay sau đó là một bản tin binary chứa toàn bộ file âm thanh ở định dạng WAV (PCM 16-bit).
5. Một số lưu ý cho người dùng macOS
Hiệu năng: Supertonic được tối ưu hóa cao nhờ ONNX Runtime, tận dụng được GPU để tăng tốc xử lý. Trên các dòng máy Mac sử dụng chip Apple Silicon (M1, M2, M3…), bạn sẽ trải nghiệm tốc độ cực kỳ nhanh và mượt mà.
Yêu cầu: Hãy đảm bảo bạn có đủ dung lượng trống để tải mô hình (khoảng vài GB).
Xử lý sự cố: Nếu gặp lỗi khi chạy máy chủ, hãy thử dùng CPU thay vì GPU bằng cách thêm tham số –cpu.
uv run –project py python tool/ws_tts_server.py –cpu
Mở rộng: Nếu bạn muốn tạo giọng nói cho riêng mình, Supertone cũng cung cấp một công cụ tùy chỉnh giọng nói (Voice Builder) cho phép “cài đặt” một giọng nói độc đáo, sẵn sàng tích hợp vào dự án của bạn.
Các trình khởi chạy và các phần phụ thuộc được lựa chọn dựa trên hệ điều hành và kiến trúc CPU, do đó cùng một kho lưu trữ có thể chạy trên nhiều máy hơn mà không cần chỉnh sửa thủ công các tệp phụ thuộc.
| Nền tảng | Trình khởi chạy | Đường dẫn thời gian chạy mặc định | Gia tốc |
|---|---|---|---|
| Windows x64 | tool/start_tts_server.bat | uv sync→py/.venv/Scripts/python.exe | CUDA, DirectML, dự phòng CPU |
| Windows ARM64 | tool/start_tts_server.bat | uv sync→py/.venv/Scripts/python.exe | dự phòng CPU |
| Ubuntu/Linux x64 | tool/start_tts_server.sh | uv synchoặcpython3 -m venvphương án dự phòng | CUDA, dự phòng CPU |
| Ubuntu/Linux ARM64 | tool/start_tts_server.sh | uv synchoặcpython3 -m venvphương án dự phòng | dự phòng CPU |
| macOS Intel / Apple Silicon | tool/start_tts_server.sh | uv synchoặcpython3 -m venvphương án dự phòng | Chế độ dự phòng CPU; CoreML chỉ hoạt động nếu bản dựng ONNX Runtime của bạn hỗ trợ tính năng này. |
Các điều kiện tiên quyết được khuyến nghị:
- Python 3.10 trở lên
uvđể có đường dẫn cài đặt đáng tin cậy nhấtgit-lfsđể tải xuống tài sản mô hình
Trình khởi chạy Ubuntu/macOS có thể sử dụng phương án dự phòngpython3 -m venvnếupipchưauvđược cài đặt. Trình khởi chạy Windows yêu cầuuv.
Kết luận
Supertonic là một bước tiến vượt bậc trong lĩnh vực TTS mã nguồn mở, mang đến hiệu năng và chất lượng thường chỉ thấy ở các dịch vụ thương mại. Với supertonic-tool, việc trải nghiệm và tích hợp công nghệ này trở nên dễ dàng hơn bao giờ hết, kể cả với người dùng phổ thông.
Hãy tự tay cài đặt, khám phá và tận hưởng sự tiện lợi mà một hệ thống TTS mạnh mẽ, bảo mật và hoàn toàn miễn phí mang lại ngay trên chiếc Mac của bạn.

Bài viết liên quan: