No description
- Swift 97.4%
- Shell 1.3%
- Python 1.3%
AVAssetReaderAudioMixOutput and AVAssetReaderTrackOutput with explicit PCM settings both trigger paramErr (-50) inside AVFoundation in signed binaries. Root cause: combined reader+writer setup causes internal audio converter conflict. Fix: read via AVAssetReaderAudioMixOutput(nil) which returns native decoded PCM, then write WAV header + Int16 data manually — no AVAssetWriter involved. Includes linear-interpolation resampler for files not at 16kHz. |
||
|---|---|---|
| dist | ||
| Docs | ||
| output/imagegen | ||
| Packaging | ||
| Scripts | ||
| Sources/LocalWhisper | ||
| Tests/LocalWhisperTests | ||
| Vendors | ||
| .gitignore | ||
| CLAUDE.md | ||
| Package.swift | ||
| README.md | ||
LocalWhisper
Local-first macOS transcription app built with SwiftUI and whisper.cpp.
Current Status
- Native macOS SwiftUI shell.
- Local file transcription through
ffmpegandwhisper-cli. - Metal-enabled
whisper.cppbackend. - Meeting detection banner with developer bypass mode.
- Permission state dashboard.
- Model manager shell.
- Queue, history and transcript detail views.
- Swift Testing coverage for parser, diarization mapping and bypass detector.
Build
cd /Users/ai_leed/Documents/Projects/LocalWhisper
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift build
Test
cd /Users/ai_leed/Documents/Projects/LocalWhisper
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift test
Run With Developer Permission Bypass
cd /Users/ai_leed/Documents/Projects/LocalWhisper
LOCALWHISPER_BYPASS_PERMISSIONS=1 DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift run LocalWhisper
Bypass mode only bypasses LocalWhisper's internal workflow gates. It does not grant macOS Microphone, Screen Recording, Accessibility or Calendar permissions.
Build App Bundle
cd /Users/ai_leed/Documents/Projects/LocalWhisper
./Scripts/build_app.sh
The app bundle is created at:
/Users/ai_leed/Documents/Projects/LocalWhisper/dist/LocalWhisper.app
Smoke-run the built app with developer bypass:
cd /Users/ai_leed/Documents/Projects/LocalWhisper
LOCALWHISPER_BYPASS_PERMISSIONS=1 dist/LocalWhisper.app/Contents/MacOS/LocalWhisper
Local Whisper Backend
Expected files:
Vendors/whisper.cpp/build/bin/whisper-cliVendors/whisper.cpp/models/ggml-base.bin/opt/homebrew/bin/ffmpeg
Rebuild backend:
cd /Users/ai_leed/Documents/Projects/LocalWhisper/Vendors/whisper.cpp
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_METAL=ON
cmake --build build --config Release -j
./models/download-ggml-model.sh base