-
-
Notifications
You must be signed in to change notification settings - Fork 52.7k
Closed as not planned
Closed as not planned
Copy link
Labels
bugSomething isn't workingSomething isn't workingstaleMarked as stale due to inactivityMarked as stale due to inactivity
Description
Summary
The macOS app crashes immediately when clicking the Voice tab in settings. The crash occurs in MicLevelMonitor.start() when trying to install an audio tap on the input node.
Crash Details
AVAudioIONodeImpl::SetOutputFormat(unsigned long, AVAudioFormat*)
AUGraphNodeBaseV3::CreateRecordingTap(...)
AVAudioEngineImpl::InstallTapOnNode(...)
-[AVAudioNode installTapOnBus:bufferSize:format:block:]
MicLevelMonitor.start(onLevel:)
VoiceWakeSettings.restartMeter()
Environment
- macOS 15.3
- OpenClaw 2026.1.29 (8345)
- Mac Studio (Mac15,14)
- Audio setup: Multiple USB audio interfaces, Aggregate Device as default input
Root Cause
The app appears to request a specific audio format for the tap that doesn't match the system's input format. With complex audio setups (aggregate devices, high sample rates like 768kHz from BlackHole), this causes SetOutputFormat to throw.
Suggested Fix
Instead of specifying a format when calling installTapOnBus, query the input node's native format:
let format = inputNode.outputFormat(forBus: 0)
inputNode.installTap(onBus: 0, bufferSize: 1024, format: format) { ... }Or handle the exception gracefully and disable the mic level meter if it fails, rather than crashing the entire app.
Workaround Attempted
- Changed default input to Blue Yeti (48kHz) - still crashes
- Granted Microphone/Speech Recognition permissions manually - still crashes
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingstaleMarked as stale due to inactivityMarked as stale due to inactivity