Pocket TTS 100M
Pocket TTS 100M은 speech-core의 저지연 온디바이스 영어 TTS 백엔드입니다. 공개 ONNX 번들은 고정 Alba 음성을 사용하며 각 음향 프레임이 준비되는 즉시 오디오를 스트리밍합니다.
추론은 실제로 인터리빙됩니다. 자기회귀 잠재 프레임 하나를 디코딩해 내보낸 뒤 다음 프레임을 생성합니다. 각 비최종 콜백은 Float32 샘플 1,920개, 즉 24kHz에서 80ms를 전달하여 버퍼형 TTS 그래프의 고정 대기 시간을 피합니다.
공개 번들
| Item | Details |
|---|---|
| Model | soniqo/Pocket-TTS-100M-ONNX-INT8 |
| Release | v1.0.0 · ad5d3fae3fb2f10024583708597afca8337c094c |
| Bundle size | 120.3 MiB |
| Runtime | ONNX Runtime · C++17 · dynamic INT8 + FP32 |
| Output | 24 kHz mono Float32 PCM · 1,920 samples / 80 ms per frame |
| Language / voice | English · fixed Alba voice |
다운로드 및 검증
speech-core 다운로더는 v1.0.0을 고정하고 모든 공개 파일을 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.
});
스트리밍 계약
콜백은 80ms 프레임을 하나씩 받고 최종 콜백이 스트림 종료를 표시합니다. last_metrics()는 컨디셔닝, 첫 오디오 및 전체 지연, 프레임/샘플 수, EOS, 취소, 실제 시드를 보고하며 cancel()은 진행 중인 합성을 중지합니다.
Galaxy S23 Ultra 벤치마크
공개 v1.0.0 번들을 ONNX Runtime 1.27, CPU 스레드 2개, Galaxy S23 Ultra에서 새로 측정했습니다. UI나 전체 음성 파이프라인을 포함하지 않은 엔진 직접 측정치입니다.
| Metric | Result |
|---|---|
| TTFA p50 / p95 | 127.7 / 133.7 ms |
| Total latency p50 / p95 | 467.5 / 485.3 ms |
| Median RTF | 0.4495 |
| Peak RSS | 373.7 MiB |
왕복 명료도
기기에서 명령과 응답 46개를 합성하고 프로덕션 24→16kHz 리샘플링 경로를 거쳐 배포된 Parakeet-EOU로 전사했습니다.
| Metric | Result |
|---|---|
| Corpus | 46 phrases |
| Exact transcripts | 31 / 46 |
| WER / CER | 8.00% / 3.47% |
| Empty audio / transcript / EOS failures | 0 / 0 / 0 |
왕복 ASR은 자연스러움이나 청취자 선호도가 아니라 명료도를 측정하며 청취 테스트를 보완합니다.
통합 상태
C++17 ONNX 백엔드는 speech-core에 병합되어 Windows, Linux, Android용으로 빌드됩니다. 현재 speech-android SDK/JNI 경로는 여전히 Kokoro를 기본 선택합니다. Kotlin 모델 선택, 다운로드 연결, SDK 공개는 후속 작업이며 Apple/CoreML 백엔드는 포함되지 않습니다.
제한 및 라이선스
- 영어 전용이며 공개 체크포인트에는 고정 Alba 음성이 내장되어 임의 음성 복제를 지원하지 않습니다.
- 모델과 음성은 CC BY 4.0입니다. 번들 매니페스트의 Alba MacKenna 저작자 표시를 유지해야 합니다.
- 순환 그래프는 CPU 중심입니다. Android 실행 공급자 지원이 기기와 ONNX Runtime 빌드마다 달라 하드웨어 가속은 선택 사항입니다.
- speech-core 소스는 Apache 2.0이며 모델 번들은 별도 CC BY 4.0 조건을 유지합니다.