开源SOTA语音转写模型MOSS-Transcribe-Diarize:0.9B参数如何一举超越GPT-4o与Gemini?
【免费下载链接】MOSS-Transcribe-DiarizeA 0.9B model for long-form transcription in 50+ languages with speaker diarization, timestamps, and acoustic event awareness项目地址: https://gitcode.com/gh_mirrors/mo/MOSS-Transcribe-Diarize
MOSS-Transcribe-Diarize 是一个开源 SOTA 语音转写模型(仅 0.9B 参数),一次推理即可同时完成多语言语音转写、说话人分离(Diarization)、时间戳对齐和声学事件感知,支持 50+ 语言。在 AISHELL-4、Alimeeting、Movies 等基准上,它的说话人归因字错率(cpCER)全面领先 GPT-4o 与 Gemini 系列,并斩获 INTERSPEECH 2026 第二届 MLC-SLM 挑战赛冠军。对于做会议记录、播客整理、字幕生产的同学,这是一套可以完全本地部署的轻量方案。
🏆 为什么它能"以小博大"?看评测数据
官方用三个客观指标评测:CER(字错率)、cpCER(含说话人归因的字错率)、Δcp(转写与说话人分离之间的差距,负值说明分离反而降低了错误)。数值越低越好:
| 模型 | AISHELL-4 cpCER | Alimeeting cpCER | Podcast cpCER | Movies cpCER |
|---|---|---|---|---|
| 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 |
| MOSS-Transcribe-Diarize 0.9B | 15.83 | 22.17 | 7.37 | 12.76 |
两个值得注意的细节:
- Alimeeting 上 Δcp 为 -2.69:加入说话人标签后错误不升反降,说明转写和分离是真正联合建模,而非简单拼接。
- 在中文会议场景(AISHELL-4、Alimeeting)优势最明显,cpCER 领先 Gemini 3 Pro 近 10 个和 10 个点。
完整表格见 README.md 的 Objective Evaluation 一节,中文说明在 README_zh.md。
🧩 模型架构:Whisper 编码器 + 自回归语音大模型
模型把"语音转文本"与"判断谁在说话"合并成一条流水线:音频先经 Whisper-Medium 配置(16 kHz、80 维 mel、30 秒分块)的音频编码器提取特征,再通过 4 倍时序合并 + MLP 适配器注入到 Qwen3-0.6B 风格的因果解码器中,自回归地直接输出带时间戳和说话人标签的紧凑文本。
标准输出格式为[起始时间][Sxx]转写文本[结束时间],例如:
[0.48][S01]Welcome everyone[1.66][12.26][S02]The new transcription pipeline is ready[13.81]下游只需解析这一串文本,就能得到时间对齐的说话人分段,无需外挂 VAD 或独立的说话人分离模型。解析逻辑位于 moss_transcribe_diarize/transcript_parser.py。
🚀 快速上手:3步搭建本地语音转写环境
💡 建议使用 Python 3.12 + Transformers 5.x 的干净环境。
第 1 步:克隆仓库
git clone https://gitcode.com/gh_mirrors/mo/MOSS-Transcribe-Diarize cd MOSS-Transcribe-Diarize第 2 步:创建虚拟环境并安装
uv venv --python 3.12 .venv source .venv/bin/activate uv pip install -e ".[torch-runtime]" --torch-backend=auto第 3 步:运行推理
安装后即可通过 Transformers 加载模型,或直接用官方命令行工具(定义在 pyproject.toml 中)。有 CUDA GPU 时可加装flash-attn加速长音频推理。
🎯 四种使用方式:从代码调用到字幕 Web 应用
Python 直接调用
核心流程非常短:AutoModelForCausalLM加载模型(记得trust_remote_code=True)→build_transcription_messages构造消息 →generate_transcription生成 →parse_transcript解析成分段。完整示例见 README.md。
vLLM / SGLang Omni 部署为 API 服务
生产环境推荐用SGLang Omni(CUDA 13)或vLLM提供OpenAI 兼容的/v1/audio/transcriptions接口,一行 curl 即可转写音频,response_format=verbose_json可直接拿到解析好的说话人分段。单张 H100 在长音频场景 RTF 可低至约 0.02(处理速度是实时的 50 倍以上),支持 16 并发。
字幕 Web 应用:上传视频直接出字幕 🎬
这是新手最友好的入口:
mtd-subtitle-web --model OpenMOSS-Team/MOSS-Transcribe-Diarize --port 7860浏览器打开http://127.0.0.1:7860,上传音视频 → 在线校对转写分段 → 下载JSON / SRT / ASS字幕,若系统装有 ffmpeg 还能一键把字幕烧录进 MP4。界面支持中英文切换,入口在 moss_transcribe_diarize/app/web_cli.py,SRT/ASS 导出与说话人配色逻辑见 moss_transcribe_diarize/subtitle/export.py。批量处理则使用命令行版mtd-subtitle。
融入 FunASR 生态
FunASR 1.4.12+ 可将 vLLM 服务返回的说话人归因结果归一化为通用sentence_info结构,方便接入既有 ASR 工作流。
🔧 实用技巧:热词提示与自定义 Prompt
默认 Prompt 已针对"时间戳 + 说话人分离"优化。遇到专有名词识别不准时,只需在 Prompt 末尾追加一句:
请将音频转写为文本,每一段需以起始时间戳和说话人编号([S01]、[S02]…)开头……热词提示:热词1, 热词2, 热词3更多 Prompt 配方(仅转写、仅说话人标签、中英双语版)整理在 examples/prompts.md,可直接通过--prompt参数传给字幕工具。
📈 进阶:用 finetune.py 微调模型
仓库内置了基于 HuggingFace TransformersTrainer的最小微调流程:训练数据为 JSONL 格式(每条含 Prompt、音频路径、参考转写),单卡直接python finetune.py --train_jsonl data/train.jsonl ...即可,多卡用torchrun。详见 FINETUNING.md 与 finetune.py。
总结
- 一个模型搞定三件事:转写 + 说话人分离 + 时间戳,输出紧凑可解析,天然适配会议、播客、视频字幕场景。
- 效果对标闭源大模型:cpCER 在四个基准上全面超越 GPT-4o 与 Gemini 系列,还拿了 INTERSPEECH 2026 挑战赛冠军。
- 部署门槛低:0.9B 参数本地可跑,附带 CLI、Web 字幕应用、API 服务和微调脚本,Apache-2.0 协议可商用。
【免费下载链接】MOSS-Transcribe-DiarizeA 0.9B model for long-form transcription in 50+ languages with speaker diarization, timestamps, and acoustic event awareness项目地址: https://gitcode.com/gh_mirrors/mo/MOSS-Transcribe-Diarize
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考