Makememo / Makememo/MemoAI

Title: [Feature Request] Add offline file transcription support for Qwen3-ASR-1.7B and MOSS-Transcribe-Diarize

Open
#428 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
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:

  1. Qwen3-ASR-1.7B, including an Apple Silicon-optimized MLX version; or
  2. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.