MOSS-Transcribe-Diarize 0.9B:端到端多说话人转写+说话人分离,一个模型搞定,INTERSPEECH 2026 冠军

moss-transcribe-diarize-end-to-end-multi-speaker-asr-diarization-sota

Tech-News #语音识别#说话人分离#多说话人#转写#ASR#开源#会议纪要#端到端
更新于
🇨🇳 中文

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


一、问题背景

把多人录音转写成结构化文本,传统上需要拼接两个独立系统:

  1. ASR(自动语音识别)——把语音转成文字
  2. 说话人分离(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 cpCERAlimeeting cpCERPodcast cpCERMovies cpCER
Doubao27.8637.5710.5430.88
ElevenLabs37.9536.6911.3417.85
GPT-4o---23.67
Gemini 2.5 Pro53.4241.6410.2324.15
Gemini 3 Pro27.4332.84-14.73
MTD 0.9B15.8322.177.3712.76
MTD Pro14.0213.946.9711.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 工具、系统和实验的内容节点。


🇬🇧 English

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:

  1. ASR — speech to text
  2. 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

ComponentSpecification
Text backboneQwen3-0.6B style causal decoder
Audio encoderWhisper-Medium encoder configuration
Audio frontendWhisperFeatureExtractor, 16 kHz, 80 mel bins, 30s chunks
Audio-text bridge4x temporal merge + MLP adaptor
FusionAudio 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.

ModelAISHELL-4 cpCERAlimeeting cpCERPodcast cpCERMovies cpCER
Doubao27.8637.5710.5430.88
ElevenLabs37.9536.6911.3417.85
GPT-4o———23.67
Gemini 2.5 Pro53.4241.6410.2324.15
Gemini 3 Pro27.4332.84—14.73
MTD 0.9B15.8322.177.3712.76
MTD Pro14.0213.946.9711.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):

Scenarioaudio_s/sMeaning
Short audio81.98Processes at 81× real-time
Long audio98.83Processes 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 Python
  • yongyizang/tinymoss-diarize: 2.911-bit ARM NEON kernels for mobile/edge
  • T8mars/Comfyui-MOSS-Transcribe-Diarize-T8: ComfyUI V3 nodes for local video subtitle workflows
  • vieenrose/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.

💬 评论与讨论

使用 GitHub 账号登录后发表评论

关于本站 · 免责声明

🍄 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.

  1. 本站文章均为作者基于公开信息的个人研究与观点整理,不代表文中提及的任何公司、产品、模型的官方立场,未与其构成商业关联或合作关系。
  2. 科技行业信息更新极快,我们尽力保证内容准确、及时,但不对完整性、实时性做绝对保证,具体请以相关企业/项目官方公告为准。
  3. 文中引用的第三方商标、产品名称、图片、数据等版权归原权利人所有,我们会尽量注明来源;如你认为存在版权疑问或侵权,请通过下方邮箱联系我们,收到通知后会尽快核实处理(更正、加注来源或删除)。
  4. 文章内容仅为技术科普与个人观点,不构成投资、法律或其他专业建议,据此进行任何决策的后果需自行判断和承担。

📮 侵权 / 勘误 / 合作咨询:hello@mushroom.cv