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.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 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.pcm

Apple 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.

Streaming första ljud

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ålDetaljer
Modellsoniqo/Pocket-TTS-100M-ONNX-INT8
Releasev1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c
Bundle storlek120.3 MiB
RuntimeONNX Runtime · C++17 · dynamisk INT8 + FP32
Output24 kHz mono Float32 PCM · 1,920 prover / 80 ms per ram
Språk / röstEngelska · 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.

MetricResultat
TTFA p50 / p95127,7 / 133,7 ms
Total latens p50 / p95467,5 / 485,3 ms
Median RTF0.4495
Peak RSS373.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.

MetricResultat
Corpus46 fraser
Exakta transkript31 / 46
WER / CER8.00% / 3.47%
Tomma ljud / transkript / EOS-fel0 / 0 / 0

Round-trip ASR mäter intelligens, inte naturlighet eller lyssnarpreferens; det kompletterar lyssnande tester.

Integrationsstatus

Vad som finns idag

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

Källor