MOSS-Transcribe-Diarize 0.9B
MOSS-Transcribe-Diarize 0.9B is an end-to-end audio understanding model for long-form multi-speaker transcription, diarization, timestamps, and acoustic event awareness.
It supports transcription and diarization across 50+ languages, single-pass inference on audio recordings up to 90 minutes long, and custom hotword prompting for domain-specific terms.
Given an audio or video file, the model generates a compact speaker-aware transcript in one pass, including timestamps and anonymous speaker labels such as [S01], [S02], and beyond.
News
- 2026-07-22: The subtitle Web UI now supports both Simplified Chinese and English.
- 2026-07-14: 🏆 MOSS-Transcribe-Diarize won first place in the 2nd MLC-SLM Challenge at INTERSPEECH 2026, spanning 14 languages (English, French, German, Italian, Portuguese, Spanish, Japanese, Korean, Russian, Thai, Vietnamese, Tagalog, Urdu, Turkish).
- 2026-07-09: Released MOSS-Transcribe-Diarize 0.9B.
Contents
Introduction
MOSS-Transcribe-Diarize 0.9B turns real-world long-form audio into structured, speaker-aware transcripts in one pass. Instead of stitching together separate ASR and diarization systems, it jointly performs speech transcription and speaker diarization, producing time-aligned text with consistent speaker labels.
The model is built for meetings, calls, podcasts, interviews, lectures, videos, and other long or messy multi-speaker recordings. It can also emit acoustic event annotations, giving downstream systems a richer view of what happened, who spoke, and when.
Core capabilities:
- Long-form transcription: Converts long audio or video recordings into timestamped text.
- Speaker-aware diarization: Assigns anonymous speaker labels such as
[S01] and [S02] without a separate diarization pipeline.
- Promptable generation: Supports custom transcription instructions, hotwords, and acoustic event annotations.
Model Architecture
[Image blocked: MOSS-Transcribe-Diarize 0.9B model architecture]
This Hugging Face repository includes the custom Transformers remote code required to load the model with trust_remote_code=True.
Evaluation
We evaluate MOSS-Transcribe-Diarize using three objective metrics: Character Error Rate (CER), concatenated minimum-permutation Character Error Rate (cpCER), and Delta-cp. Lower is better for all metrics. A dash (-) indicates that the result is unavailable.
Quickstart
Environment Setup
Use a clean Python environment. The model uses custom Transformers code, so load the model and processor with trust_remote_code=True.
The GitHub package provides helper utilities such as audio/video loading, transcription message construction, transcript parsing, CLI inference, and the subtitle web app. The model weights and remote-code model files are loaded from this Hugging Face repository.
Python Usage
The message flow follows the common Qwen multimodal pattern:
processor.apply_chat_template(messages, tokenize=False) renders text with audio placeholders.
- The helper utilities load audio waveforms from the same messages.
processor(text=text, audio=audios) computes Whisper input features and expands audio placeholders.
model.generate(...) produces timestamped transcription and diarization text.
Custom Prompt and Hotwords
The default prompt is optimized for timestamped transcription and speaker diarization:
To add hotwords, append a short hint to the default prompt:
More prompt recipes are available in the GitHub repository: https://github.com/OpenMOSS/MOSS-Transcribe-Diarize/blob/main/examples/prompts.md
Serve with SGLang and VLLM
The recommended way to serve MOSS-Transcribe-Diarize is SGLang Omni through the OpenAI-compatible /v1/audio/transcriptions endpoint. If you are using a CUDA 12 environment, SGLang is currently not supported; use vLLM instead. Install sglang-omni by following the installation guide, then download the model:
Serve the model:
Use response_format=verbose_json when you need parsed speaker segments. json returns the raw transcript text only.
For longer multi-speaker audio, raise max_new_tokens so the decoder can finish the full diarized transcript:
MOSS-Transcribe-Diarize also supports vLLM serving through the OpenAI-compatible transcription API. Use a pinned vLLM nightly build that includes the MOSS-Transcribe-Diarize model registration. Choose one of the following commands: for CUDA 12 environments, use cu129; for CUDA 13 environments, use cu130.
or:
Subtitle Web App
The source package includes a local subtitle workflow for upload, review, subtitle export, and optional FFmpeg burn-in:
Open http://127.0.0.1:7860, upload an audio/video file, review the parsed subtitle segments, then download JSON/SRT/ASS or burn an MP4 if ffmpeg and ffprobe are available on PATH.
For batch processing:
Output Format
The canonical output format is:
Example:
In this format:
start_time and end_time are timestamps in seconds.
[S01], [S02], and similar labels are anonymous model-generated speaker labels.
- Speaker labels are relative labels within the input audio and should not be interpreted as real speaker identities.
More Information
License
MOSS-Transcribe-Diarize 0.9B is licensed under the Apache License 2.0.
Citation
If you use MOSS-Transcribe-Diarize 0.9B, please cite the technical report: