Contesto del progetto e limite di pubblicazione
Il progetto riguardava la sintesi vocale offline su un dispositivo RK3588-S. Sotto Android 12 sono stati implementati arm64-v8a e i normali permessi delle app, pacchetto modello, richiamate in streaming, controlli di riproduzione, voci maschili e femminili, AAR e APK demo. I file WAV e le misurazioni provengono dal dispositivo reale. Gli identificatori di clienti e risorse sono stati rimossi; Vengono pubblicati solo i fatti verificabili tramite codice, build, log e audio.
Obiettivi di sviluppo
- Genera la lingua localmente senza una rete.
- Offri streaming PCM asincrono su un AAR di Android.
- Rendi selezionabili una voce maschile cinese e diverse voci femminili.
- Fornisci demo, guida all'integrazione, licenze, file WAV e audit trail.
Percorso di elaborazione locale
I nuovi testi possono interrompere gli ordini più vecchi attivi o in attesa. Il modello Kokoro non quantizzato viene caricato quando viene creato SDK e viene eseguito sulla CPU RK3588-S. Vengono emessi blocchi con 24 kHz, mono e little-endian PCM16. Il percorso di sintesi non utilizza un servizio TTS cloud.
- Genera la lingua localmente senza una rete.
- Offri streaming PCM asincrono su un AAR di Android.
- Rendi selezionabili una voce maschile cinese e diverse voci femminili.
- Fornisci demo, guida all'integrazione, licenze, file WAV e audit trail.
Consegna Android-SDK
L'AAR offre EyeTtsSdk, TtsOptions, TtsStreamCallback e TtsAudioData. replaceTextStreamAsync() interrompe il testo più vecchio e crea quello più recente; stopTts() interrompe e svuota la coda. L'output è PCM grezzo, non un file WAV.
TtsOptions options = new TtsOptions("zm_009", 1.0f, 1.0f);
tts.replaceTextStreamAsync(text, options, callback);
// callback.onAudioChunk(... TtsAudioData audio)
Test della voce e del dispositivo maschile
Sul dispositivo è stata controllata la voce maschile. Il rilascio è zm_009, ID altoparlante 58, con la stessa velocità a 0,8x, 1,0x e 1,4x. Le durate sono 5.549, 4.363 e 3.086 secondi; tutti i file WAV sono PCM16 mono a 24 kHz senza clip. Le misurazioni non sostituiscono le valutazioni dell’udito.
Maschio zm_009/0,8x
Maschio zm_009 / 1.0x
Maschio zm_009/1,4x
Diverse voci femminili
SDK 0.5.1 assegna 55 voci femminili cinesi ufficiali; Nella demo su RK3588-S sono stati generati dodici candidati. zf_001 serve come riferimento. Durate diverse, valori di picco e hash escludono doppie esportazioni, ma non dimostrano la naturalezza o l'idoneità.
Femmina zf_001/1.0x
Ambiente hardware e software
| Elemento | Valore misurato |
|---|---|
| SoC | RK3588-S |
| O.S | Android 12 |
| ABI | arm64-v8a |
| Modello | Kokoro multi-lang v1.1, non quantizzato |
| Durata | sherpa-onnx 1.13.4, CPU, 4 thread |
| Uscita | 24000 Hz, mono, little endian PCM16 |
Valori misurati a RK3588-S
| Voce/Tasso | Primo PCM | Totale | Audio | RTF | Ritaglio |
|---|---|---|---|---|---|
| Femmina zf_001/1.0x | 1572 ms | 4387 ms | 4.241 | 1.034 | 0 |
| Maschio zm_009/0,8x | 1923 ms | 5534 ms | 5.549 | 0.997 | 0 |
| Maschio zm_009 / 1.0x | 1545 ms | 4396 ms | 4.363 | 1.008 | 0 |
| Maschio zm_009/1,4x | 1133 ms | 3201 ms | 3.086 | 1.038 | 0 |
La stessa breve frase cinese è stata misurata con quattro thread della CPU e parametro di volume SDK 1.0. First Chunk è il momento del primo PCM; RTF è il tempo di generazione diviso per la lunghezza dell'audio. Fonte: rapporto di prova Winge-RK3588-S del 5 agosto 2026. Il piccolo campione non è una garanzia.
Test e volume di fornitura
- EyeAlgo-TTS-Android-AAR e Core-AAR corrispondente.
- APK demo per voce, velocità, volume, riproduzione, arresto ed esportazione WAV.
- Inventario Kokoro e SHA-256, WAV, registri dei dispositivi, documenti di integrazione e licenze.
38 suite di test / 185 casi di test / 0 fallimenti / 0 errori / 0 saltati. Build AAR e APK superate.
Aree di applicazione
Adatto per la valutazione di avvisi su occhiali intelligenti, lettura OCR offline, dispositivi portatili industriali, allarmi di impianti, mostre e reti isolate Android. I firmware per dialoghi, testi lunghi e serie richiedono controlli propri per dimensioni, memoria, latenza, catena audio, normalizzazione del testo e stabilità.
Condizioni di integrazione
- Sono stati testati Android 12 e arm64-v8a; altri target richiedono il controllo di compatibilità.
- L'AAR non quantizzato è di circa 354 MiB, l'APK demo è di circa 360 MiB.
- Rimuovi i runtime in conflitto e imposta AudioTrack su 24000 Hz, mono, PCM16 little-endian.
Limiti e diminuzione
- Stato: CUSTOMER_TEST / NON PRODUZIONE.
- Testo lungo, stabilità di otto ore, confronto di ascolto di tutte le voci, INT8 e firma di produzione sono aperti.
- Il primo blocco P95 e RTF non soddisfano l'obiettivo originale.
Fonti tecniche pubbliche
Gli ID vocali, la configurazione Android e la frequenza di campionamento seguono la documentazione di sherpa-onnx-Kokoro. Origine e licenza seguono Kokoro-82M-v1.1-zh. I documenti a monte identificano il componente ma non costituiscono prova di accettazione.
Domande frequenti
SDK funziona completamente offline?
La sintesi viene eseguita localmente senza cloud TTS. Se la distribuzione iniziale o la sincronizzazione dei dati richieda una rete dipende dall'implementazione.
La voce maschile è stata testata per RK3588-S?
Sì. zm_009 è stato generato a tre velocità; Sono stati registrati latenza, tempo, RTF e ritaglio. Sono in sospeso un testo lungo e otto ore.
Quante voci femminili cinesi esistono?
Vengono assegnati 55 nomi e vengono generati dodici candidati nella demo sul dispositivo. Non si tratta di una diminuzione soggettiva di tutti i voti.
La richiamata fornisce WAV?
No. Fornisce dati PCM16 mono grezzi a 24kHz. Viene aggiunta un'intestazione WAV per l'archiviazione.
Perché non pronto per la produzione?
Il testo lungo, tutte le voci, la stabilità di otto ore, la firma della produzione e la catena audio del cliente non sono ancora stati approvati.

In linea
Telefono
WeChat
tornare all'inizio