Pocket TTS 100M
Bộ chạy gốc cho Apple · PocketTTS
PocketTTS bổ sung tổng hợp giọng nói CoreML gốc cho speech-swift. Mọi giai đoạn mặc định chỉ dùng CPU. Giọng Alba tiếng Anh phát từng khung 1.920 mẫu ở 24 kHz, tương đương 80 ms mỗi khung.
Chờ chuyển giao giúp kiểm soát áp lực ngược. Mỗi yêu cầu có trạng thái và hạt giống riêng. Hủy, lỗi hàm nhận và giới hạn sinh đều báo lỗi; khi thành công chỉ phát một khối cuối rỗng. Gói này không hỗ trợ nhân bản giọng hay ngôn ngữ khác.
Tải gói đã phát hành aufklarer/Pocket-TTS-100M-CoreML-INT8 khi dùng lần đầu hoặc nạp bản xuất cục bộ. Giữ ghi công Kyutai, FluidInference và Alba MacKenna theo CC BY 4.0.
Cách dùng Swift và CLI
speech speak "Hello world." --engine pocket --stream \
--pocket-bundle-dir /path/to/bundle --pocket-seed 42 -o hello.wavimport PocketTTS
let model = try PocketTTSModel.fromBundle(URL(fileURLWithPath: "/path/to/bundle"))
try await model.generateStreaming(text: "Hello world.") { chunk in
await consume(chunk.samples)
}HTTP và WebSocket
Dùng pocket-tts với giọng alba. HTTP trực tiếp yêu cầu PCM; WebSocket phát các đoạn âm thanh. Các mô hình mặc định hiện có được giữ nguyên.
curl http://localhost:8080/v1/audio/speech \
-H 'Content-Type: application/json' \
-d '{"model":"pocket-tts","voice":"alba","input":"Hello world.","response_format":"pcm","stream":true}' \
-o hello.pcmĐo CPU Apple
Apple M5 Pro · 48 GiB · cpuOnly · first_audio_ms 78.9 · RTF 0.337 · peak_rss 866.8 MiB · n=5 · seed=42 · 2026-10-17
Pocket TTS 100M là backend chuyển văn bản tiếng Anh thành giọng nói có độ trễ thấp, chạy trên thiết bị trong speech-core. Gói ONNX công khai dùng giọng Alba cố định và phát trực tiếp ngay khi từng frame âm học sẵn sàng.
Suy luận thực sự đan xen: mỗi latent tự hồi quy được giải mã và phát trước khi tạo latent tiếp theo. Mỗi callback chưa kết thúc trả 1.920 mẫu Float32 — 80 ms ở 24 kHz — tránh mức trễ cố định của đồ thị TTS có đệm.
Gói đã phát hành
| Item | Details |
|---|---|
| Model | soniqo/Pocket-TTS-100M-ONNX-INT8 |
| Release | v1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c |
| Bundle size | 120.3 MiB |
| Runtime | ONNX Runtime · C++17 · dynamic INT8 + FP32 |
| Output | 24 kHz mono Float32 PCM · 1,920 samples / 80 ms per frame |
| Language / voice | English · fixed Alba voice |
Tải xuống và xác minh
Trình tải của speech-core ghim v1.0.0 và xác minh mọi tệp phát hành bằng SHA-256.
bash scripts/download_pocket_tts_onnx.sh /models/pocket-tts-onnx
API C++
#include <speech_core/models/onnx_pocket_tts.h>
speech_core::PocketTtsConfig config;
config.intra_threads = 2;
config.flow_steps = 4;
speech_core::OnnxPocketTts tts("/models/pocket-tts-onnx", config);
tts.synthesize("Hello world.", "en",
[](const float* samples, size_t length, bool is_final) {
// Each non-final callback is 1,920 Float32 samples:
// 80 ms at 24 kHz.
});
Giao ước streaming
Callback nhận từng frame 80 ms; callback cuối đánh dấu hết luồng. last_metrics() báo thời gian conditioning, âm thanh đầu tiên và tổng, số frame/mẫu, EOS, hủy và seed thực tế. cancel() dừng lần tổng hợp đang chạy.
Benchmark Galaxy S23 Ultra
Lần chạy lại sạch của gói công khai v1.0.0 dùng ONNX Runtime 1.27, hai luồng CPU và Galaxy S23 Ultra. Đây là số đo trực tiếp của engine, không gồm UI hay toàn bộ pipeline giọng nói.
| Metric | Result |
|---|---|
| TTFA p50 / p95 | 127.7 / 133.7 ms |
| Total latency p50 / p95 | 467.5 / 485.3 ms |
| Median RTF | 0.4495 |
| Peak RSS | 373.7 MiB |
Độ rõ qua vòng lặp
Bài kiểm tra trên thiết bị tổng hợp 46 câu lệnh và phản hồi, đưa qua bộ đổi mẫu production 24→16 kHz rồi chép lời bằng Parakeet-EOU đã triển khai.
| Metric | Result |
|---|---|
| Corpus | 46 phrases |
| Exact transcripts | 31 / 46 |
| WER / CER | 8.00% / 3.47% |
| Empty audio / transcript / EOS failures | 0 / 0 / 0 |
ASR vòng lặp đo độ dễ hiểu, không đo độ tự nhiên hay sở thích người nghe; nó bổ sung cho bài kiểm tra nghe.
Trạng thái tích hợp
Backend ONNX C++17 đã được merge vào speech-core và build cho Windows, Linux, Android. SDK/JNI speech-android hiện vẫn chọn Kokoro mặc định; chọn model trong Kotlin, tải xuống và API SDK là công việc tiếp theo. Phần này mô tả bản ONNX; bộ chạy Swift CoreML gốc được trình bày ở trên.
Giới hạn và giấy phép
- Chỉ tiếng Anh; checkpoint công khai tích hợp giọng Alba cố định và không hỗ trợ clone giọng tùy ý.
- Model và giọng nói dùng CC BY 4.0. Phải giữ ghi công Alba MacKenna trong manifest.
- Các đồ thị hồi quy hướng đến CPU. Tăng tốc phần cứng là tùy chọn vì provider Android thay đổi theo thiết bị và bản build ONNX Runtime.
- Mã nguồn speech-core dùng Apache 2.0; gói model giữ điều khoản CC BY 4.0 riêng.