Tłumaczenie automatyczne · Oryginał angielski

Pocket TTS 100M

Native Apple runtime · PockettTS

PocketTTS dodaje rodzimą syntezę mowy CoreML do speech-swift. Wszystkie etapy domyślne do wykonania tylko CPU. angielskie strumienie Alba preset 1,920- próbki w 24 kHz (80 ms per frame).

Oczekiwana dostawa powoduje odwrotną presję. Każda prośba jest właścicielem jej powtarzającego się stanu i nasion. Anulowanie, awaria wywołania i ograniczenie wytwarzania błędów raportowania; pomyślne ukończenie emituje jeden pusty końcowy kawałek. Klonowanie głosu i inne języki nie są obsługiwane przez ten pakiet.

Pobierz opublikowany pakiet aufklarer / Pocket-TTS-100M-CoreML-INT8 na pierwszym użyciu, lub załadować lokalny eksport. Zachować przypisanie do Kyutai, FluidInference, i Alba MacKenna pod CC BY 4.0.

Wykorzystanie Swift i 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 i WebSocket

Użyj pocket- tts z głosem alba. Streaming HTTP wymaga PCM; WebSocket emituje deltas audio. Istniejące modele domyślne są niezmienione.

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 · nasiona =42 · 2026-10-17

Pocket TTS 100M jest niskie latencja, on- device English text- to- mowy backend w speech-core. Publiczny pakiet ONNX wykorzystuje stały głos Alba i strumieni audio jak tylko każda akustyczna rama jest gotowa.

Uruchamianie pierwszego dźwięku

Wniosek jest rzeczywiście przestawiony: jeden autoregresywny utajony jest dekodowany i emitowany przed generacją kolejnego utajonego. Każde niekońcowe wywołanie zawiera próbki 1,920 Float32 - 80 ms w 24 kHz - unikając stałej podłogi pełnografu buforowanego eksportu TTS.

Opublikowany pakiet

PozycjaSzczegóły
Wzórsoniqo/Pocket-TTS-100M-ONNX-INT8
Zwolnieniev1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c
Rozmiar zestawu120.3 MiB
Czas działaniaONNX Runtime · C + +17 · dynamiczny INT8 + FP32
Wyjście24 kHz mono Float32 PCM · 1,920 próbki / 80 ms na ramę
Język / głosAngielski · stały głos Alba

Pobieranie i weryfikowanie

Śruby do pobierania speech-core v1.0.0 i weryfikuje każdy opublikowany plik 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.
    });

Kontrakt na utrzymanie płynności finansowej

80 ms frame na raz; końcowe znaki wywołania końca strumienia. last_metrics() raporty o kondycjonowaniu, pierwszym audio i całkowitej opóźnieniu, ramie i liczbie próbek, stanie EOS, anulowanie, i efektywnego materiału siewnego. cancel() przerywa aktywną syntezę.

Wskaźnik Galaxy S23 Ultra

Czysty przegląd opinii publicznej v1.0.0 ONNX Runtime 1.27, dwa gwinty CPU i Galaxy S23 Ultra. Są to bezpośrednie pomiary silnika, a nie UI lub pełne rozłożenie gazociągu głosowego.

MetricWynik
TTFA p50 / p95127,7 / 133,7 ms
Całkowity czas opóźnienia p50 / p95467,5 / 485,3 ms
Mediana RTF0.4495
Szczyt RSS373.7 MiB

Inteligentność w ramach podróży okrągłej

Brama urządzenia zsyntetyzowała 46 zwrotów komend i asystentów, przełączyła dźwięk przez ścieżkę produkcji 24- do -16 kHz i przepisywała go za pomocą zastosowanego rozpoznawacza Parakeet- EOU.

MetricWynik
Corpus Przewodniczący46 zwrotów
Dokładne transkrypcje31 / 46
WER / CER8.00% / 3.47%
Puste awarie audio / transkrypcji / EOS0 / 0 / 0

Round- trip ASR mierzy inteligencję, a nie naturalność czy preferencje słuchaczy; uzupełnia testy słuchowe.

Status integracji

Co jest dostępne dzisiaj

C + +17 ONNX backend jest połączona w speech-core i buduje dla Windows, Linuxoraz AndroidBieżący speech-android SDK/ Ścieżka JNI wciąż wybiera Kokoro domyślnie; wybór modelu Kotlin, pobieranie okablowania, oraz SDK Ekspozycja to następująca praca. ONNX uwolnienie; rodzime Swift CoreML czas trwania jest udokumentowany powyżej.

Ograniczenia i licencje

Źródła