Maskinöversättning · Engelskt original
Pocket TTS 100M
Native Apple runtime · PocketTTS
PocketTTS lägger till infödd CoreML talsyntes till speech-swift. Alla steg som standard för CPU-bara avrättning. Den engelska Alba förinställda strömmar 1,920-provramarna vid 24 kHz (80 ms per ram).
Efterlängtad leverans tillämpar backpressure. Varje begäran äger sitt återkommande tillstånd och frö. Avbokning, återkallande misslyckanden och generationsgränser rapportera fel; framgångsrikt slutförande avger en tom slutlig bit. Voice kloning och andra språk är inte stöds av denna bunt.
Ladda ner den publicerade bunt aufklarer/Pocket-TTS-100M-CoreML-INT8 vid första användning, eller ladda en lokal export. Behåll attribution till Kyutai, FluidInference och Alba MacKenna under CC BY 4.0.
Swift och CLI-användning
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 och WebSocket
Använd pocket-tts med röst alba. Streaming HTTP kräver PCM; WebSocket avger ljuddeltagare. De befintliga standardmodellerna är oförändrade.
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.pcmApple CPU riktmärke
Apple M5 Pro · 48 GiB · cpuOnly · first_audio_ms 78.9 · RTF 0.337 · peak_rss 866.8 MiB · n=5 · frö = 42 2026-10-17
Pocket TTS 100M är låg latens, on-device English text-to-speech backend i speech-core. Allmänheten ONNX bunt använder den fasta Alba-rösten och strömmar ljud så snart varje akustisk ram är klar.
Inferensen är genuint inblandad: en autoregressiv latenta avkodas och avges före generation av nästa latenta. Varje icke-final callback bär 1,920 Float32 prover - 80 ms vid 24 kHz - undviker den fasta full-graf golvet buffert TTS export.
Publicerad bunt
| Föremål | Detaljer |
|---|---|
| Modell | soniqo/Pocket-TTS-100M-ONNX-INT8 |
| Release | v1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c |
| Bundle storlek | 120.3 MiB |
| Runtime | ONNX Runtime · C++17 · dynamisk INT8 + FP32 |
| Output | 24 kHz mono Float32 PCM · 1,920 prover / 80 ms per ram |
| Språk / röst | Engelska · fast Alba röst |
Ladda ner och verifiera
speech-core downloader pins v1.0.0 och verifierar varje publicerad fil med SHA-256.
bash scripts/download_pocket_tts_onnx.sh /models/pocket-tts-onnx
C++ API
#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.
});
Streaming Contrakt
Återuppringningen får en 80 ms ram i taget; den slutliga återkopplingen markerar slutet av ström. last_metrics() rapporter konditionering, första-audio och total latens, ram och provräkningar, EOS-status, avbokning och den effektiva utsäde. cancel()
Galaxy S23 Ultra benchmark
En ren rerun av allmänheten v1.0.0 bunt som används ONNX Runtime 1.27, två CPU trådar och en Galaxy S23 Ultra. Dessa är direkta motormätningar, inte UI eller kompletta röstpipeline-timings.
| Metric | Resultat |
|---|---|
| TTFA p50 / p95 | 127,7 / 133,7 ms |
| Total latens p50 / p95 | 467,5 / 485,3 ms |
| Median RTF | 0.4495 |
| Peak RSS | 373.7 MiB |
Round-trip intelligens
Enhetsporten syntetiserade 46 kommando och assistentfraser, försvann ljudet genom produktionen 24-till-16 kHz-vägen och transkriberade den med den utplacerade Parakeet-EOU-igenkännaren.
| Metric | Resultat |
|---|---|
| Corpus | 46 fraser |
| Exakta transkript | 31 / 46 |
| WER / CER | 8.00% / 3.47% |
| Tomma ljud / transkript / EOS-fel | 0 / 0 / 0 |
Round-trip ASR mäter intelligens, inte naturlighet eller lyssnarpreferens; det kompletterar lyssnande tester.
Integrationsstatus
C+++17 ONNX backend slås samman speech-core och bygger för Windows, Linuxoch Android. Nuvarande speech-android SDK/JNI väg fortfarande väljer Kokoro som standard; Kotlin-modellval, nedladdning av ledningar, och SDK exponering är uppföljningsarbete. Detta avsnitt beskriver ONNX frigörelse; den infödda Swift CoreML runtime är dokumenterad ovan.
Gränser och licens
- Engelska bara; den offentliga checkpointen bakar i den fasta Alba rösten och stöder inte godtycklig röst kloning.
- Modellen och rösten är CC BY 4.0. Håll Alba MacKenna-attributet inkluderat i bunten manifestet.
- De återkommande graferna är CPU-orienterade. Hårdvaruacceleration är opt-in eftersom Android exekvering-leverantörsstöd varierar beroende på enhet och ONNX Runtime bygga.
- Den speech-core-källan är Apache 2.0; modellpaketet behåller sina egna CC BY 4.0-villkor.