Set up on iPhone
Prepare on iPhoneVoice first. No transcript on the car display.
Tap the orb to talk or stop. The Swift app uses Apple’s central action button below the orb. Its forest background requires iOS 27; iOS 26.4 keeps the system background. Apple controls the native layout.
Load a model on the phone to start the live demo.
If autoplay is blocked, tap Play response.
Inspect the CarPlay states +
Layout preview only. These buttons do not record audio or run a model.
Text & audio test console +
Outside the simulated car screen. For testing without a microphone, type a question or upload a short recording.
Voice sample: a synthetic 3-second question. Whisper transcribes it live; the answer is generated fresh.
Whisper → llama.cpp → ZONOS3-Mini. Voice runs on HF ZeroGPU; the conversation model runs in your browser. The Swift app runs llama.cpp on iPhone and currently uses Apple’s on-device speech services.
TAKE IT TO THE IPHONE
Build it.
Connect CarPlay.
Download the Swift + llama.cpp project. First compile and test on iPhone, then connect through Apple’s CarPlay voice template.
Download iOS source ↓v0.4.0 · source code · no weights or Apple credentials
Build instructions ↗Build on a Mac
Xcode with the iOS 27.0+ SDK, CMake and XcodeGen. Start with the independent phone target.
Prepare on iPhone
Download a model and enable local speech. Check memory, latency and audio behavior.
Connect CarPlay
Use the CarPlay target with the required Apple entitlement. Test Talk, Stop, interruptions and disconnection.
What matches the native app?
| Space simulation | Swift project | |
|---|---|---|
| Conversation | llama.cpp via wllama · browser CPU | llama.cpp v1.0.0 · iPhone CPU |
| Voice input | Whisper large-v3-turbo · ZeroGPU | Apple Speech · on-device only |
| Voice output | ZONOS3-Mini · keep2_plain · ZeroGPU | AVSpeechSynthesizer · iPhone voice |
| Car interaction | Tap the orb or Talk / Stop. Seven states; spoken answers. | Central action button + Talk / Stop. Same seven states; no transcript. |
| Setup | Choose and load the model before connecting. Model settings lock while connected. | |
| Appearance | Forest cockpit and mint voice orb | Matching artwork; forest background on iOS 27+. Apple controls layout. |
| Validation | See the current web test report | Xcode build and device testing still pending |
Privacy & limitations +
Unlike the earlier browser-only speech demo, Whisper receives your microphone recording and ZONOS3-Mini receives the answer text. These are processed on this Space. Temporary audio is cleaned after about one hour; result URLs can be accessed by anyone holding the link while retained. No voice cloning, analytics or intentional conversation logging is added. Stop silences playback and ignores cancelled results; an in-flight GPU call may finish before its lease is released. ZeroGPU queues and quotas apply. Small conversation models can make basic mistakes. Browser timings and this voice are not measurements or recordings of the iOS app.
Source & test evidence +
This is a personal prototype, not Apple’s CarPlay Simulator. The web layout follows the current Swift delegate and Apple’s voice-control template. Read the validation report ↗. Models: Qwen, OpenAI Whisper and Zyphra ZONOS3-Mini.