Automatische vertaling · Engels origineel

Pocket TTS 100M

Inheemse Apple runtime · PocketTTS

PocketTTS voegt native CoreML spraaksynthese toe aan speech-swift. Alle fasen zijn standaard voor CPU-uitvoering. De Engelse Alba-voorinstelling streamt 1.920-sample frames op 24 kHz (80 ms per frame).

Afgewachte levering is van toepassing tegendruk. Elk verzoek is eigenaar van zijn terugkerende staat en zaad. Annulering, terugroepfouten, en generatie limieten rapport fouten; succesvolle voltooiing zendt een lege laatste brok. Voice klonen en andere talen worden niet ondersteund door deze bundel.

Download de gepubliceerde bundel aufklarer/Pocket-TTS-100M-CoreML-INT8 bij eerste gebruik, of laad een lokale export. Remain attribution to Kyutai, FluidInferentie, and Alba MacKenna under CC BY 4.0.

Swift en CLI-gebruik

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 en WebSocket

Gebruik pocket-tts met voice alba. Streaming HTTP vereist PCM; WebSocket zendt audio delta's uit. De bestaande standaardmodellen zijn ongewijzigd.

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 benchmark

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 is de lage snelheid, on-device Engelse tekst-naar-spraak backend in speech-core. De publieke ONNX bundel gebruikt de vaste Alba spraak en stroomt audio zodra elk akoestisch frame klaar is.

Eerste audio streamen

De conclusie is echt verweven: één autoregressief latent wordt gedecodeerd en uitgezonden voor de generatie van de volgende latente. Elke niet-laatste terugroep draagt 1,920 Float32 monsters 80 ms at 24 kHz ..het vermijden van de vaste full-graph vloer van gebufferd TTS uitvoer.

Gepubliceerde bundel

Post Gegevens
Modelsoniqo/Pocket-TTS-100M-ONNX-INT8
Loslatenv1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c
Bundelgrootte120,3 MiB
StarttijdONNX Runtime · C++17 · dynamic INT8 + FP32
Uitvoer24 kHz mono Float32 PCM · 1.920 monsters / 80 ms per frame
Taal / stem Engels · vaste Alba stem

Downloaden en verifiëren

De speech-core downloader pinnen v1.0.0 en controleer elk gepubliceerd bestand met 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 contract

De callback ontvangt één 80 ms frame per keer; de uiteindelijke callback markeert het einde van de stroom. last_metrics() rapporteert conditionering, eerste audio en totale latentie, frame en monstertellingen, EOS-status, annulering en het effectieve zaad. cancel()

Galaxy S23 Ultrabenchmark

Een schone herhaling van de publieke v1.0.0 bundel gebruikt ONNX Runtime 1.27, twee CPU threads, en een Galaxy S23 Ultra. Dit zijn directe motormetingen, geen UI of volledige spraakpipeline timings.

Metrisch Resultaat
TTFA p50 / p95127,7 / 133,7 ms
Totale latentie p50 / p95467,5 / 485,3 ms
Mediaan RTF0.4495
Piek RSS373,7 MiB

Onduidelijkheid rond de reis

Het apparaat gate synthetiseerde 46 commando en assistent zinnen, heringedeeld de audio door de productie 24-tot-16 kHz pad, en getranscribeerd met de ingezette Parakeet-EOU herkenner.

Metrisch Resultaat
Corpus46 zinnen
Exacte transcripties31 / 46
WER / CER8.00% / 3.47%
Lege audio / transcript / EOS storingen0 / 0 / 0

Rondreis ASR meet verstaanbaarheid, geen natuurlijkheid of voorkeur van de luisteraar; het vult luistertesten aan.

Integratiestatus

Wat is er vandaag beschikbaar

De C++17 ONNX backend is samengevoegd in speech-core en bouwt voor Windows, Linuxen Android. De huidige speech-android SDK/JNI-pad selecteert nog steeds Kokoro standaard; Kotlin model selectie, download bedrading, en SDK blootstelling zijn follow-up werk. Deze sectie beschrijft de ONNX vrijgeven; de inheemse Swift CoreML runtime is hierboven gedocumenteerd.

Grenzen en vergunningen

Bronnen