Repository navigation
v0.4.1 — Skip MPS in audio auto-detect (openai-whisper crashes on Apple Silicon GPU)
Closes bug 2 from the 2026-05-09 bug report.
openai-whisper × torch >= 2.x crashes on Apple Silicon GPU for the entire large-v3 model family — and all four of Spectator's quality presets (studio / meeting / phone / extreme) use large-v3 or large-v3-turbo. So a fresh Apple Silicon Mac with spectator audio transcribe meeting.mp3 (auto-detect → MPS) crashes with:
TypeError: Cannot convert a MPS Tensor to float64 dtype as the MPS framework
doesn't support float64. Please use float32 instead.
Tracked upstream at openai/whisper#2151.
v0.4.1 mitigation
_detect_device now downgrades probe-detected mps → cpu by default, with a one-line console warning explaining the override. Two ways to bypass:
- Per-call:
--device mps(always honored — the user is asking explicitly). - Globally:
SPECTATOR_ALLOW_MPS_AUTO=1in your shell. Useful if you've patched whisper locally or upstream has shipped a fix.
audio install's verify step now prints the same heads-up on Apple Silicon so the operator sees the situation at install time too.
Real-world impact for Apple Silicon users
| Mode | RT factor on M-series for meeting preset |
|---|---|
| Default (CPU after MPS auto-skip) | real-time to 2× slower |
--device mps (explicit, may crash on large-v3) |
2-4× faster when working |
--target <cuda-host> over SSH |
10-30× faster |
Still tractable for occasional use on Apple Silicon CPU; heavy jobs should still go to a CUDA target.
Tests
55/55 (was 53, +2): test_detect_device_skips_mps_by_default confirms probe-mps + no env var → cpu + warning containing the issue link, test_detect_device_respects_mps_opt_in_env_var confirms SPECTATOR_ALLOW_MPS_AUTO=1 re-enables MPS and silences the warning.
Bug 1 from the same report
Already fixed in v0.3.6 (literal $HOME directory created under cwd when --workdir ~/...). v0.4.1 closes only bug 2.