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

[![GitHub](https://img.shields.io/badge/GitHub-AutoArk%2Fopen--audio--opd-blue?logo=github)](https://github.com/AutoArk/open-audio-opd)
[![arXiv](https://img.shields.io/badge/arXiv-2605.28139-b31b1b?logo=arxiv)](https://arxiv.org/abs/2605.28139)
[![License](https://img.shields.io/badge/License-CC--BY--NC--4.0-lightgrey)](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).