MOSS-Transcribe-Diarize 0.9B:端到端多说话人转写+说话人分离,一个模型搞定,INTERSPEECH 2026 冠军
moss-transcribe-diarize-end-to-end-multi-speaker-asr-diarization-sota
by Mycelium Protocol
GitHub:OpenMOSS/MOSS-Transcribe-Diarize
HuggingFace:OpenMOSS-Team/MOSS-Transcribe-Diarize
arXiv:2601.01554
许可证:Apache 2.0
语言:Python
Stars:1,578 · Forks:89
HF 月下载量:278,727 · HF Likes:386
开源日期:2026-07-09
一、问题背景
把多人录音转写成结构化文本,传统上需要拼接两个独立系统:
- ASR(自动语音识别)——把语音转成文字
- 说话人分离(Diarization)——把音频切分成「谁说了什么」
两个系统各有误差,误差叠加后结果往往一塌糊涂。说话人边界标错了,ASR 文本就乱;ASR 词错了,说话人对齐就偏。更麻烦的是,这两件事的错误不是独立的。
MOSS-Transcribe-Diarize 的做法:一个模型,一次前向,同时输出转写文本 + 说话人标签 + 精确时间戳。
二、输出格式
MTD 的输出是紧凑的时间戳 + 说话人流:
[0.48][S01]Welcome everyone[1.66][12.26][S02]The new transcription pipeline is ready for evaluation[13.81][14.36][S01]Great, include the diarization results in the report[18.76]
格式规则:[开始时间][Sxx]转写文本[结束时间],相邻片段首尾相接,不插空白。
- 时间戳单位:秒
- 说话人标签:
[S01]、[S02]……支持任意多个说话人 - 可选输出:声学事件标注(笑声、鼓掌、噪声等)
三、模型架构
| 组件 | 规格 |
|---|---|
| 文本骨干 | Qwen3-0.6B 风格因果解码器 |
| 音频编码器 | Whisper-Medium 编码器配置 |
| 音频前端 | WhisperFeatureExtractor,16 kHz,80 mel bins,30 秒分块 |
| 音频-文本桥接 | 4x 时序合并 + MLP 适配器 |
| 融合方式 | 音频特征通过 masked_scatter 替换 `< |
两个经典组件(Qwen3 解码器 + Whisper 编码器)通过 MLP 桥接融合,不是从头设计新架构。桥接层做 4x 时序合并,把 Whisper 的帧级特征压缩到更合适的粒度再输入解码器。
模型大小 0.9B,设计目标是可以在单个消费级 GPU 或服务器上高效推理。
四、评测结果
基准:AISHELL-4(普通话会议)、Alimeeting(会议)、Podcast(播客)、Movies(影视)
指标:CER(字符错误率)、cpCER(拼接最小置换 CER,联合评估转写和分离质量)、Δcp(cpCER - CER,衡量分离误差的额外贡献)。三个指标均越低越好。
| 模型 | AISHELL-4 cpCER | Alimeeting cpCER | Podcast cpCER | Movies cpCER |
|---|---|---|---|---|
| Doubao | 27.86 | 37.57 | 10.54 | 30.88 |
| ElevenLabs | 37.95 | 36.69 | 11.34 | 17.85 |
| GPT-4o | - | - | - | 23.67 |
| Gemini 2.5 Pro | 53.42 | 41.64 | 10.23 | 24.15 |
| Gemini 3 Pro | 27.43 | 32.84 | - | 14.73 |
| MTD 0.9B | 15.83 | 22.17 | 7.37 | 12.76 |
| MTD Pro | 14.02 | 13.94 | 6.97 | 11.78 |
MTD 0.9B 在所有有数据的基准上均超过 Doubao、ElevenLabs、GPT-4o 和 Gemini。在 Podcast Δcp(转写质量指标)上以 1.40 拿下最优,说话人分离引入的额外错误最小。
2026 年 7 月,MTD 赢得 INTERSPEECH 2026 第二届 MLC-SLM 挑战赛冠军(14 个语言覆盖)。
五、安装与快速上手
git clone https://github.com/OpenMOSS/MOSS-Transcribe-Diarize.git
cd MOSS-Transcribe-Diarize
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install -e ".[torch-runtime]" --torch-backend=auto
Python 直接调用:
from moss_transcribe_diarize import parse_transcript
from moss_transcribe_diarize.inference_utils import (
build_transcription_messages,
generate_transcription,
resolve_device,
)
from transformers import AutoProcessor
from moss_transcribe_diarize.attention import load_model_with_attention_fallback
model_id = "OpenMOSS-Team/MOSS-Transcribe-Diarize"
processor = AutoProcessor.from_pretrained(model_id)
model = load_model_with_attention_fallback(model_id)
六、生产服务
SGLang Omni(推荐,CUDA 13)
sgl-omni serve \
--model-path OpenMOSS-Team/MOSS-Transcribe-Diarize \
--port 8000 \
--max-running-requests 16 \
--mem-fraction-static 0.80
接口兼容 OpenAI /v1/audio/transcriptions:
curl -X POST http://localhost:8000/v1/audio/transcriptions \
-F model=OpenMOSS-Team/MOSS-Transcribe-Diarize \
-F file=@audio.wav \
-F response_format=verbose_json \
-F max_new_tokens=65536
单 H100 性能(SGLang Omni):
| 场景 | 并发 16 audio_s/s | 含义 |
|---|---|---|
| 短音频 | 81.98 | 处理速度是实时的 81x |
| 长音频(多小时) | 98.83 | 处理速度是实时的 98x |
vLLM(CUDA 12/13)
vllm serve OpenMOSS-Team/MOSS-Transcribe-Diarize --trust-remote-code
七、字幕 Web 界面
mtd-subtitle-web \
--model OpenMOSS-Team/MOSS-Transcribe-Diarize \
--host 127.0.0.1 --port 7860
打开 http://127.0.0.1:7860,上传音频或视频,查看解析后的字幕片段,导出 JSON / SRT / ASS,或用 FFmpeg 烧录到 MP4。
批量处理:
mtd-subtitle /path/to/input.mp4 \
--model OpenMOSS-Team/MOSS-Transcribe-Diarize \
--out-dir runs/example \
--render
八、自定义提示词与热词
默认提示词:
请将音频转写为文本,每一段需以起始时间戳和说话人编号([S01]、[S02]、[S03]…)开头,
正文为对应的语音内容,并在段末标注结束时间戳,以清晰标明该段语音范围。
加热词(在末尾追加):
热词提示:热词1, 热词2, 热词3
九、生态
端侧与边缘部署:
localai-org/moss-transcribe.cpp:C++17 ggml 全量重写,无 Python 依赖yongyizang/tinymoss-diarize:2.911-bit ARM NEON 内核,面向移动端/嵌入式
工作流集成:
T8mars/Comfyui-MOSS-Transcribe-Diarize-T8:ComfyUI V3 节点,本地视频字幕工作流
微调与蒸馏:
vieenrose/distil-vibevoice-asr:在 MTD 基础上继续微调 + ONNX/sherpa-onnx 端侧部署
端到端的价值在于:当 ASR 和 diarization 在同一个模型里联合训练时,错误不再叠加——模型同时学习「谁在说话」和「说了什么」,两个任务可以互相纠正。MTD 0.9B 的评测数字验证了这一点:在多个基准上,它用 0.9B 参数做到了比 GPT-4o 和 Gemini 系列更低的联合错误率。
iPhone 一键录音 → iCloud 同步 → MTD 转写分离 → AI 纪要/分析 → 知识沉淀,这条流水线已经在实际使用中跑通。
Mycelium Protocol — 追踪 AI 系统的底层演化
关于 Mycelium
菌丝协议。持续追踪 AI 工具、系统和实验的内容节点。
MOSS-Transcribe-Diarize 0.9B: End-to-End Multi-Speaker Transcription and Diarization, Single Model, INTERSPEECH 2026 Champion
by Mycelium Protocol
GitHub: OpenMOSS/MOSS-Transcribe-Diarize
HuggingFace: OpenMOSS-Team/MOSS-Transcribe-Diarize
arXiv: 2601.01554
License: Apache 2.0
Language: Python
Stars: 1,578 · Forks: 89
HF monthly downloads: 278,727 · HF Likes: 386
Open-sourced: 2026-07-09
The Problem
Converting multi-speaker recordings into structured text traditionally requires stitching two separate systems:
- ASR — speech to text
- Speaker Diarization — segmenting audio into “who said what”
Errors compound. A wrong speaker boundary corrupts the transcript. An ASR error misaligns the speaker label. These failures are correlated, not independent.
MOSS-Transcribe-Diarize: one model, one forward pass, simultaneous transcript + speaker labels + timestamps.
Output Format
[0.48][S01]Welcome everyone[1.66][12.26][S02]The new transcription pipeline is ready[13.81][14.36][S01]Great, include the diarization results[18.76]
Format: [start_time][Sxx]transcribed speech[end_time], segments concatenated without gaps. Speaker labels [S01], [S02]… scale to any number of speakers. Optional acoustic event annotations are also available.
Architecture
| Component | Specification |
|---|---|
| Text backbone | Qwen3-0.6B style causal decoder |
| Audio encoder | Whisper-Medium encoder configuration |
| Audio frontend | WhisperFeatureExtractor, 16 kHz, 80 mel bins, 30s chunks |
| Audio-text bridge | 4x temporal merge + MLP adaptor |
| Fusion | Audio features replace `< |
Two proven components (Qwen3 decoder + Whisper encoder) fused via MLP bridge. The 4x temporal merge in the bridge compresses Whisper’s frame-level features to a granularity the decoder can process efficiently. Total size: 0.9B.
Evaluation
Benchmarks: AISHELL-4 (Mandarin meetings), Alimeeting (meetings), Podcast, Movies
Metrics: CER (character error rate), cpCER (concatenated minimum-permutation CER — jointly evaluating transcription and diarization quality), Δcp (cpCER − CER, measuring how much diarization adds to the error). Lower is better on all three.
| Model | AISHELL-4 cpCER | Alimeeting cpCER | Podcast cpCER | Movies cpCER |
|---|---|---|---|---|
| Doubao | 27.86 | 37.57 | 10.54 | 30.88 |
| ElevenLabs | 37.95 | 36.69 | 11.34 | 17.85 |
| GPT-4o | — | — | — | 23.67 |
| Gemini 2.5 Pro | 53.42 | 41.64 | 10.23 | 24.15 |
| Gemini 3 Pro | 27.43 | 32.84 | — | 14.73 |
| MTD 0.9B | 15.83 | 22.17 | 7.37 | 12.76 |
| MTD Pro | 14.02 | 13.94 | 6.97 | 11.78 |
MTD 0.9B beats Doubao, ElevenLabs, GPT-4o, and Gemini on every benchmark with available data. On Podcast Δcp (1.40, best overall), it adds the least diarization error on top of transcription quality.
July 2026: MTD won 1st place in the 2nd MLC-SLM Challenge at INTERSPEECH 2026, covering 14 languages.
Install and Quickstart
git clone https://github.com/OpenMOSS/MOSS-Transcribe-Diarize.git
cd MOSS-Transcribe-Diarize
uv venv --python 3.12 .venv
source .venv/bin/activate
uv pip install -e ".[torch-runtime]" --torch-backend=auto
Production Serving
SGLang Omni (recommended, CUDA 13):
sgl-omni serve \
--model-path OpenMOSS-Team/MOSS-Transcribe-Diarize \
--port 8000 --max-running-requests 16 --mem-fraction-static 0.80
OpenAI-compatible /v1/audio/transcriptions:
curl -X POST http://localhost:8000/v1/audio/transcriptions \
-F model=OpenMOSS-Team/MOSS-Transcribe-Diarize \
-F file=@audio.wav \
-F response_format=verbose_json \
-F max_new_tokens=65536
Single H100 throughput (SGLang Omni, concurrency 16):
| Scenario | audio_s/s | Meaning |
|---|---|---|
| Short audio | 81.98 | Processes at 81× real-time |
| Long audio | 98.83 | Processes at 98× real-time |
vLLM (CUDA 12/13):
vllm serve OpenMOSS-Team/MOSS-Transcribe-Diarize --trust-remote-code
Subtitle Web App
mtd-subtitle-web --model OpenMOSS-Team/MOSS-Transcribe-Diarize --host 127.0.0.1 --port 7860
Upload audio/video, review speaker-segmented subtitles, export JSON/SRT/ASS or FFmpeg-burn to MP4. Supports Chinese and English UI.
Ecosystem
localai-org/moss-transcribe.cpp: C++17 ggml from-scratch port, no Pythonyongyizang/tinymoss-diarize: 2.911-bit ARM NEON kernels for mobile/edgeT8mars/Comfyui-MOSS-Transcribe-Diarize-T8: ComfyUI V3 nodes for local video subtitle workflowsvieenrose/distil-vibevoice-asr: Fine-tuning on MTD + ONNX/sherpa-onnx for on-device deployment
Why End-to-End Matters
When ASR and diarization train jointly in the same model, errors stop compounding — the model simultaneously learns “who is speaking” and “what they said,” and each task corrects the other. MTD 0.9B’s benchmarks confirm this: 0.9B parameters, lower joint error rate than GPT-4o and Gemini across multiple benchmarks.
iPhone one-tap recording → iCloud sync → MTD transcription + diarization → AI summary/analysis → knowledge capture. This pipeline runs in production today.
Mycelium Protocol — tracking the deep evolution of AI systems
© 2026 Mycelium Protocol. All rights reserved.
关于本站 · 免责声明
🍄 Mushroom Research Blog 是非营利、免费公开的个人科技观察博客与公众号 XStack18,不接受商业合作、不代表任何企业或机构立场,也不谋求商业利益。我们以个人视角客观中立地记录和分析 AI、Web3 等领域的最新模型发布与技术动态——不止转述新闻标题或二手信息,而是给出有独立思考的深入分析,希望帮更多人获得有价值的一手科技认知。
⚠️ 文中介绍的开源代码与模型,仅供学习交流与技术借鉴。它们大多仍处于早期阶段,有待进一步研究和验证,请勿直接用于工作或生产环境;如需采用,请先自行充分测试,并核实其许可证与安全性。
Open-source code and models featured here are shared for learning and reference only. Most are early-stage and still need further study and verification — please don't use them directly in your work or in production. Test them thoroughly and check their licenses and security first.
- 本站文章均为作者基于公开信息的个人研究与观点整理,不代表文中提及的任何公司、产品、模型的官方立场,未与其构成商业关联或合作关系。
- 科技行业信息更新极快,我们尽力保证内容准确、及时,但不对完整性、实时性做绝对保证,具体请以相关企业/项目官方公告为准。
- 文中引用的第三方商标、产品名称、图片、数据等版权归原权利人所有,我们会尽量注明来源;如你认为存在版权疑问或侵权,请通过下方邮箱联系我们,收到通知后会尽快核实处理(更正、加注来源或删除)。
- 文章内容仅为技术科普与个人观点,不构成投资、法律或其他专业建议,据此进行任何决策的后果需自行判断和承担。
📮 侵权 / 勘误 / 合作咨询:hello@mushroom.cv
💬 评论与讨论
使用 GitHub 账号登录后发表评论