Traduzione automatica · Originale inglese
Pocket TTS 100
Tempo di esecuzione nativo di Apple · PocketTTS
PocketTTS aggiunge la sintesi vocale nativo CoreML a speech-swift. Tutte le fasi di default all'esecuzione della CPU. I flussi preimpostati di Alba inglese 1,920-sample frame a 24 kHz (80 ms per frame).
La cancellazione, i guasti di callback e i limiti di generazione segnalano gli errori; il completamento riuscito emette un pezzo finale vuoto. La clonazione vocale e altre lingue non sono supportate da questo pacchetto.
Scarica il bundle pubblicato aufklarer/Pocket-TTS-100M-CoreML-INT8 sul primo utilizzo, o caricare un'esportazione locale. Tenere attribuzione a Kyutai, FluidInference e Alba MacKenna sotto CC BY 4.0.
Swift e uso 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 e WebSocket
Utilizzare taschino-tt con voce alba. Streaming HTTP richiede PCM; WebSocket emette delta audio. I modelli predefiniti esistenti sono invariati.
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
Apple M5 Pro · 48 GiB · cpuOnly · first_audio_ms 78.9 · RTF 0.337 · peak_rss 866.8 MiB · n=5 · seme=42 · 2026-10-17
Pocket TTS 100M è la bassa latenza, il backend di testo in inglese su richiesta in speech-core. Il pubblico ONNX fascio utilizza la voce fissa di Alba e trasmette l'audio non appena ogni frame acustico è pronto.
L'inferenza è autenticamente interleaved: un latente autoregressivo viene decodificato ed emesso prima della generazione del prossimo latente. Ogni callback non finale porta campioni 1,920 Float32 — 80 ms a 24 kHz — evitando il pavimento a pieno grafico fisso delle esportazioni tamponate TTS.
Fascio Pubblicato
| Articolo | Dettagli |
|---|---|
| Modello | soniqo/Pocket-TTS-100M-ONNX-INT8 |
| Comunicato stampa | v1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c |
| Dimensione del Bundle | 120.3 MiB |
| Tempo di esecuzione | ONNX Runtime · C++17 - dinamico INT8 + FP32 |
| Produzione | 24 kHz mono Float32 PCM · 1,920 campioni / 80 ms per telaio |
| Lingua / voce | Italiano · fisso Alba voce |
Scarica e verifica
Il speech-core downloader pins v1.0.0 e verifica ogni file pubblicato di 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.
});
Contratto di streaming
Il callback riceve una cornice di 80 ms alla volta; il callback finale segna la fine del flusso. last_metrics() report condizionamento, latenza di primo suono e totale, frame e conteggi di campione, stato EOS, cancellazione e il seme efficace. cancel()
Galaxy S23 Ultra benchmark
Una ripulita fuga del pubblico v1.0.0 fascio utilizzato ONNX Runtime 1.27, due filetti CPU e un Galaxy S23 Ultra. Queste sono misurazioni dirette del motore, non UI o tempistiche complete della linea vocale.
| Metrico | Risultato |
|---|---|
| TTFA p50 / p95 | 127.7 / 133.7 ms |
| Latenza totale p50 / p95 | 467.5 / 485.3 ms |
| Median RTF | 0.4495 |
| picco RSS | 373.7 MiB |
Intelligibilità delle escursioni
Il cancello del dispositivo ha sintetizzato 46 frasi di comando e di assistente, rivenditample l'audio attraverso il percorso di produzione 24--16 kHz, e trascritto con il riconosciutore Parakeet-EOU distribuito.
| Metrico | Risultato |
|---|---|
| Corpus | 46 frasi |
| Trascrizioni esatte | 31 / 46 |
| WER / CER | 8.00% / 3.47% |
| Audio vuoto / trascrizione / guasti EOS | 0 / 0 / 0 |
Il giro d'affari ASR misura l'intelligibilità, non la naturalezza o la preferenza dell'ascoltatore; completa i test di ascolto.
Stato di integrazione
Il C++17 ONNX backend è unito in speech-core e costruisce per Windows, Linuxe Android. La corrente speech-android SDK/JNI percorso ancora seleziona Kokoro per impostazione predefinita; selezione del modello Kotlin, cablaggio di download, e SDK l'esposizione è lavoro di follow-up. Questa sezione descrive la ONNX rilascio; il nativo Swift CoreML runtime è documentato sopra.
Limiti e licenze
- Solo l'inglese; il checkpoint pubblico cuoce nella voce fissa Alba e non supporta clonazione vocale arbitraria.
- Il modello e la voce sono CC BY 4.0. Tenere l'attribuzione Alba MacKenna inclusa nel manifesto del fascio.
- I grafici ricorrenti sono orientati alla CPU. L'accelerazione hardware è opt-in perché il supporto per l'esecuzione Android varia da dispositivo e la costruzione ONNX Runtime.
- La sorgente speech-core è Apache 2.0; il pacchetto del modello mantiene i propri termini CC BY 4.0.