Offline dialect speech translation on the device: recognize, translate, speak in a cloned voice.
Developer Preview · v0.1.0-preview.1 · 中文
Auralis is a native Android and iOS app that runs ASR → MT → TTS entirely on-device. It does not send audio or text to a network service. Voice cloning uses a local reference recording you provide.
Download signed Android preview · Release files and checksums
Developer Preview: native clients, source builds, and host/emulator checks. Provision weights separately. Model packages remain draft, keeping the app readiness gate closed until qualification finishes.
- Shared contracts for dialects and model packages (
shared/), consumed by Python, Kotlin, and Swift. - Native Android (Kotlin/Compose) and iOS (SwiftUI) clients.
- Offline pipeline: Qwen3-ASR family → AngelSlim Hy-MT → Qwen3-TTS family.
- Voice reference storage and cloning paths. Missing or empty reference text stays speaker-embedding-only; the app does not invent a transcript.
- One official ONNX Runtime 1.24.2 on each mobile client for ASR and TTS.
- Host and Android emulator runs of real graphs. See engineering reports.
| Item | Status |
|---|---|
| Shared ASR/MT/TTS manifests | Still draft. Draft packages never count as app-ready. |
| Physical phones | Not in this release. Host/emulator numbers are engineering checks only. |
| CI | Android / iOS source builds and tests passed; see release verification. |
| Quality, energy, thermal, p95 | Open. |
| TTS integer quantization / CP-only BF16 | Failed the declared voice-quality gates; FP32 remains the default. |
| Tested CoreML code-predictor configuration | Slower than CPU, with numerical differences; excluded from defaults. |
| TTS API2 (unified talker, ICL encoder, streaming vocoder) | Default draft manifest; host and emulator engineering checks. API1 remains supported. |
| GPU / Hy-MT2 roadmap | Pending. See the earlier roadmap; this preview does not complete those phase-one targets. |
Model weights are provisioned separately through the pinned manifests. TTS API2 is built from the official checkpoint, then imported with fetch_model.py --package tts --dest DEST --local-source LOCAL_SOURCE; it is not a download at a fictional upstream ONNX path.
A package is usable only after:
- Manifest
statusisverified(currently all three aredraft). - Every listed file exists with matching
sizeBytesandsha256. - Runtime roles resolve to those files.
- A real smoke/task check has run.
Missing files show remaining install size.
scripts/doctor # environment; missing Xcode/models are blocked
scripts/verify --mode fast # contracts, Python, Swift core — no model downloadExit codes: 0 pass, 1 test/code failure, 2 missing environment/artifacts (blocked), 3 invalid contract, 4 bad arguments.
With models on disk:
export AURALIS_CACHE="${AURALIS_CACHE:-$HOME/Library/Caches/Auralis}" # macOS default
# Linux/Android hosts typically use $HOME/.cache/Auralis
python3 convert/manifest_contract.py check
# --dest is required to use $AURALIS_CACHE; the default is <repo>/models
python3 convert/fetch_model.py --package asr --dest "$AURALIS_CACHE/models"
python3 convert/validate_models.py --models-dir "$AURALIS_CACHE/models" --suite SUITE.json
scripts/verify --scope models --models-dir "$AURALIS_CACHE/models" --suite SUITE.jsonvalidate_models.py exits non-zero on a draft manifest or empty directory. --suite is optional; --scope models requires --models-dir.
Official ASR test WAVs, voice-reference recordings, and captured tensors are not in git. After you have them locally:
python3 scripts/prepare_android_test_assets --samples-dir /path/to/samplesOptional captured code-predictor tensors:
python3 scripts/prepare_android_test_assets --samples-dir /path/to/samples --cp-inputs-dir /path/to/bf16_cp_inputsReports may cite $AURALIS_CACHE/... as local evidence; those trees are unpublished.
Android — NDK 27.3.13750724, JDK 17, SDK 35. Native libraries first, then Gradle. The native script does not download weights.
python3 scripts/build_android_native --ndk "$ANDROID_NDK_HOME"
( cd android && ./gradlew :app:testDebugUnitTest :app:assembleDebug :app:lintDebug )iOS — full Xcode, iPhoneOS and iPhoneSimulator SDKs. Host/Catalyst typecheck is not an iOS link. See iOS native build.
python3 scripts/build_ios_native
python3 scripts/verify --scope iosNative checkouts and artifacts live under $AURALIS_CACHE.
A rebuildable FP32 package (unified talker, reference encoder, streaming vocoder) is documented in:
Shared tts.json selects API contract 2 and remains draft. The former API1 manifest is retained under shared/legacy-model-manifests/ for compatibility checks.
shared/ dialect catalog + v2 manifests (Python, Kotlin, Swift)
convert/ manifest check, pinned fetch, model validation
scripts/ doctor, verify, native builds
android/ Kotlin client
ios/ Swift client
docs/ build notes, specs, reports
Application code: Apache-2.0. Models: their upstream licenses. Third-party notices: THIRD_PARTY_NOTICES.md.
Repository: ArietidsZ/auralis. Planned tag page: v0.1.0-preview.1. Notes: docs/releases/v0.1.0-preview.1.md.