|
Download GETTING_STARTED.md from Edge0/Audio8-ASR-0.1B-iOS-ANE: direct link, hf CLI and curl.
- Browser
- Download file 3.89 kB
-
https://huggingface.co/Edge0/Audio8-ASR-0.1B-iOS-ANE/resolve/main/GETTING_STARTED.md
- Command line
-
hf download hf://Edge0/Audio8-ASR-0.1B-iOS-ANE/GETTING_STARTED.md
-
curl -L -o GETTING_STARTED.md https://huggingface.co/Edge0/Audio8-ASR-0.1B-iOS-ANE/resolve/main/GETTING_STARTED.md
3.89 kB
| # Getting Started | |
| This guide explains how to reproduce the ASR-only iPhone package from a fresh | |
| checkout. | |
| ## 1. Install Xcode and XcodeGen | |
| Install the full Xcode app from the Mac App Store. Command Line Tools alone are | |
| not enough for iPhone signing, Simulator runtimes, or the full Swift test stack. | |
| ```bash | |
| sudo xcode-select -s /Applications/Xcode.app/Contents/Developer | |
| sudo xcodebuild -runFirstLaunch | |
| sudo xcodebuild -license accept | |
| xcodebuild -version | |
| brew install xcodegen | |
| xcodegen --version | |
| ``` | |
| ## 2. Check the Swift Package | |
| ```bash | |
| cd SpeechKit | |
| swift package resolve | |
| swift build | |
| swift run dev-check | |
| swift test | |
| cd .. | |
| ``` | |
| `dev-check` is intentionally lightweight. It validates asset-manifest logic, | |
| mel bucket selection, and audio-token accounting without loading the 400 MB | |
| model bundle. | |
| ## 3. Run File Transcription on macOS | |
| `asrkit-cli --file` uses the same public `ASRTranscriber` API as apps. | |
| ```bash | |
| cd SpeechKit | |
| swift run -c release asrkit-cli .. --file /path/to/audio.wav | |
| swift run -c release asrkit-cli .. --file /path/to/audio.wav --repeat 10 | |
| cd .. | |
| ``` | |
| The model bundle is expected at `dist/ASRModels.bundle`. | |
| ## 4. Generate the iOS Demo | |
| ```bash | |
| cd ASRDemo | |
| xcodegen generate | |
| open ASRDemo.xcodeproj | |
| ``` | |
| `ASRDemo/project.yml` is the source of truth. Regenerate the project after | |
| changing resources, build settings, or dependencies. | |
| ## 5. Configure Signing | |
| In Xcode: | |
| 1. Open the navigator with `Cmd+1`. | |
| 2. Select the top-level blue `ASRDemo` project item. | |
| 3. Select the `ASRDemo` target. | |
| 4. Open `Signing & Capabilities`. | |
| 5. Choose your Apple Developer team. | |
| 6. Change the bundle identifier from `com.example.asrdemo` to a unique value. | |
| The generated Info.plist includes `NSMicrophoneUsageDescription`, so the | |
| microphone permission prompt is available when recording. | |
| ## 6. Test on Simulator | |
| Choose an iOS Simulator destination and press Run. Simulator is useful for: | |
| - Launch and resource packaging checks. | |
| - Basic UI validation. | |
| - Smoke-testing model loading and transcription. | |
| - Watching memory trends during repeated runs. | |
| Simulator memory footprint is not equivalent to a real iPhone. The Simulator is | |
| a macOS process and does not follow iOS memory pressure and Jetsam rules. Use a | |
| physical iPhone for final footprint, thermal, and power validation. | |
| ## 7. Test on iPhone | |
| 1. Connect the iPhone with USB. | |
| 2. Trust the Mac on the iPhone. | |
| 3. Enable Developer Mode if iOS asks for it. | |
| 4. In Xcode, open `Window` -> `Devices and Simulators` and confirm the phone is paired. | |
| 5. Select the physical iPhone as the run destination. | |
| 6. Run the `ASRDemo` scheme. | |
| First launch can be slow because Core ML loads and compiles ANE programs. Later | |
| launches usually reuse the system cache. | |
| ## 8. Use the Demo | |
| The public demo is ASR-only: | |
| - `Record`: captures microphone audio, then transcribes once after stop. | |
| - `Repeat Last 10x`: re-runs the last recording ten times for quick stability | |
| checks on a physical iPhone. | |
| The public package does not include sample media; use `asrkit-cli --file` for | |
| file tests without modifying the app target. | |
| The demo also shows: | |
| - Stage timings for mel extraction, audio tower, decoder, and total latency. | |
| - Token diagnostics for short-output debugging. | |
| - Process memory footprint, peak footprint, CPU, thermal state, battery state, | |
| and a rough whole-device power estimate. | |
| Streaming and VAD are not included in this ASR-only build. | |
| ## 9. Run the ANE Benchmark | |
| ```bash | |
| cd ANEBench | |
| xcodegen generate | |
| open ANEBench.xcodeproj | |
| ``` | |
| Sign the `ANEBench` target the same way as `ASRDemo`, then run it on a physical | |
| iPhone. The benchmark loads `dist/ASRModels.bundle/tower.mlmodelc` and measures | |
| the `tower_5s`, `tower_10s`, and `tower_30s` Core ML functions with | |
| `.cpuAndNeuralEngine`. | |
| The sustained-load button is intended for Instruments Energy / Power profiling. | |
| It is not representative of normal one-shot ASR duty cycle. | |