Skip to content

v0.4.1 — Skip MPS in audio auto-detect (openai-whisper crashes on Apple Silicon GPU)

Choose a tag to compare

@myurasov myurasov released this 10 May 02:43
· 16 commits to main since this release

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=1 in 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.