news 2026/8/29 18:34:35

我测试了一个0.9B模型,它竟然能自动区分多人讲话)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
我测试了一个0.9B模型,它竟然能自动区分多人讲话)

我测试了一个 0.9B 模型,它竟然能自动区分多人讲话


会议录音转完字,最烦的不是错别字,是一锅粥。

三个人轮着说,偶尔抢话,偶尔叠音。普通 ASR 给你一整段字,你还得自己猜:这句是谁的?字幕要卡点,又得再跑一遍对齐。过去常见做法是 ASR、说话人分离、时间戳对齐各跑一套——中间错一次,后面全跟着漂。


图1 左:多模型拼接;右:MTD 0.9B 一次输出「时间戳 + 说话人 + 文本」

今年 7 月,模思智能(MOSI.AI)把MOSS-Transcribe-Diarize 0.9B开源了。它不走拼接流水线,一次生成三件东西:

时间戳 + 说话人编号 + 转录文本

我把它接到自己的开源转写项目里,当本地「多人会议 / 播客字幕」后端:下载、装环境、跑第一次推理、测热词、导出字幕、再挂一层 OpenAI 兼容 API。下面按真实仓库写,命令和接口都能对着 GitHub README 复现。


先说清楚:0.9B 解决的是哪类问题

仓库全称是MOSS-Transcribe-Diarize(MTD)。开源版参数量 0.9B,协议Apache 2.0。架构也不复杂:音频侧用 Whisper-Medium encoder,文本侧是 Qwen3-0.6B 风格解码器,中间 4 倍时间合并 + MLP 把音频特征送进语言模型。官方面向会议、通话、播客、访谈、讲座和长视频,支持50+ 语言,上下文128K,单段音频最长约90 分钟

图2 官方模型架构图(已从 GitHub 仓库下载)

标准输出格式:

[start_time][Sxx]transcribed speech[end_time]

官方英文示例:

[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]

中文场景里,你会看到类似:

[00:01][S01] 今天我们主要讨论产品发布计划。 [00:05][S02] 我先介绍一下目前的开发进度。

[S01][S02]是匿名说话人编号,不是自动填人名。人名要靠后续映射,或用热词把「张三 / 产品名」听准。

同一系列还有MOSS-Transcribe-Diarize Pro:不用备 GPU,上 platform.mosi.cn 上传就能试,也支持 API。官方评测里 Pro 在多个中文会议、播客、影视集上整体高于 0.9B。开源版适合本地和二次开发;Pro 适合直接用、直接接入业务。

用途地址
GitHubhttps://github.com/OpenMOSS/MOSS-Transcribe-Diarize
Hugging Face 权重https://huggingface.co/OpenMOSS-Team/MOSS-Transcribe-Diarize
在线 Demohttps://moss-transcribe-diarize-demo.mosi.cn/
技术报告https://arxiv.org/abs/2601.01554
API / Playgroundhttps://platform.mosi.cn
AtomGit 镜像https://ai.atomgit.com/OpenMOSS/MOSS-Transcribe-Diarize


图3 打开官方 Demo,上传 2~3 人对话音频,截取带 [S01][S02] 标签的结果页

开源节点:2026-07-09 放出 0.9B;2026-07-14 拿下 INTERSPEECH 2026 第二届 MLC-SLM Challenge 14 语言任务第一名;2026-07-22 字幕 Web 支持简体中文。


为什么接到开源项目里,而不是只跑 Demo

我这边已有一条本地工作流:上传音视频 → 转写 → 出 SRT/JSON → 给剪辑和纪要用。缺的是「人和时间」一次齐。

图4 从音视频到 segments 再到字幕/纪要的接入链路

接入策略:推理层用官方包,业务层只吃结构化片段

音视频文件 → moss-transcribe-diarize(Transformers / 本机 /v1/audio/transcriptions) → parse_transcript:start / end / speaker / text → 导出 JSON / SRT / ASS,可选 FFmpeg 压字幕 → 纪要、检索、切片共用同一份 segments

官方仓库自带mtd-subtitlemtd-subtitle-webparse_transcript,不必自己造解析器。项目里只做三件事:选后端(本机 or 平台 Pro)、把热词写进 prompt /keyterms、把 segments 接到导出逻辑。

没有 GPU 的机器,先用官方 Demo 看效果再决定是否部署。社区实测大约6GB 显存能跑开源版;官方 H100 基准是服务端吞吐,别直接当笔记本预期。


1. 下载模型,配环境

官方在Python 3.12 + Transformers 5.x上测过,依赖torch>=2.8。建议干净虚拟环境,别塞进旧项目的 Python 3.9。

Linux / macOS:

gitclone https://github.com/OpenMOSS/MOSS-Transcribe-Diarize.gitcdMOSS-Transcribe-Diarize uv venv--python3.12.venvsource.venv/bin/activate uv pipinstall-e".[torch-runtime]"--torch-backend=auto

Windows PowerShell:

.venv\Scripts\Activate.ps1


图5 操作终端:uv pip install 成功 + hf download 进度

权重模型 ID(不要改字符串):

OpenMOSS-Team/MOSS-Transcribe-Diarize

预下载(给 SGLang / vLLM 用):

hf download OpenMOSS-Team/MOSS-Transcribe-Diarize

国内网络不稳可走镜像或 AtomGit;加载必须trust_remote_code=True

Attention 加载顺序(官方显式策略,不要静默降级):

flash_attention_4flash_attention_3flash_attention_2sdpaeager

落到eager会在长音频里撑出很大的 attention 矩阵。mtd-subtitle/mtd-subtitle-web可用--attn-implementation手动指定。

环境官方建议
CUDA 13SGLang Omni(推荐,/v1/audio/transcriptions
CUDA 12vLLM(README 指定 nightly,cu129/cu130
先验证效果Transformers 直接generate,或官方字幕 Web

SGLang 安装请跟官方 installation 文档 走,不要随便pip install旧包。


2. 第一次推理:把多人音频变成说话人片段

项目里封装一层,核心仍是官方示例——不要自己拼 chat template。

importloggingimporttorchfromtransformersimportAutoProcessorfrommoss_transcribe_diarizeimportparse_transcriptfrommoss_transcribe_diarize.attentionimportload_model_with_attention_fallbackfrommoss_transcribe_diarize.inference_utilsimport(build_transcription_messages,generate_transcription,resolve_device,)logging.basicConfig(level=logging.INFO)model_id="OpenMOSS-Team/MOSS-Transcribe-Diarize"audio_path="meeting_sample.wav"# 建议先用 2~5 分钟、2~3 人录音device=resolve_device("auto")dtype=torch.bfloat16ifdevice.type=="cuda"elsetorch.float32 model,attention_report=load_model_with_attention_fallback(model_id,device=device,dtype=dtype,)model=model.to(dtype=dtype).to(device).eval()processor=AutoProcessor.from_pretrained(model_id,trust_remote_code=True)messages=build_transcription_messages(audio_path)result=generate_transcription(model,processor,messages,max_new_tokens=2048,# 长会要加大,服务端长音频常见 65536do_sample=False,device=device,dtype=dtype,attention_report=attention_report,)print(result["text"])forseginparse_transcript(result["text"]):print(seg.start,seg.end,seg.speaker,seg.text)


图6 Web UI 分段列表(自用平台)

第一次测别一上来丢 60 分钟。对照这四点:

  1. 换人时[S01]/[S02]有没有跟着换

  2. 插话、短应答会不会并进前一个人

  1. 起止时间能不能直接切字幕

  2. 专有名词错不错(错了再上热词)

短音频max_new_tokens=2048够用;长会议务必加大,否则后半截会被截断。官方服务默认5120,长音频示例给到65536

字段含义下游用法
start/endSRT、对齐画面、跳转播放
speakerS01纪要分栏、声纹映射人名
text该段口播检索、摘要、翻译

3. 热词:人名和产品名别指望模型猜

会议里最容易错的是人名、公司名、模型名、中英混写产品名。开源版做法:在默认 prompt 后追加「热词提示」

默认 prompt:

请将音频转写为文本,每一段需以起始时间戳和说话人编号([S01]、[S02]、[S03]…)开头,正文为对应的语音内容,并在段末标注结束时间戳,以清晰标明该段语音范围。

带热词:

请将音频转写为文本,每一段需以起始时间戳和说话人编号([S01]、[S02]、[S03]…)开头,正文为对应的语音内容,并在段末标注结束时间戳,以清晰标明该段语音范围。热词提示:MOSS-Transcribe-Diarize, 模思智能, SGLang


图7 同一音频、同一位置:左无热词错字,右加热词后对比截图

同一段 prompt 可传给build_transcription_messagesmtd-subtitlemtd-subtitle-web。英文版见examples/prompts.md

平台 Pro 更工程化:keyterms字符串数组,文档写明最多 20 个、每个最多 30 字符。接入层可统一成「热词列表」,本地转 prompt、云上转keyterms


4. 字幕导出,以及把模型挂成 API

官方字幕 Web(最快看到成品)

mtd-subtitle-web\--modelOpenMOSS-Team/MOSS-Transcribe-Diarize\--host127.0.0.1\--port7860

浏览器打开http://127.0.0.1:7860,上传音视频,审片段,下载JSON / SRT / ASS。本机有ffmpegffprobe时可烧进 MP4。

图8 Web 界面:上传区 + 分段列表 + JSON/SRT/ASS 下载按钮(自用平台)

本地 OpenAI 兼容接口(推荐给业务接)


图9 客户端 → SGLang/vLLM → verbose_json 分段返回

SGLang Omni 启动:

sgl-omni serve\--model-path OpenMOSS-Team/MOSS-Transcribe-Diarize\--port8000\--max-running-requests16\--cuda-graph-max-bs16\--mem-fraction-static0.80

要说话人分段,用verbose_json

curl-XPOST http://localhost:8000/v1/audio/transcriptions\-Fmodel=OpenMOSS-Team/MOSS-Transcribe-Diarize\-Ffile=@meeting_sample.wav\-Fresponse_format=verbose_json\-Fmax_new_tokens=65536
参数默认说明
file必填multipart 音频
response_formatjsonjson/verbose_json/text
max_new_tokens5120长音频加大
prompt内置转写+分人可覆盖、可接热词
language不设可选语言提示
temperature0.0转写建议 0

CUDA 12 走 vLLM:

vllm serve OpenMOSS-Team/MOSS-Transcribe-Diarize --trust-remote-code

uv pip install必须用 README 里带 hash 的 extra-index,版本不对就没有 MTD 模型注册。


5. 开源 0.9B 和平台 Pro:怎么选

官方指标CER / cpCER / Δcp,越低越好(摘自仓库 README):

模型AISHELL-4 CERAlimeeting CERPodcast CERMovies CER
Doubao18.1825.257.939.94
ElevenLabs19.5825.708.5011.49
Gemini 2.5 Pro42.7027.437.3815.46
Gemini 3 Pro22.7526.758.62
MTD 0.9B14.8424.865.976.36
MTD Pro13.7818.224.465.86


图10 0.9B 与 Pro 在 Alimeeting / Podcast 上的差距

0.9B 已在会议、播客、影视几项上压过不少商业系统;Pro 再往下压,尤其 Alimeeting。AISHELL-4 测试集约 36~40 分钟、5~7 个说话人,不是单人念稿场景。

0.9B 开源版Pro
部署本地 GPU浏览器 / API
协议Apache 2.0平台服务
热词改 promptkeyterms,最多 20 个
文件本机路径单文件最大 512MB
适合开发者、数据不出域创作者、团队、要更稳效果


图11 上传音频、moss-transcribe-diarize 模型、segments 结果、keyterms 输入框(自用平台)

Playground:https://platform.mosi.cn/app/playground

注册后有体验积分,够先跑几条真实录音。

云上 API(不要把 API Key 写进仓库):

# 1)上传curlhttps://api.mosi.cn/v1/files\-H"Authorization: Bearer$MOSS_API_KEY"\-Ffile=@meeting_sample.wav\-Fpurpose=audio# 2)多说话人转写curlhttps://api.mosi.cn/v1/audio/transcriptions\-H"Authorization: Bearer$MOSS_API_KEY"\-H"Content-Type: application/json"\-d'{ "model": "moss-transcribe-diarize", "version": "v20260410-streamparam-20260703", "file_id": "<file_id>", "diarize": true, "response_format": "diarized_json", "keyterms": ["MOSS", "SGLang"] }'

返回含durationtextsegments[].start/end/text/speaker。还支持stream=true(SSE)和async=true。开源项目里把本地verbose_json和平台diarized_json映射成同一套segments,切换后端只改配置。


接入时容易踩的坑

  1. Python / Transformers 版本旧— 要 3.12 + Transformers 5.x,torch 2.8+

  2. 长音频 token 不够— 后半段说话人消失,先查max_new_tokens

  1. CUDA 12 硬上 SGLang Omni— Omni 面向 CUDA 13,12 走 vLLM

  2. [S01]当真人名— 只是轨迹 ID,映射人名是业务层

  1. 热词没传进模型— 本地进 prompt,云上进keyterms

  2. eager attention + 长会— 看加载日志选了哪套 kernel

测试集也建议分开:干净双人访谈、会议室远场、带叠音节目,别用一条录音下结论。

图12 项目GitHub Star


结语

0.9B 不靠堆参数,靠的是把「听清、分开、打点」收成一次生成。开源仓库从加载、解析、字幕 Web 到兼容接口都齐;接到现有项目,主要工作量在环境、max_new_tokens、热词和 segments 导出。

本地能跑、数据敏感 → 0.9B。想少折腾、要更高上限 → 平台 Pro,现在注册还有体验积分。


图13 文末 CTA 卡

  • GitHub:https://github.com/OpenMOSS/MOSS-Transcribe-Diarize

  • Demo:https://moss-transcribe-diarize-demo.mosi.cn/

  • MOSS开放平台:https://platform.mosi.cn

#模思智能 #MOSS-Transcribe-Diarize #AI工具 #AI效率工具 #AI语音 #语音识别 #ASR #开源模型 #AIGC


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 18:32:27

考研复试上机全攻略:从数据结构到考场实战的避坑指南

复试上机这件事&#xff0c;我在辅导学弟学妹的过程中见得太多太多。有初试考了380&#xff0c;结果上机一塌糊涂&#xff0c;从拟录取名单里被刷下来的&#xff1b;也有初试压线进复试&#xff0c;靠上机逆袭翻盘的。每年陪跑一茬又一茬考生&#xff0c;我自己也把各大院校的复…

作者头像 李华
网站建设 2026/8/29 18:32:13

工业级箱子实例分割数据集实战指南

简介&#xff1a;实例分割是计算机视觉中实现像素级物体定位与区分的核心技术&#xff0c;其原理依赖于深度学习模型对图像空间结构的建模能力与掩码生成机制。在工业质检、物流分拣、AGV导航等场景中&#xff0c;高精度实例分割直接决定自动化系统的鲁棒性与落地可行性。区别于…

作者头像 李华
网站建设 2026/8/29 18:28:22

基于DEAP数据集的情绪识别实战:从EEG预处理到分类模型评估

简介&#xff1a;情绪识别是脑机接口与情感计算领域的核心任务&#xff0c;通过对脑电&#xff08;EEG&#xff09;等生理信号的分析&#xff0c;可以客观量化人的效价与唤醒度状态。在实际工程中&#xff0c;数据预处理与特征工程往往比模型结构更能决定分类效果。基于公开的D…

作者头像 李华
网站建设 2026/8/29 18:25:50

城市体检风险评估平台是什么?5 大核心功能与应用价值详解

城市体检正在经历从“人工经验判断”向“数据智能诊断”的深刻转变。随着城市发展从大规模增量扩张转向存量提质增效&#xff0c;如何精准识别城市风险隐患、科学评估城市健康状况&#xff0c;成为治理现代化的关键命题。福建南平、四川泸州、陕西西安、广西、青岛、厦门等地依…

作者头像 李华
网站建设 2026/8/29 18:24:02

B站2023校招信息安全笔试复盘:Web安全、密码学与业务安全全解析

考完哔哩哔哩2023校招信息安全方向笔试&#xff0c;趁热把题目复盘一下。这次笔试整体给我的感觉是&#xff1a;覆盖面很宽&#xff0c;从Web基础到密码学到安全运营都有涉及&#xff0c;但深度不算离谱&#xff0c;更看重你平时有没有真积累。和那种八股文堆砌的笔试卷不一样&…

作者头像 李华