Skip to content

fix: update whisper-rs to 0.15.1 for macOS ARM support#7

Merged
wilcorrea merged 1 commit intomainfrom
chore/update-whisper-deps
Feb 23, 2026
Merged

fix: update whisper-rs to 0.15.1 for macOS ARM support#7
wilcorrea merged 1 commit intomainfrom
chore/update-whisper-deps

Conversation

@wilcorrea
Copy link
Copy Markdown
Contributor

@wilcorrea wilcorrea commented Feb 23, 2026

🐛 Problem

The v0.4.0 release build failed for macOS ARM due to a compilation error in whisper-rs-sys v0.13.1:

error: always_inline function 'vmmlaq_s32' requires target feature 'i8mm'

The GitHub Actions macOS ARM runner doesn't support the required CPU instructions when compiling whisper.cpp with the 0.14 version.

✅ Solution

Update to whisper-rs 0.15.1, which includes:

  • Better ARM64 support and compilation fixes
  • Updated whisper.cpp bindings
  • Simplified API (breaking changes handled)

📝 Changes

Dependencies

  • whisper-rs: 0.14.4 → 0.15.1
  • whisper-rs-sys: 0.13.1 → 0.14.1

API Adaptations

  • full_n_segments() now returns i32 directly (no Result)
  • full_get_segment_text() replaced with get_segment()
  • Use Display trait implementation for text extraction: format!("{}", segment)

🧪 Test Plan

  • cargo check passes locally
  • Build succeeds on macOS ARM (GitHub Actions)
  • Build succeeds on macOS Intel
  • Build succeeds on Linux
  • Build succeeds on Windows
  • Voice-to-text transcription still works correctly
  • No regressions in transcription quality

📎 References

Summary by CodeRabbit

  • Dependencies

    • Updated transcription library to the latest version for improved compatibility.
  • Bug Fixes

    • Improved transcription reliability by refining error handling to better manage edge cases during text extraction.

- Update whisper-rs: 0.14.4 → 0.15.1
- Update whisper-rs-sys: 0.13.1 → 0.14.1
- Adapt to API changes:
  - full_n_segments() now returns i32 directly
  - full_get_segment_text() replaced with get_segment()
  - WhisperSegment implements Display for text extraction

Fixes macOS ARM build failure in v0.4.0 release (i8mm CPU feature issue)

Refs #3
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Feb 23, 2026

No actionable comments were generated in the recent review. 🎉


📝 Walkthrough

Walkthrough

Updated whisper-rs dependency from 0.14 to 0.15 and refactored transcriber error handling to use direct segment counting and fallback-based retrieval instead of Result-based error mapping.

Changes

Cohort / File(s) Summary
Dependency Update
apps/tauri/src-tauri/Cargo.toml
Bumped whisper-rs from 0.14 to 0.15.
Error Handling Refactor
apps/tauri/src-tauri/src/whisper/transcriber.rs
Replaced per-segment error-prone retrieval with direct numeric segment count via state.full_n_segments() and changed text extraction to use fallback iteration with get_segment(i), silencing segment retrieval errors while propagating transcription errors.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A whisper update floats through the air,
Segments counted with simpler care,
Errors hushed in the retrieval flow,
Cleaner transcription steals the show! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title references updating whisper-rs to 0.15.1 for macOS ARM support, which aligns with the main changes in the PR (dependency update and API adaptations).
Linked Issues check ✅ Passed The PR partially addresses issue #3 by updating whisper-rs (0.14 to 0.15.1) and adapting the transcription API, but does not address cpal, rubato, or reqwest updates listed in the medium/low priority objectives.
Out of Scope Changes check ✅ Passed All changes are directly related to the whisper-rs dependency update and necessary API adaptations in transcriber.rs; no unrelated modifications are present.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
  • 📝 Generate docstrings (stacked PR)
  • 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/update-whisper-deps

Comment @coderabbitai help to get the list of available commands and usage tips.

@wilcorrea wilcorrea merged commit 735a986 into main Feb 23, 2026
1 check passed
@wilcorrea wilcorrea deleted the chore/update-whisper-deps branch February 23, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: update voice-to-text dependencies to latest versions

1 participant