Projektkontext und Veröffentlichungsgrenze
Das Projekt behandelte Offline-Text-to-Speech auf einem RK3588-S-Endgerät. Unter Android 12, arm64-v8a und normalen App-Berechtigungen wurden Modellpaket, Streaming-Callbacks, Wiedergabesteuerung, Männer- und Frauenstimmen, AAR und Demo-APK umgesetzt. WAV-Dateien und Messwerte stammen vom realen Gerät. Kunden- und Anlagenkennungen wurden entfernt; veröffentlicht werden nur durch Code, Builds, Logs und Audio prüfbare Fakten.
Entwicklungsziele
- Sprache ohne Netzwerk lokal erzeugen.
- Asynchrones PCM-Streaming über ein Android-AAR anbieten.
- Eine chinesische Männerstimme und mehrere Frauenstimmen auswählbar machen.
- Demo, Integrationsanleitung, Lizenzen, WAV-Dateien und Prüfprotokolle liefern.
Lokaler Verarbeitungspfad
Neue Texte können aktive oder wartende ältere Aufträge stoppen. Das nicht quantisierte Kokoro-Modell wird beim Erstellen des SDK geladen und läuft auf der RK3588-S-CPU. Ausgegeben werden Blöcke mit 24 kHz, Mono und PCM16 little-endian. Der Synthesepfad verwendet keinen Cloud-TTS-Dienst.
- Sprache ohne Netzwerk lokal erzeugen.
- Asynchrones PCM-Streaming über ein Android-AAR anbieten.
- Eine chinesische Männerstimme und mehrere Frauenstimmen auswählbar machen.
- Demo, Integrationsanleitung, Lizenzen, WAV-Dateien und Prüfprotokolle liefern.
Android-SDK-Lieferung
Das AAR bietet EyeTtsSdk, TtsOptions, TtsStreamCallback und TtsAudioData. replaceTextStreamAsync() stoppt älteren Text und erzeugt den neuesten; stopTts() stoppt und leert die Warteschlange. Ausgegeben wird rohes PCM, keine WAV-Datei.
TtsOptions options = new TtsOptions("zm_009", 1.0f, 1.0f);
tts.replaceTextStreamAsync(text, options, callback);
// callback.onAudioChunk(... TtsAudioData audio)
Männerstimme und Gerätetest
Die Männerstimme wurde auf dem Gerät geprüft. Veröffentlicht ist zm_009, Speaker-ID 58, mit demselben Satz bei 0,8x, 1,0x und 1,4x. Die Dauern betragen 5,549, 4,363 und 3,086 Sekunden; alle WAV-Dateien sind 24 kHz Mono PCM16 ohne Clipping. Messwerte ersetzen keine Hörbewertung.
Male zm_009 / 0.8x
Male zm_009 / 1.0x
Male zm_009 / 1.4x
Mehrere Frauenstimmen
SDK 0.5.1 ordnet 55 offizielle chinesische Frauenstimmen zu; zwölf Kandidaten wurden im Demo auf RK3588-S erzeugt. zf_001 dient als Referenz. Unterschiedliche Dauer, Spitzenwerte und Hashes schließen doppelte Exporte aus, belegen aber weder Natürlichkeit noch Eignung.
Female zf_001 / 1.0x
Hard- und Softwareumgebung
| Element | Messwert |
|---|---|
| SoC | RK3588-S |
| OS | Android 12 |
| ABI | arm64-v8a |
| Model | Kokoro multi-lang v1.1, non-quantized |
| Runtime | sherpa-onnx 1.13.4, CPU, 4 threads |
| Output | 24000 Hz, mono, PCM16 little-endian |
Messwerte auf RK3588-S
| Stimme / Rate | Erstes PCM | Gesamt | Audio | RTF | Clipping |
|---|---|---|---|---|---|
| Female zf_001 / 1.0x | 1572 ms | 4387 ms | 4.241 s | 1.034 | 0 |
| Male zm_009 / 0.8x | 1923 ms | 5534 ms | 5.549 s | 0.997 | 0 |
| Male zm_009 / 1.0x | 1545 ms | 4396 ms | 4.363 s | 1.008 | 0 |
| Male zm_009 / 1.4x | 1133 ms | 3201 ms | 3.086 s | 1.038 | 0 |
Gemessen wurde derselbe kurze chinesische Satz mit vier CPU-Threads und SDK-Lautstärkeparameter 1,0. First Chunk ist die Zeit bis zum ersten PCM; RTF ist Erzeugungszeit geteilt durch Audiolänge. Quelle: Winge-RK3588-S-Prüfprotokoll vom 05.08.2026. Die kleine Stichprobe ist keine Garantie.
Tests und Lieferumfang
- EyeAlgo-TTS-Android-AAR und passendes Core-AAR.
- Demo-APK für Stimme, Rate, Lautstärke, Wiedergabe, Stopp und WAV-Export.
- Kokoro-Inventar und SHA-256, WAVs, Gerätelogs, Integrationsunterlagen und Lizenzen.
38 test suites / 185 test cases / 0 failures / 0 errors / 0 skipped. AAR and APK builds passed.
Einsatzbereiche
Geeignet zur Bewertung für Smart-Glasses-Hinweise, Offline-OCR-Vorlesen, Industrie-Handgeräte, Anlagenalarme, Ausstellungen und isolierte Android-Netze. Dialog, Langtext und Serienfirmware benötigen eigene Prüfungen zu Größe, Speicher, Latenz, Audiokette, Textnormalisierung und Stabilität.
Integrationsbedingungen
- Getestet wurden Android 12 und arm64-v8a; andere Ziele brauchen Kompatibilitätsprüfung.
- Das nicht quantisierte AAR ist etwa 354 MiB, die Demo-APK etwa 360 MiB groß.
- Konfliktende Laufzeiten entfernen und AudioTrack auf 24000 Hz, Mono, PCM16 little-endian setzen.
Grenzen und Abnahme
- Status: CUSTOMER_TEST / NOT PRODUCTION.
- Langtext, Acht-Stunden-Stabilität, Hörvergleich aller Stimmen, INT8 und Produktionssignatur sind offen.
- First-Chunk-P95 und RTF erfüllen das ursprüngliche Ziel nicht.
Öffentliche technische Quellen
Stimmen-IDs, Android-Konfiguration und Abtastrate folgen der sherpa-onnx-Kokoro-Dokumentation. Herkunft und Lizenz folgen Kokoro-82M-v1.1-zh. Upstream-Unterlagen identifizieren die Komponente, sind aber kein Abnahmenachweis.
Häufige Fragen
Arbeitet das SDK vollständig offline?
Die Synthese läuft lokal ohne Cloud-TTS. Ob Erstverteilung oder Datensynchronisierung ein Netz benötigt, hängt vom Rollout ab.
Wurde die Männerstimme auf RK3588-S getestet?
Ja. zm_009 wurde mit drei Geschwindigkeiten erzeugt; Latenz, Zeit, RTF und Clipping wurden protokolliert. Langtext und acht Stunden stehen aus.
Wie viele chinesische Frauenstimmen gibt es?
55 Namen sind zugeordnet und zwölf Kandidaten im Demo auf dem Gerät erzeugt. Dies ist keine subjektive Abnahme aller Stimmen.
Liefert der Callback WAV?
Nein. Er liefert rohe 24-kHz-Mono-PCM16-Daten. Zum Speichern wird ein WAV-Header ergänzt.
Warum nicht produktionsbereit?
Langtext, alle Stimmen, Acht-Stunden-Stabilität, Produktionssignatur und Kundenaudiokette sind noch nicht abgenommen.

Online
Phone
WeChat
Top