Title: [Feature Request] Add offline file transcription support for Qwen3-ASR-1.7B and MOSS-Transcribe-Diarize
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 108
- PR merge metrics
- No merged PRs in 30d
Description
Is your feature request related to a problem? Please describe.
Memo currently does not provide an integrated local file-transcription workflow for either:
- Qwen3-ASR-1.7B, including an Apple Silicon-optimized MLX version; or
- MOSS-Transcribe-Diarize, which jointly produces transcription, timestamps, and speaker labels.
Memo v1.8.3 includes the experimental Qwen3-ASR-0.6B-Int8 model under Sherpa ONNX, but Sherpa ONNX is still unavailable in the normal local file-transcription engine selector, as described in #422.
Even if #422 is fixed, Qwen3-ASR-0.6B Sherpa ONNX is a different model and runtime from Qwen3-ASR-1.7B MLX. Users who want the larger model currently cannot select it for normal audio or video file transcription.
For multi-speaker recordings, Memo also lacks a single-pass local backend that directly returns timestamped speaker-attributed transcription. MOSS-Transcribe-Diarize is particularly suitable for meetings, interviews, podcasts, lectures, and other long-form recordings.
Describe the solution you'd like
Please add two selectable local file-transcription backends.
1. Qwen3-ASR-1.7B
Suggested model for Apple Silicon:
https://huggingface.co/aufklarer/Qwen3-ASR-1.7B-MLX-8bit
Requested behavior:
- Allow the model to be downloaded and managed from Memo’s Transcription settings.
- Expose Qwen3-ASR as an engine in the Home screen’s Local Model → Select Engine menu.
- Support imported audio and video files, not only live/real-time transcription.
- Support automatic language identification and multilingual transcription.
- Show model-loading and transcription progress and allow cancellation.
- Convert the output into normal editable Memo transcript segments.
- Preserve timestamps through a supported alignment workflow where available.
- Store the model in Memo’s configurable model directory without requiring command-line setup.
This should be implemented as a dedicated Qwen3/MLX backend rather than treating the MLX Safetensors model as a Sherpa ONNX model.
2. MOSS-Transcribe-Diarize
Upstream project and model:
https://github.com/OpenMOSS/MOSS-Transcribe-Diarize
https://huggingface.co/OpenMOSS-Team/MOSS-Transcribe-Diarize
Requested behavior:
-
Add MOSS-Transcribe-Diarize as a local file-transcription engine.
-
Support long-form audio and video transcription.
-
Parse the model’s timestamped speaker format, for example:
[0.48][S01]Welcome everyone[1.66] -
Map
[S01],[S02], etc. to Memo speaker labels and speaker-colored transcript segments. -
Preserve start/end timestamps in Memo’s timeline.
-
Allow speakers to be renamed after transcription.
-
Preserve speaker information when exporting to formats that support it.
-
Provide an option to enable or disable speaker diarization.
-
Support hotwords or prompt text if the selected runtime exposes them.
-
Report unsupported hardware or insufficient memory clearly instead of silently falling back to another engine.
A local runtime would be preferred. An optional OpenAI-compatible custom endpoint could also be useful for users who run MOSS on another machine.
Suggested UI
Under Settings → Transcription:
- Qwen3-ASR
- Qwen3-ASR-1.7B MLX 8-bit
- Installed/download status
- Model directory
- MOSS Transcribe Diarize
- Installed/download status
- Local or custom endpoint mode
- Speaker diarization toggle
- Hotwords/prompt field
Under the Home screen’s file-transcription controls:
- Local Whisper
- FunASR
- Parakeet
- Qwen3-ASR
- MOSS Transcribe Diarize
Suggested acceptance criteria
- Both engines can be selected for an imported audio or video file.
- Transcription runs without requiring DevTools or manual configuration edits.
- Progress and cancellation are available.
- Results are saved as normal editable Memo projects.
- MOSS speaker identities remain consistent across transcript segments.
- Timestamp and speaker metadata survive project reopening.
- No audio or transcript is sent to a cloud service when local mode is selected.
- Existing Whisper, FunASR, and Parakeet workflows continue to work unchanged.
Describe alternatives you've considered
- Using Whisper or FunASR inside Memo. These do not provide the same Qwen3-ASR-1.7B model quality or MOSS’s joint transcription/diarization output.
- Using BaoCut for transcription and importing an SRT file into Memo. This works for basic subtitles, but it creates a separate workflow and may lose structured speaker metadata.
- Restoring Sherpa ONNX in the local engine selector through #422. This would make Qwen3-ASR-0.6B usable, but would not add Qwen3-ASR-1.7B MLX or MOSS-Transcribe-Diarize.
Additional context
Environment used to confirm the current limitation:
- Memo: v1.8.3
- macOS: 15.8
- Architecture: arm64 / Apple Silicon
Related issues:
- #422 — Sherpa ONNX/Qwen3 is absent from the local file-transcription engine selector
- #305 — Speaker diarization result handling/export
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Begin with the Home screen’s Local Model → Select Engine flow and Settings → Transcription, then review related issues #422 and #305 for existing engine-selector and speaker-result context. Done means both local backends work for imported audio or video, with progress, cancellation, editable transcript results, timestamps, and preserved speaker metadata without cloud transmission.
Written by the indexing model from the issue text.
Assessment
- Domain
- ai, audio-video-rtc
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100