)
我测试了一个 0.9B 模型它竟然能自动区分多人讲话会议录音转完字最烦的不是错别字是一锅粥。三个人轮着说偶尔抢话偶尔叠音。普通 ASR 给你一整段字你还得自己猜这句是谁的字幕要卡点又得再跑一遍对齐。过去常见做法是 ASR、说话人分离、时间戳对齐各跑一套——中间错一次后面全跟着漂。图1 左多模型拼接右MTD 0.9B 一次输出「时间戳 说话人 文本」今年 7 月模思智能MOSI.AI把MOSS-Transcribe-Diarize 0.9B开源了。它不走拼接流水线一次生成三件东西时间戳 说话人编号 转录文本我把它接到自己的开源转写项目里当本地「多人会议 / 播客字幕」后端下载、装环境、跑第一次推理、测热词、导出字幕、再挂一层 OpenAI 兼容 API。下面按真实仓库写命令和接口都能对着 GitHub README 复现。先说清楚0.9B 解决的是哪类问题仓库全称是MOSS-Transcribe-DiarizeMTD。开源版参数量 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-DiarizeHugging Face 权重https://huggingface.co/OpenMOSS-Team/MOSS-Transcribe-Diarize在线 Demohttps://moss-transcribe-diarize-demo.mosi.cn/技术报告https://arxiv.org/abs/2601.01554API / Playgroundhttps://platform.mosi.cnAtomGit 镜像https://ai.atomgit.com/OpenMOSS/MOSS-Transcribe-Diarize图3 打开官方 Demo上传 23 人对话音频截取带 [S01][S02] 标签的结果页开源节点2026-07-09 放出 0.9B2026-07-14 拿下 INTERSPEECH 2026 第二届 MLC-SLM Challenge 14 语言任务第一名2026-07-22 字幕 Web 支持简体中文。为什么接到开源项目里而不是只跑 Demo我这边已有一条本地工作流上传音视频 → 转写 → 出 SRT/JSON → 给剪辑和纪要用。缺的是「人和时间」一次齐。图4 从音视频到 segments 再到字幕/纪要的接入链路接入策略推理层用官方包业务层只吃结构化片段。音视频文件 → moss-transcribe-diarizeTransformers / 本机 /v1/audio/transcriptions → parse_transcriptstart / end / speaker / text → 导出 JSON / SRT / ASS可选 FFmpeg 压字幕 → 纪要、检索、切片共用同一份 segments官方仓库自带mtd-subtitle、mtd-subtitle-web和parse_transcript不必自己造解析器。项目里只做三件事选后端本机 or 平台 Pro、把热词写进 prompt /keyterms、把 segments 接到导出逻辑。没有 GPU 的机器先用官方 Demo 看效果再决定是否部署。社区实测大约6GB 显存能跑开源版官方 H100 基准是服务端吞吐别直接当笔记本预期。1. 下载模型配环境官方在Python 3.12 Transformers 5.x上测过依赖torch2.8。建议干净虚拟环境别塞进旧项目的 Python 3.9。Linux / macOSgitclone https://github.com/OpenMOSS/MOSS-Transcribe-Diarize.gitcdMOSS-Transcribe-Diarize uv venv--python3.12.venvsource.venv/bin/activate uv pipinstall-e.[torch-runtime]--torch-backendautoWindows 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_codeTrue。Attention 加载顺序官方显式策略不要静默降级flash_attention_4→flash_attention_3→flash_attention_2→sdpa→eager落到eager会在长音频里撑出很大的 attention 矩阵。mtd-subtitle/mtd-subtitle-web可用--attn-implementation手动指定。环境官方建议CUDA 13SGLang Omni推荐/v1/audio/transcriptionsCUDA 12vLLMREADME 指定 nightlycu129/cu130先验证效果Transformers 直接generate或官方字幕 WebSGLang 安装请跟官方 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(levellogging.INFO)model_idOpenMOSS-Team/MOSS-Transcribe-Diarizeaudio_pathmeeting_sample.wav# 建议先用 25 分钟、23 人录音deviceresolve_device(auto)dtypetorch.bfloat16ifdevice.typecudaelsetorch.float32 model,attention_reportload_model_with_attention_fallback(model_id,devicedevice,dtypedtype,)modelmodel.to(dtypedtype).to(device).eval()processorAutoProcessor.from_pretrained(model_id,trust_remote_codeTrue)messagesbuild_transcription_messages(audio_path)resultgenerate_transcription(model,processor,messages,max_new_tokens2048,# 长会要加大服务端长音频常见 65536do_sampleFalse,devicedevice,dtypedtype,attention_reportattention_report,)print(result[text])forseginparse_transcript(result[text]):print(seg.start,seg.end,seg.speaker,seg.text)图6 Web UI 分段列表自用平台第一次测别一上来丢 60 分钟。对照这四点换人时[S01]/[S02]有没有跟着换插话、短应答会不会并进前一个人起止时间能不能直接切字幕专有名词错不错错了再上热词短音频max_new_tokens2048够用长会议务必加大否则后半截会被截断。官方服务默认5120长音频示例给到65536。字段含义下游用法start/end秒SRT、对齐画面、跳转播放speakerS01等纪要分栏、声纹映射人名text该段口播检索、摘要、翻译3. 热词人名和产品名别指望模型猜会议里最容易错的是人名、公司名、模型名、中英混写产品名。开源版做法在默认 prompt 后追加「热词提示」。默认 prompt请将音频转写为文本每一段需以起始时间戳和说话人编号[S01]、[S02]、[S03]…开头正文为对应的语音内容并在段末标注结束时间戳以清晰标明该段语音范围。带热词请将音频转写为文本每一段需以起始时间戳和说话人编号[S01]、[S02]、[S03]…开头正文为对应的语音内容并在段末标注结束时间戳以清晰标明该段语音范围。热词提示MOSS-Transcribe-Diarize, 模思智能, SGLang图7 同一音频、同一位置左无热词错字右加热词后对比截图同一段 prompt 可传给build_transcription_messages、mtd-subtitle、mtd-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。本机有ffmpeg和ffprobe时可烧进 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_jsoncurl-XPOST http://localhost:8000/v1/audio/transcriptions\-FmodelOpenMOSS-Team/MOSS-Transcribe-Diarize\-Ffilemeeting_sample.wav\-Fresponse_formatverbose_json\-Fmax_new_tokens65536参数默认说明file必填multipart 音频response_formatjsonjson/verbose_json/textmax_new_tokens5120长音频加大prompt内置转写分人可覆盖、可接热词language不设可选语言提示temperature0.0转写建议 0CUDA 12 走 vLLMvllm serve OpenMOSS-Team/MOSS-Transcribe-Diarize --trust-remote-codeuv pip install必须用 README 里带 hash 的 extra-index版本不对就没有 MTD 模型注册。5. 开源 0.9B 和平台 Pro怎么选官方指标CER / cpCER / Δcp越低越好摘自仓库 README模型AISHELL-4 CERAlimeeting CERPodcast CERMovies CERDoubao18.1825.257.939.94ElevenLabs19.5825.708.5011.49Gemini 2.5 Pro42.7027.437.3815.46Gemini 3 Pro22.7526.75—8.62MTD 0.9B14.8424.865.976.36MTD Pro13.7818.224.465.86图10 0.9B 与 Pro 在 Alimeeting / Podcast 上的差距0.9B 已在会议、播客、影视几项上压过不少商业系统Pro 再往下压尤其 Alimeeting。AISHELL-4 测试集约 3640 分钟、57 个说话人不是单人念稿场景。0.9B 开源版Pro部署本地 GPU浏览器 / API协议Apache 2.0平台服务热词改 promptkeyterms最多 20 个文件本机路径单文件最大 512MB适合开发者、数据不出域创作者、团队、要更稳效果图11 上传音频、moss-transcribe-diarize 模型、segments 结果、keyterms 输入框自用平台Playgroundhttps://platform.mosi.cn/app/playground注册后有体验积分够先跑几条真实录音。云上 API不要把 API Key 写进仓库# 1上传curlhttps://api.mosi.cn/v1/files\-HAuthorization: Bearer$MOSS_API_KEY\-Ffilemeeting_sample.wav\-Fpurposeaudio# 2多说话人转写curlhttps://api.mosi.cn/v1/audio/transcriptions\-HAuthorization: Bearer$MOSS_API_KEY\-HContent-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] }返回含duration、text、segments[].start/end/text/speaker。还支持streamtrueSSE和asynctrue。开源项目里把本地verbose_json和平台diarized_json映射成同一套segments切换后端只改配置。接入时容易踩的坑Python / Transformers 版本旧— 要 3.12 Transformers 5.xtorch 2.8长音频 token 不够— 后半段说话人消失先查max_new_tokensCUDA 12 硬上 SGLang Omni— Omni 面向 CUDA 1312 走 vLLM把[S01]当真人名— 只是轨迹 ID映射人名是业务层热词没传进模型— 本地进 prompt云上进keytermseager attention 长会— 看加载日志选了哪套 kernel测试集也建议分开干净双人访谈、会议室远场、带叠音节目别用一条录音下结论。图12 项目GitHub Star结语0.9B 不靠堆参数靠的是把「听清、分开、打点」收成一次生成。开源仓库从加载、解析、字幕 Web 到兼容接口都齐接到现有项目主要工作量在环境、max_new_tokens、热词和 segments 导出。本地能跑、数据敏感 → 0.9B。想少折腾、要更高上限 → 平台 Pro现在注册还有体验积分。图13 文末 CTA 卡GitHubhttps://github.com/OpenMOSS/MOSS-Transcribe-DiarizeDemohttps://moss-transcribe-diarize-demo.mosi.cn/MOSS开放平台https://platform.mosi.cn#模思智能 #MOSS-Transcribe-Diarize #AI工具 #AI效率工具 #AI语音 #语音识别 #ASR #开源模型 #AIGC