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.wav
import 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.

Streaming âm thanh đầu tiên

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

ItemDetails
Modelsoniqo/Pocket-TTS-100M-ONNX-INT8
Releasev1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c
Bundle size120.3 MiB
RuntimeONNX Runtime · C++17 · dynamic INT8 + FP32
Output24 kHz mono Float32 PCM · 1,920 samples / 80 ms per frame
Language / voiceEnglish · 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.

MetricResult
TTFA p50 / p95127.7 / 133.7 ms
Total latency p50 / p95467.5 / 485.3 ms
Median RTF0.4495
Peak RSS373.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.

MetricResult
Corpus46 phrases
Exact transcripts31 / 46
WER / CER8.00% / 3.47%
Empty audio / transcript / EOS failures0 / 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

Hiện có gì

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

Nguồn