Pocket TTS 100M

Pocket TTS 100M คือแบ็กเอนด์แปลงข้อความภาษาอังกฤษเป็นเสียงที่หน่วงต่ำและทำงานบนอุปกรณ์ใน speech-core แพ็กเกจ ONNX สาธารณะใช้เสียง Alba แบบคงที่และสตรีมเสียงทันทีที่แต่ละเฟรมพร้อม

สตรีมเสียงแรก

การอนุมานสลับกันจริง: latent แบบ autoregressive หนึ่งเฟรมถูกถอดรหัสและส่งออกก่อนสร้างเฟรมถัดไป แต่ละ callback ที่ยังไม่สิ้นสุดส่งตัวอย่าง Float32 จำนวน 1,920 ตัว หรือ 80 ms ที่ 24 kHz จึงไม่ติดค่าหน่วงคงที่ของกราฟ TTS แบบบัฟเฟอร์

แพ็กเกจที่เผยแพร่

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

ดาวน์โหลดและตรวจสอบ

ตัวดาวน์โหลดของ 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.
    });

สัญญาการสตรีม

callback รับเฟรม 80 ms ทีละเฟรม และ callback สุดท้ายระบุจบสตรีม last_metrics() รายงาน conditioning, เวลาเสียงแรกและเวลารวม, จำนวนเฟรม/ตัวอย่าง, EOS, การยกเลิก และ seed ที่ใช้ ส่วน cancel() หยุดการสังเคราะห์ที่กำลังทำงาน

เบนช์มาร์ก Galaxy S23 Ultra

การทดสอบใหม่ของแพ็กเกจสาธารณะ v1.0.0 ใช้ ONNX Runtime 1.27, CPU สองเธรด และ Galaxy S23 Ultra ค่านี้วัดจากเอนจินโดยตรง ไม่รวม UI หรือไปป์ไลน์เสียงทั้งระบบ

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

ความชัดเจนแบบไป-กลับ

การทดสอบบนอุปกรณ์สังเคราะห์คำสั่งและคำตอบ 46 ประโยค ผ่านตัว resample 24→16 kHz สำหรับ production แล้วถอดเสียงด้วย Parakeet-EOU ที่ใช้งานจริง

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

ASR แบบไป-กลับวัดความเข้าใจได้ ไม่ได้วัดความเป็นธรรมชาติหรือความชอบของผู้ฟัง และใช้เสริมการทดสอบฟัง

สถานะการผสานรวม

สิ่งที่ใช้ได้ในขณะนี้

แบ็กเอนด์ ONNX C++17 ถูกรวมใน speech-core และ build สำหรับ Windows, Linux และ Android แล้ว SDK/JNI ของ speech-android ปัจจุบันยังเลือก Kokoro เป็นค่าเริ่มต้น ส่วนการเลือกโมเดลใน Kotlin การดาวน์โหลด และ API ของ SDK เป็นงานถัดไป รุ่นนี้ไม่มีแบ็กเอนด์ Apple/CoreML

ข้อจำกัดและใบอนุญาต

แหล่งข้อมูล