Bối cảnh và phạm vi công khai
Dự án xử lý nhu cầu chuyển văn bản thành giọng nói ngoại tuyến trên thiết bị RK3588-S. Trên Android 12, arm64-v8a và quyền ứng dụng thông thường, nhóm đã đóng gói mô hình, callback luồng, điều khiển phát, giọng nam, nhiều giọng nữ, AAR và Demo APK. WAV và số liệu được tạo trên thiết bị thật. Tên khách hàng và mã tài sản đã được loại bỏ; chỉ công khai dữ kiện có thể đối chiếu bằng mã, bản dựng, log và âm thanh.
Mục tiêu kỹ thuật
- Tổng hợp giọng nói cục bộ khi không có mạng.
- Cung cấp PCM luồng bất đồng bộ qua Android AAR.
- Cho phép chọn giọng nam và nhiều giọng nữ tiếng Trung.
- Bàn giao Demo, hướng dẫn tích hợp, giấy phép, WAV và hồ sơ kiểm thử.
Luồng xử lý trên thiết bị
Yêu cầu văn bản mới có thể dừng yêu cầu cũ đang chạy hoặc chờ. Mô hình Kokoro không lượng tử hóa được nạp khi tạo SDK và suy luận bằng CPU RK3588-S. Đầu ra là các khối 24 kHz, mono, PCM16 little-endian. Luồng tổng hợp không gọi TTS đám mây.
- Tổng hợp giọng nói cục bộ khi không có mạng.
- Cung cấp PCM luồng bất đồng bộ qua Android AAR.
- Cho phép chọn giọng nam và nhiều giọng nữ tiếng Trung.
- Bàn giao Demo, hướng dẫn tích hợp, giấy phép, WAV và hồ sơ kiểm thử.
Bàn giao Android SDK
AAR cung cấp EyeTtsSdk, TtsOptions, TtsStreamCallback và TtsAudioData. replaceTextStreamAsync() dừng văn bản cũ và tổng hợp văn bản mới nhất; stopTts() dừng và xóa hàng đợi. Đầu ra là PCM thô, không phải WAV.
TtsOptions options = new TtsOptions("zm_009", 1.0f, 1.0f);
tts.replaceTextStreamAsync(text, options, callback);
// callback.onAudioChunk(... TtsAudioData audio)
Giọng nam và kiểm thử thiết bị
Giọng nam đã được kiểm thử trên thiết bị. Giọng công khai là zm_009, speaker ID 58, được tạo với cùng câu ở 0.8x, 1.0x và 1.4x. Thời lượng là 5.549, 4.363 và 3.086 giây; mọi WAV đều 24 kHz mono PCM16 và không clipping. Số liệu không thay thế đánh giá nghe.
Male zm_009 / 0.8x
Male zm_009 / 1.0x
Male zm_009 / 1.4x
Nhiều giọng nữ
SDK 0.5.1 ánh xạ 55 tên giọng nữ tiếng Trung chính thức; Demo tạo 12 ứng viên trên RK3588-S. zf_001 là mốc công khai. Khác biệt thời lượng, đỉnh và hash loại trừ xuất trùng nhưng không chứng minh độ tự nhiên hay phù hợp nghiệp vụ.
Female zf_001 / 1.0x
Môi trường phần cứng và phần mềm
| Mục | Giá trị |
|---|---|
| SoC | RK3588-S |
| OS | Android 12 |
| ABI | arm64-v8a |
| Model | Kokoro multi-lang v1.1, non-quantized |
| Runtime | sherpa-onnx 1.13.4, CPU, 4 threads |
| Output | 24000 Hz, mono, PCM16 little-endian |
Kết quả đo trên RK3588-S
| Giọng / tốc độ | PCM đầu | Tổng | Âm thanh | RTF | Clipping |
|---|---|---|---|---|---|
| Female zf_001 / 1.0x | 1572 ms | 4387 ms | 4.241 s | 1.034 | 0 |
| Male zm_009 / 0.8x | 1923 ms | 5534 ms | 5.549 s | 0.997 | 0 |
| Male zm_009 / 1.0x | 1545 ms | 4396 ms | 4.363 s | 1.008 | 0 |
| Male zm_009 / 1.4x | 1133 ms | 3201 ms | 3.086 s | 1.038 | 0 |
Đo cùng một câu tiếng Trung ngắn với 4 luồng CPU và tham số âm lượng SDK 1.0. First chunk là thời gian tới PCM đầu tiên; RTF là thời gian tạo chia thời lượng. Nguồn: hồ sơ thử RK3588-S của Winge ngày 2026-08-05. Mẫu nhỏ không bảo đảm mọi văn bản.
Kiểm thử và sản phẩm bàn giao
- EyeAlgo TTS Android AAR và Core AAR tương ứng.
- Demo APK cho giọng, tốc độ, âm lượng, phát, dừng và xuất WAV.
- Danh mục Kokoro, SHA-256, WAV nam/nữ, log thiết bị, tài liệu tích hợp và giấy phép.
38 test suites / 185 test cases / 0 failures / 0 errors / 0 skipped. AAR and APK builds passed.
Kịch bản áp dụng
Có thể đánh giá cho kính thông minh, đọc OCR ngoại tuyến, thiết bị công nghiệp, cảnh báo máy, thiết bị trưng bày và Android trong mạng kín. Hội thoại thời gian thực, văn bản dài và firmware sản xuất cần kiểm thử riêng về dung lượng, bộ nhớ, độ trễ, chuỗi âm thanh, chuẩn hóa và ổn định.
Điều kiện tích hợp
- Đã thử Android 12, arm64-v8a; mục tiêu khác cần xác minh tương thích.
- AAR không lượng tử hóa khoảng 354 MiB, Demo APK khoảng 360 MiB.
- Loại thư viện xung đột và đặt AudioTrack 24000 Hz, mono, PCM16 little-endian.
Giới hạn và phạm vi nghiệm thu
- Trạng thái CUSTOMER_TEST / NOT PRODUCTION.
- Văn bản dài, ổn định 8 giờ, đánh giá mọi giọng, INT8 và ký sản xuất chưa hoàn tất.
- First-chunk P95 và RTF chưa đạt mục tiêu ban đầu.
Nguồn kỹ thuật công khai
ID giọng, cấu hình Android và tần số lấy mẫu theo tài liệu Kokoro của sherpa-onnx. Nguồn và giấy phép mô hình theo Kokoro-82M-v1.1-zh. Tài liệu upstream chỉ nhận diện thành phần, không phải bằng chứng nghiệm thu.
Câu hỏi thường gặp
SDK có hoàn toàn ngoại tuyến không?
Luồng tổng hợp chạy cục bộ và không gọi TTS đám mây. Việc phân phối ban đầu hoặc đồng bộ dữ liệu có cần mạng hay không phụ thuộc phương án triển khai.
Giọng nam đã thử trên RK3588-S chưa?
Có. zm_009 được tạo ở ba tốc độ và ghi nhận độ trễ, thời gian, RTF, clipping. Văn bản dài và kiểm thử 8 giờ chưa hoàn tất.
Hỗ trợ bao nhiêu giọng nữ tiếng Trung?
SDK ánh xạ 55 tên và Demo đã tạo 12 ứng viên trên thiết bị. Điều này không có nghĩa mọi giọng đã được nghiệm thu chủ quan.
Callback có trả WAV không?
Không. Callback trả PCM16 mono 24 kHz thô; cần thêm header WAV khi lưu.
Vì sao chưa gọi là sẵn sàng sản xuất?
Vì chưa hoàn tất văn bản dài, mọi giọng, ổn định 8 giờ, ký sản xuất và chuỗi âm thanh của khách hàng.

Online
Phone
WeChat
Top