Skip to content

Run Qwen3-ASR natively in Swift - #82

Merged
IchenDEV merged 1 commit into
mainfrom
codex/native-qwen-asr
Aug 24, 2026
Merged

Run Qwen3-ASR natively in Swift#82
IchenDEV merged 1 commit into
mainfrom
codex/native-qwen-asr

Conversation

@IchenDEV

Copy link
Copy Markdown
Owner

Summary

  • Replace the Qwen3-ASR Python virtual environment and subprocess runner with in-process Swift/MLX inference through mlx-audio-swift 0.1.3.
  • Reuse the existing mlx-community/Qwen3-ASR-1.7B-bf16 model location and keep model downloads under the existing model catalog.
  • Remove the bundled Python runner and app-managed Python runtime code.
  • Keep MiMo unavailable in the released UI and migrate legacy MiMo selections to Apple Speech.
  • Leave the existing GitHub Release, self-signing, DMG, Info.plist, and entitlements flows unchanged.

Verification

  • bash scripts/ci-basic-checks.sh
  • DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer swift test
    • 557 XCTest cases passed, 8 environment-gated tests skipped
    • 1 Swift Testing case passed
  • Offline existing-model integration with HF_HUB_OFFLINE=1
    • English: 2.034 s, expected design-doc transcript
    • Chinese: 0.439 s, expected 周五 transcript
    • model weight size, modification time, and SafeTensors set unchanged
  • scripts/build-app.sh --app-only --sign=-
    • generated an arm64 ad-hoc signed app
    • codesign --verify --deep --strict passed
    • bundled default.metallib
    • no Python files, Python runner, pip package marker, or runtime-loaded .so

Boundaries

  • The native ASR validation currently covers short English and Chinese repository samples; long audio, repeated stress runs, and mid-generation cancellation still need broader product validation.
  • MiMo remains intentionally disabled.
  • This change does not modify or trigger the tag-based GitHub Release workflow.

@IchenDEV
IchenDEV marked this pull request as ready for review August 24, 2026 07:08
@IchenDEV
IchenDEV merged commit 48731c1 into main Aug 24, 2026
2 checks passed
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.

1 participant