Audio-Transcription-iOS
This is an iOS client for WhisperLive, a real-time speech-to-text server based on OpenAI Whisper.
The app streams microphone audio to a WhisperLive server via WebSocket and displays live transcription results in real time.
⚠️ This client is designed to work specifically with the WhisperLive Python WebSocket server.
Make sure the server is running and reachable from your iOS device.
Features
- Real-time microphone capture with AVAudioEngine
- Streaming to WhisperLive backend using WebSocket
- Displays transcription as segments arrive
- Start / Pause / Resume / Stop recording with SwiftUI interface
- Final transcription view on stop
Requirements
- iOS 15.0+
- Swift 5.8+
- AVFoundation (for microphone)
- Working WhisperLive WebSocket server
Getting Started
This directory contains the Swift source files for the iOS client, but it does not include a generated .xcodeproj or .xcodeworkspace. Create a new Xcode project and add these files to it.
-
Clone the repository (your fork):
git clone https://github.com/yourusername/whisperlive.git cd whisperlive/Audio-Transcription-iOS -
In Xcode, choose File ▸ New ▸ Project…, then create an iOS App project with SwiftUI.
-
Add the Swift files from this directory to the new app target:
AudioStream.swiftAudioWebSocket.swiftContentView.swiftRecordingViewModel.swiftWhisperLive_iOS_ClientApp.swift
-
Use
WhisperLive-iOS-Client-Info.plistas a reference for your app'sInfo.plist, or add the microphone usage description manually:<key>NSMicrophoneUsageDescription</key> <string>This app requires microphone access for transcription.</string> -
Run the app on a physical device (recommended)
Running on a Physical Device (with Free Apple ID)
You can run this app on a real iPhone without a paid Apple Developer account. Follow these steps:
1. Register a Free Apple ID in Xcode
- Open Xcode ▸ Settings… (or Preferences) ▸ Accounts
- Click the + button ▸ Select Apple ID
- Sign in with your Apple ID (a free one is fine)
- A "Personal Team" will be created automatically
✅ You can deploy up to 3 apps on a physical device using a free Apple ID with a 7-day provisioning profile.
2. Set Up Signing in Your Project
- In Xcode, select your project in the Project Navigator
- Go to TARGETS ▸ YourAppName ▸ Signing & Capabilities
- Set Team to your Personal Team
- Set a unique Bundle Identifier (e.g.,
com.yourname.whisperlive) - Make sure Automatically manage signing is checked
- If a red warning appears, click "Resolve Issues"
3. Connect and Trust Your iPhone
- Connect your iPhone via USB
- When prompted, tap “Trust This Computer” on your iPhone
- Make sure your iPhone appears in Xcode's device list
4. Enable Developer Mode on iPhone
- Press the Build (▶︎) button in Xcode
- Your iPhone will ask to enable Developer Mode
- On iPhone, go to:
Settings ▸ Privacy & Security ▸ Developer Mode - Enable it and restart the device if required
Now you can run and debug the app on your real device!
Folder Structure
Audio-Transcription-iOS/
├── AudioStream.swift
├── AudioWebSocket.swift
├── ContentView.swift
├── RecordingViewModel.swift
├── WhisperLive-iOS-Client-Info.plist
├── WhisperLive_iOS_ClientApp.swift
├── README.md
License
MIT
This iOS client is provided as an open-source example to complement WhisperLive's real-time transcription ecosystem.