Pocket TTS 100M

Pocket TTS 100M, speech-core içindeki düşük gecikmeli, cihaz üzerinde çalışan İngilizce metinden konuşmaya backend’idir. Genel ONNX paketi sabit Alba sesini kullanır ve her akustik kare hazır olur olmaz sesi akıtır.

İlk sesi akıtma

Çıkarım gerçekten iç içedir: bir otoregresif latent çözümlenip yayınlandıktan sonra sıradaki üretilir. Her son olmayan callback 1.920 Float32 örneği — 24 kHz’de 80 ms — verir ve tamponlu TTS grafiklerinin sabit taban gecikmesini önler.

Yayınlanan paket

ItemDetails
Modelsoniqo/Pocket-TTS-100M-ONNX-INT8
Releasev1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c
Bundle size120.3 MiB
RuntimeONNX Runtime · C++17 · dynamic INT8 + FP32
Output24 kHz mono Float32 PCM · 1,920 samples / 80 ms per frame
Language / voiceEnglish · fixed Alba voice

İndirme ve doğrulama

speech-core indiricisi v1.0.0 sürümünü sabitler ve her yayın dosyasını SHA-256 ile doğrular.

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.
    });

Akış sözleşmesi

Callback her seferinde bir 80 ms kare alır; son callback akış sonunu işaretler. last_metrics() koşullama, ilk ses ve toplam gecikme, kare/örnek sayıları, EOS, iptal ve kullanılan seed’i bildirir. cancel() etkin sentezi durdurur.

Galaxy S23 Ultra benchmark

Genel v1.0.0 paketinin temiz tekrar testi ONNX Runtime 1.27, iki CPU thread’i ve Galaxy S23 Ultra kullandı. Bunlar UI veya tüm ses hattı değil, doğrudan motor ölçümleridir.

MetricResult
TTFA p50 / p95127.7 / 133.7 ms
Total latency p50 / p95467.5 / 485.3 ms
Median RTF0.4495
Peak RSS373.7 MiB

Gidiş-dönüş anlaşılabilirlik

Cihaz testi 46 komut ve yanıt cümlesi sentezledi, production 24→16 kHz yeniden örnekleyiciden geçirdi ve dağıtılmış Parakeet-EOU ile yazıya döktü.

MetricResult
Corpus46 phrases
Exact transcripts31 / 46
WER / CER8.00% / 3.47%
Empty audio / transcript / EOS failures0 / 0 / 0

Gidiş-dönüş ASR doğallığı veya dinleyici tercihini değil anlaşılabilirliği ölçer; dinleme testlerini tamamlar.

Entegrasyon durumu

Bugün mevcut olanlar

C++17 ONNX backend speech-core’a merge edildi ve Windows, Linux, Android için build ediliyor. Mevcut speech-android SDK/JNI yolu hâlâ varsayılan olarak Kokoro’yu seçiyor; Kotlin model seçimi, indirme ve SDK sunumu sonraki iştir. Apple/CoreML backend dahil değildir.

Sınırlar ve lisans

Kaynaklar