File size: 5,659 Bytes
848b856 64f7370 dbf8663 7126bd9 dbf8663 7126bd9 dbf8663 64f7370 1b26b5d 64f7370 848b856 64f7370 1b26b5d 64f7370 dbf8663 7126bd9 dbf8663 64f7370 b736f8d a265e25 64f7370 1b26b5d 64f7370 b736f8d 64f7370 a265e25 64f7370 1b26b5d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | ---
tags:
- automatic-speech-recognition
- ios
- swift
- coreml
- onnxruntime
- apple-neural-engine
- on-device
language:
- en
- zh
- fr
- de
- ja
- ko
- yue
library_name: coreml
license: cc-by-nc-4.0
repository: https://github.com/AutoArk/open-audio-opd
---
<div align="center">
# Audio8-ASR-0.1B-iOS-ANE
[](https://github.com/AutoArk/open-audio-opd)
[](https://arxiv.org/abs/2605.28139)
[](https://creativecommons.org/licenses/by-nc/4.0/)
</div>
This repository packages an iPhone-ready, ASR-only build of
`Audio8-ASR-0.1B`. It includes a Swift SDK, a minimal iOS demo app, an optional
ANE benchmark app, and a prebuilt model asset bundle.
The ASR model is multilingual, with support for languages including English,
Chinese, Cantonese, French, German, Japanese, and Korean.
The on-device pipeline uses Core ML on Apple Neural Engine for the audio tower
and ONNX Runtime for the int4 language-model decoder. Audio is transcribed
locally; no network request is required by the SDK or demo app.
## Contents
| Path | Description |
| --- | --- |
| `SpeechKit/` | Swift Package exposing `SpeechKit`, `ASRKit`, and `SpeechCore` |
| `dist/ASRModels.bundle` | Prebuilt model assets: Core ML audio tower, ONNX decoder, tokenizer tables, and integrity manifest |
| `ASRDemo/` | Minimal iOS app for microphone recording and one-shot transcription |
| `ANEBench/` | Optional iOS app for Core ML / ANE latency and sustained-load checks |
| `assets/` | Screenshots and model-card media |
| `config.json` | Machine-readable package metadata and Hugging Face download-stat query file |
| `GETTING_STARTED.md` | Reproducible setup, build, signing, and device-testing guide |
| `LICENSE` | Creative Commons Attribution-NonCommercial 4.0 International |
## Related Repositories
- [Audio8-ASR-0.1B](https://huggingface.co/AutoArk-AI/Audio8-ASR-0.1B): base model checkpoint.
- [Audio8-ASR-0.1B-onnx-runtime](https://huggingface.co/AutoArk-AI/Audio8-ASR-0.1B-onnx-runtime): ONNX Runtime package.
## Packaged Model Variant and Footprint
This release packages the iPhone ANE-oriented variant of `Audio8-ASR-0.1B`:
- Audio tower/head: compiled Core ML `mlmodelc` with mixed Float16/Int8
storage, Float16 compute/output tensors, and ANE execution.
- Decoder: ONNX Runtime CPU decoder with int4 shared language-model weights
(`lm_shared_int4.data`) and int4 prefill/decode ONNX graphs.
- Token embedding table: Float16 (`token_embedding_fp16.bin`).
On a physical iPhone with the Core ML audio tower running on ANE, the demo is
designed to keep runtime memory footprint around 200 MB. The example below
shows a 183 MB app footprint during a microphone transcription run, with sampled
peak footprint varying by device, iOS version, cold/warm start state, and
measurement window. We position this package as one of the smallest usable ASR
model stacks for on-device iPhone transcription.
<p align="center">
<img src="assets/iphone-asr-demo-footprint.png" alt="Audio8 ASR iPhone demo memory footprint" width="360">
</p>
## Quick Start
```bash
brew install xcodegen
cd SpeechKit
swift package resolve
swift build
swift run dev-check
cd ..
cd ASRDemo
xcodegen generate
open ASRDemo.xcodeproj
```
In Xcode, select the `ASRDemo` target, choose your signing team, change the
bundle identifier to a unique value, then run on an iPhone or iOS Simulator.
The demo uses microphone input. If you want to test a local file without
changing the app, use `asrkit-cli --file /path/to/audio.wav`.
## What Runs on ANE
The key acceleration path is the audio tower:
```text
audio -> log-mel -> Core ML audio tower on ANE -> projected audio embeddings
-> ONNX Runtime int4 decoder on CPU -> transcript
```
The decoder intentionally stays on CPU. Its per-token workload is small enough
that ANE dispatch overhead is not beneficial for this build.
## Requirements
- macOS on Apple Silicon is recommended.
- Full Xcode, not only Command Line Tools.
- iOS 18+ / macOS 15+ for the Swift package.
- XcodeGen for regenerating the demo projects.
- An Apple Developer account for physical-device signing. A free Personal Team
is enough for local device testing.
## Validation
```bash
cd SpeechKit
swift run dev-check
swift test
# Transcribe a local file with the bundled model assets:
swift run -c release asrkit-cli .. --file /path/to/audio.wav
# Repeat one local file to watch stability and footprint:
swift run -c release asrkit-cli .. --file /path/to/audio.wav --repeat 10
```
`dev-check` is the fastest smoke test and does not require model inference.
`asrkit-cli --file` loads `dist/ASRModels.bundle` and runs end-to-end
transcription on macOS.
Hugging Face counts model downloads through query files such as `config.json`.
If you automate downloads with `snapshot_download` or `hf_hub_download`, include
the root `config.json` in the request path so repository downloads are counted.
For memory footprint and thermal checks, run `ASRDemo` on a physical iPhone,
record one utterance, then tap `Repeat Last 10x` while watching the in-app
`System` panel. Simulator memory is useful for trends only; it is not
equivalent to iPhone memory pressure or Jetsam behavior.
## Repository Status
This staging copy is intended for review before publishing to
`https://huggingface.co/AutoArk-AI/Audio8-ASR-0.1B-iOS-ANE`.
The repository is distributed under Creative Commons
Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).
|