實際影片長度:13:21.024。原文、繁中、雙語可點擊句子跳轉影片。
0:05.208–0:06.824
zh开会更讨厌什么?
0:06.824–0:08.238
zh除了开会本身,
0:08.238–0:10.258
zh大概是会后整理录音。
0:10.258–0:12.682
zh一段一个小时的多人讨论,
0:12.682–0:14.096
zh导出录音之后,
0:14.096–0:16.318
zh你要把它变成会议纪要。
0:17.098–0:20.715
zh传统的语音转写工具确实能帮你把话变成字,
0:20.715–0:23.789
zh但马上你就会撞上一个更头疼的问题,
0:23.789–0:25.778
zh谁在什么时候说了什么?
0:25.778–0:28.598
zh张三里四四个人轮流发言
0:28.598–0:29.998
zh还有插话强话
0:29.998–0:32.358
zh转写出来的文本是一锅粥
0:32.358–0:35.338
zh根本分不清哪句是谁说的
0:35.338–0:38.358
zh这就是所谓说话人分离难题
0:38.358–0:42.058
zh最近复旦的团队放出了一个开源模型
0:42.058–0:44.298
zh叫Mouse Transcribe Diaries
0:44.298–0:48.538
zh他把转写和分离这两件事捏成了一个模型
0:48.538–0:50.338
zh一次推理全部搞定
0:50.338–0:52.138
zh而且准确率把豆包
0:52.138–0:53.038
enGPT
0:53.038–0:53.658
en4O
0:53.658–0:54.398
enGemini
0:54.398–0:55.618
zh都甩在后面
0:55.778–0:57.778
zh这期就来拆一拆它
0:57.778–0:59.878
zh先把问题说清楚
0:59.878–1:01.918
zh语音转写这件事
1:01.918–1:03.838
zh技术上叫ASR
1:03.838–1:05.218
zh自动语音识别
1:05.218–1:07.638
zh单独看其实已经很成熟了
1:07.638–1:10.538
zh你手机输入法的语音转文字就是
1:10.538–1:14.778
zh但真实场景远比一个人对着话筒念要复杂
1:14.778–1:18.938
zh会议、播客、访谈、电话、讲座
1:18.938–1:21.298
zh这些录音有三个共同特征
1:21.298–1:22.858
zh第一、长
1:22.858–1:25.238
zh动不动几十分钟到一个小时
1:25.238–1:29.938
zh第二,人多,两个到十几个人不等,还互相打断
1:29.938–1:36.358
zh第三,杂,有背景噪音,有关门声笑声,还有大段沉默的停顿
1:36.358–1:39.998
zh对这种录音,光把话转成字远远不够
1:39.998–1:44.198
zh你还想知道每句话是谁说的,发生在哪一秒
1:44.198–1:49.438
zh后者,有个专门的名字,叫Dialization,说话人分离
1:49.938–1:52.618
zh传统做法怎么解决这个问题的?
1:53.238–1:54.138
zh拼流水线
1:54.138–1:55.358
zh第一步
1:55.358–1:56.338
zh用VAD
1:56.338–1:58.318
zh也就是语音活动检测
1:58.318–2:01.718
zh把录音切成一小段一小段有人声的片段
2:01.718–2:02.898
zh第二步
2:02.898–2:04.518
zh用ASR模型
2:04.518–2:06.078
zh把每段转成文字
2:06.078–2:07.518
zh第三步
2:07.518–2:10.158
zh再上独立的说话人分离模型
2:10.158–2:12.298
zh给每段贴上说话人标签
2:12.298–2:13.598
zh第四步
2:13.598–2:15.038
zh做时间戳对齐
2:15.038–2:15.998
zh把文字
2:15.998–2:16.918
zh说话人
2:16.918–2:18.878
zh时间这三样东西拼回去
2:18.878–2:20.738
zh听起来挺合理
2:20.738–2:21.818
zh问题在于
2:21.818–2:23.838
zh每一步都是独立的模型
2:23.838–2:25.358
zh每一步都会犯错
2:25.358–2:27.458
zh而且错误会一路累积
2:27.458–2:29.318
zhVAD切错了
2:29.318–2:30.738
zh后面全跟着错
2:30.738–2:33.098
zhASR听差了一个词
2:33.098–2:34.938
zh分离模型也跟着乱
2:34.938–2:36.498
zh更要命的是
2:36.498–2:38.418
zh这些模型各自为正
2:38.418–2:39.998
zh谁也看不到全局
2:39.998–2:44.218
zh比如同一个人的两段画被切到了不同片段
2:44.218–2:47.498
zh分离模型很可能把它们当成两个人
2:47.498–2:50.158
zh这就是模块化方案的死学
2:50.158–2:51.898
zh局部每一步都最优
2:51.898–2:53.618
zh拼起来全局崩盘
2:53.618–2:57.378
zh这次放模型的团队叫OpenMOSS
2:57.378–2:59.418
zh中文名模斯智能
2:59.418–3:03.358
zh是从复旦大学邱熙鹏教授团队孵化出来的
3:03.358–3:06.338
zh邱熙鹏这个名字你可能不熟
3:06.338–3:09.718
zh但他写的那本神经网络与深度学习
3:09.718–3:11.878
zh是国内很多高校的教材
3:11.878–3:15.938
zh他带的团队之前做过一个很有名的对话大模型
3:15.938–3:16.938
zh也叫MOS
3:16.938–3:21.298
zh号称中国第一个LayChatGPT的开源模型
3:21.298–3:25.158
zh所以这支队伍在开源圈是有传统的
3:25.158–3:28.478
zh这次他们做的Mouse Transcribe Diaries
3:28.478–3:30.258
zh参数量0.9B
3:30.258–3:32.878
zh大约9亿完全开源
3:32.878–3:35.078
zh权重放在Hugging Face上
3:35.078–3:37.298
zh协议是Apache 2.0
3:37.298–3:39.538
zh意思是你可以拿去商用
3:39.538–3:40.898
zh不用交一分钱
3:40.898–3:44.058
zh这个体量加上这个开放程度
3:44.058–3:47.478
zh对个人开发者和中小团队特别友好
3:47.478–3:51.498
zh那它凭什么能把转写和分离捏在一起呢
3:51.498–3:52.758
zh看架构
3:52.758–3:56.798
zh它其实是把两个现成的墙模型做了架接
3:56.798–3:58.298
zh音频那一侧
3:58.298–4:00.978
zh用的是Whisper Medium的编码器
4:00.978–4:04.918
zh就是OpenAI那个Whisper的中等版本
4:04.918–4:07.318
zh负责把声音变成声学特征
4:07.318–4:08.778
zh文本那一侧
4:08.778–4:11.978
zh用的是QAM3 0.6B的解码器
4:11.978–4:13.718
zh通一千问的小模型
4:13.718–4:15.758
zh负责生成文字
4:15.758–4:19.198
zh中间用一个适配器把两者连起来
4:19.198–4:21.938
zh把音频特征做四倍的时间压缩
4:21.938–4:24.038
zh再塞进文本模型里去
4:24.038–4:26.738
zh这样做有两个直接的好处
4:26.738–4:27.778
zh第一
4:27.778–4:30.438
zh它能一口气吃下超长音频
4:30.438–4:32.858
zh上下文窗口12万8千
4:32.858–4:33.998
zh换算下来
4:33.998–4:36.518
zh大约能一次处理90分钟的录音
4:36.518–4:37.958
zh完全不用切片
4:37.958–4:39.018
zh第二
4:39.018–4:43.018
zh转写和分离是在同一个模型里联合训练的
4:43.018–4:45.838
zh模型天生就知道这段话是谁的
4:45.838–4:48.238
zh根本不存在事后拼接的问题
4:48.238–4:51.758
zh输入是16000赫兹的单声道音频
4:51.758–4:55.938
zh输出直接就是带说话人标签和时间戳的文本
4:55.938–4:58.398
zh输出的格式非常紧凑
4:58.398–4:59.798
zh一眼就能看懂
4:59.798–5:03.098
zh它把整段录音编码成一个时间流
5:03.098–5:05.418
zh每句话前面标两样东西
5:05.418–5:07.598
zh一个是方括号里的时间戳
5:07.598–5:10.278
zh一个是方括号里的说话人编号
5:10.278–5:11.698
zh举个例子
5:11.698–5:12.718
zh开头几秒
5:12.718–5:14.298
zh方括号0.48
5:14.298–5:15.918
zh方括号S01
5:15.918–5:18.558
zh意思是0.48秒开始
5:18.558–5:20.278
zh说话人1号发言
5:20.278–5:21.918
zh内容是欢迎各位
5:21.918–5:23.818
zh到1.66秒结束
5:23.818–5:26.878
zh紧接着跳到12.26秒
5:26.878–5:28.338
zh方括号S02
5:28.338–5:30.438
zh说话人2号接过话茬
5:30.438–5:34.038
zh这个格式可以直接为给后处理脚本
5:34.038–5:36.018
zh解析成结构化的段落
5:36.018–5:38.218
zh每段都带起始时间
5:38.218–5:39.358
zh结束时间
5:39.358–5:40.798
zh说话人
5:40.798–5:42.258
zh文本这四个字段
5:42.258–5:46.258
zh想导出城JSON还是字幕格式都行
5:46.258–5:48.218
zh对开发者很友好
5:48.218–5:51.558
zh你不用再自己写证则去硬抠时间戳了
5:51.558–5:53.658
zh到了最关键的环节
5:53.658–5:55.058
zh它到底有多准
5:55.058–5:57.958
zh团队在四个基准上做了评测
5:57.958–6:04.858
zh全是真实的长音频多人场景
6:04.858–6:08.338
zh横跨中文会议和英文播客电影
6:08.338–6:11.098
zh核心指标是字符错误率
6:11.098–6:12.198
zh越低越好
6:12.198–6:15.158
zh我挑几个最能说明问题的数字
6:15.158–6:18.838
zh在Azhel 4这个中文会议基准上
6:18.838–6:22.158
zh它的错误率是14.84%
6:22.158–6:22.938
zh作为对比
6:22.938–6:24.818
zh豆包是18.18%
6:24.818–6:28.238
zhGemini 3 Pro是22.75%
6:28.238–6:29.018
zh也就是说
6:29.018–6:31.558
zh它一个0.9B的开源模型
6:31.558–6:35.298
zh把字节和谷歌的商业模型都压在了身下
6:35.298–6:39.038
zh在Movies这个英文电影基准上更夸张
6:39.038–6:42.098
zh它的错误率只有6.36%
6:42.198–6:45.598
zh而GPT4O是14.37
6:45.598–6:47.338
zh豆包是9.94
6:47.338–6:49.998
zh电影对白里有背景音
6:49.998–6:50.898
zh有口音
6:50.898–6:51.778
zh有重叠
6:51.778–6:53.358
zh是最难啃的骨头
6:53.358–6:54.558
zh它照样通吃
6:54.558–6:57.318
zh这里还要特别说一个指标
6:57.318–6:58.678
zh叫德尔塔CP
6:58.678–7:02.098
zh它衡量的是说话人分离的额外代价
7:02.098–7:03.318
zh通俗讲就是
7:03.318–7:05.158
zh为了分清是谁说的
7:05.158–7:06.778
zh你额外多错了多少
7:06.778–7:09.518
zh它的这个值只有0.99
7:09.518–7:10.718
zh几乎为0
7:10.718–7:15.138
zh意味着分清说话人这件事几乎不拖累转写准确率
7:15.138–7:18.778
zh这在传统流水线里是想都不敢想的
7:18.778–7:23.198
zh那它跟现在最流行的开源方案比到底差在哪
7:23.198–7:27.978
zh先说Whisper,OpenAI的老牌选手,能力很强
7:27.978–7:29.438
zh但他只管转写
7:29.438–7:34.498
zh不管分离,你想分清谁说的,得自己再外挂一个模型
7:34.858–7:39.618
zh再说Whisper X,这个是社区里用的最多的组合方案
7:39.618–7:44.858
zh他在Whisper基础上接了VAD和PiNote的分离模型
7:44.858–7:46.998
zh确实能做对齐和分离
7:46.998–7:49.498
zh但本质上还是拼接流水线
7:49.498–7:51.558
zh前面说的错误累积问题
7:51.558–7:53.038
zh他一个都没躲掉
7:53.426–7:55.306
zh最后说PiNote
7:55.306–7:57.186
zh他是专门的分离工具
7:57.186–7:58.486
zh做得相当好
7:58.486–7:59.906
zh但他只管分离
7:59.906–8:01.446
zh转写的另找别人
8:01.446–8:03.186
zh你看出规律了吗
8:03.186–8:06.066
zh传统的整个生态是被切碎的
8:06.066–8:07.306
zh转写归转写
8:07.306–8:08.606
zh分离归分离
8:08.606–8:10.726
zh你像个搬砖工一样
8:10.726–8:11.946
zh把它们拼起来
8:11.946–8:13.846
zh每块砖之间都有缝隙
8:13.846–8:16.686
zhMoth这套做法的价值就在于
8:16.686–8:19.966
zh他把这些砖直接烧成了一整块瓷砖
8:19.966–8:21.826
zh从根上消除了缝隙
8:21.826–8:23.246
zh这么能打
8:23.246–8:24.406
zh部署难不难
8:24.406–8:26.126
zh他给了三条路
8:26.126–8:27.286
zh第一条
8:27.286–8:28.326
zh研究用的
8:28.326–8:31.186
zh直接拿原生Transformers库加载
8:31.186–8:32.526
zh几行Pytho
8:32.526–8:34.406
zhN代码就能跑
8:34.406–8:36.506
zh适合你想看内部细节
8:36.506–8:38.326
zh做二次开发的场景
8:38.326–8:39.526
zh第二条
8:39.526–8:41.406
zh生产环境要高吞吐
8:41.406–8:43.606
zh用SGLine Omni部署
8:43.606–8:46.206
zh这是一个专门的服务框架
8:46.206–8:49.286
zh单张H100显卡就能跑起来
8:49.286–8:50.626
zh并发16路的时候
8:50.626–8:53.066
zh每秒能处理82秒的音频
8:53.066–8:55.986
zh换算成时时率是0.092
8:55.986–9:00.246
zh意味着处理速度是音频播放速度的10倍以上
9:00.246–9:02.366
zh如果走长音频单路
9:02.366–9:05.486
zh时时率最低能压到0.0197
9:05.486–9:08.926
zh也就是处理速度是音频时长的50倍
9:08.926–9:12.206
zh一个小时的录音一分多钟就处理完了
9:12.206–9:13.706
zh第三条
9:13.706–9:15.086
zh用VLLM
9:15.086–9:17.346
zh适合你的环境是Cuda12
9:17.346–9:21.166
zh因为SGLANG OMNI目前要求Cuda13
9:21.166–9:23.806
zhVLLM的兼容性更好
9:23.806–9:25.246
zh三条路
9:25.246–9:26.606
zh从研究到生产
9:26.606–9:29.026
zh基本把各种需求都覆盖了
9:29.026–9:32.406
zh但不是所有人都愿意敲命令型
9:32.406–9:36.006
zh所以团队还做了一个字幕网页应用
9:36.006–9:38.066
zh叫MPD Subtitle Web
9:38.066–9:40.246
zh它就是个浏览器界面
9:40.246–9:42.606
zh你上传一段音频或视频
9:42.606–9:44.126
zh它自动跑模型
9:44.126–9:47.926
zh跑完你能在网页上直接审阅转写结果
9:47.926–9:50.106
zh谁说了什么一目了然
9:50.106–9:52.086
zh审完点一下导出
9:52.086–9:53.386
zh格式随你挑
9:53.386–9:55.406
zhJSON给程序用
9:55.406–9:58.466
zhSRT和S是标准字幕格式
9:58.466–10:00.546
zh直接位给播放器就行
10:00.546–10:04.946
zh甚至还能用Fpack把字幕稍录进视频
10:04.946–10:07.526
zh一键导出一个带字幕的MP4
10:07.526–10:09.966
zh界面支持中文和英文
10:09.966–10:12.626
zh会自动跟着你浏览器的语言走
10:12.626–10:15.526
zh还有个很实用的小功能叫热词
10:15.526–10:17.926
zh如果你录音里有专有名词
10:17.926–10:18.706
zh人名
10:18.706–10:19.846
zh行业术语
10:19.846–10:21.386
zh模型老式识别错
10:21.386–10:24.246
zh你可以在提示词里加几个热词
10:24.246–10:26.566
zh引导它往正确的方向认
10:26.566–10:29.846
zh这对行业内部的录音特别管用
10:29.846–10:32.626
zh这种能力到底能用在哪
10:32.626–10:35.246
zh我自己最看好的几个场景
10:35.246–10:37.326
zh第一会议纪要
10:37.326–10:39.146
zh一个小时的多人会议
10:39.146–10:40.086
zh扔进去
10:40.086–10:43.826
zh几分钟出来一份带说话人和时间戳的全文
10:43.826–10:46.706
zh秘书或者你自己再做摘要就行
10:46.706–10:49.726
zh省下来的时间是实打实的
10:49.726–10:52.446
zh第二播客和视频字幕
10:52.446–10:56.226
zh做内容的人最痛苦的就是给节目上字幕
10:56.226–10:58.706
zh这个工具能直接出SRT
10:58.706–11:00.866
zh连谁说的都给你雕好了
11:00.866–11:02.006
zh第三
11:02.006–11:03.206
zh访谈整理
11:03.206–11:03.986
zh记者
11:03.986–11:05.906
zh研究员做智性访谈
11:05.906–11:08.386
zh几十段录音要转写要编码
11:08.386–11:10.986
zh这是真正能解放生产力的工具
11:10.986–11:12.086
zh第四
11:12.086–11:13.526
zh更专业的领域
11:13.526–11:14.606
zh法庭记录
11:14.606–11:15.686
zh医疗口述
11:15.686–11:16.786
zh客服质检
11:16.786–11:21.546
zh这些对准确率和说话人识别要求都很高的场景
11:21.546–11:25.366
zh他的杀手检就是那90分钟的长上下文
11:25.366–11:27.746
zh意味着绝大部分真实录音
11:27.746–11:29.226
zh它能一口气吃完
11:29.226–11:30.846
zh不用你手动切块
11:30.846–11:32.326
zh想试的话
11:32.326–11:33.706
zh装起来不复杂
11:33.706–11:36.366
zh前提是Python 3.12
11:36.366–11:38.346
zh用UV这个包管理器
11:38.346–11:39.706
zh建一个虚拟环境
11:39.706–11:42.626
zh然后从GitHub客龙仓库
11:42.626–11:45.306
zh一行UVPIP Install装好依赖
11:45.306–11:49.006
zh它会自动帮你处理PyTorch的GPU后端
11:49.006–11:50.946
zh装完有两条路
11:50.946–11:52.986
zh想看代码细节的
11:52.986–11:56.386
zh直接用Transformers加在模型跑推里
11:56.386–11:58.186
zh想跑成服务的
11:58.186–12:03.826
zh用SGLang Omni或者VLLM启动一个API服务
12:03.826–12:07.406
zh调用方式兼容OpenAI那套音频接口
12:07.406–12:10.366
zh你原来用Whisper API的代码
12:10.366–12:12.986
zh改个地址就能直接迁移过来
12:12.986–12:15.646
zh模型权重从Hugging Face拉
12:15.646–12:17.166
zh第一次跑会下载
12:17.166–12:18.466
zh大约两个G
12:18.466–12:22.366
zh最后说一个让这个项目分量很重的头衔
12:22.366–12:25.186
zh这个模型7月9号才开源
12:25.186–12:27.046
zh到现在不到20天
12:27.046–12:29.946
zhGitHub已经冲到1300多star
12:29.946–12:34.646
zh还登上了Trendshift当日Python仓库的第11名
12:34.646–12:36.326
zh更硬的成绩是
12:36.326–12:39.806
zh2026年语音领域的鼎会Interspeech
12:39.806–12:43.626
zh办了第二届多语言低资源语音挑战赛
12:43.626–12:46.526
zh他拿了第一名覆盖14种语言
12:46.526–12:49.166
zh一个久易参数的开源模型
12:49.166–12:53.206
zh在长音频多说话人这个最难的真实场景上
12:53.206–12:56.806
zh同时打赢了准确率和效率两场仗
12:56.806–12:59.126
zh还把代码和权重都敞开了
12:59.126–13:00.726
zh代码在GitHub
13:00.726–13:02.406
zh搜OpenMOSS
13:02.406–13:03.486
zh斜杠
13:03.486–13:06.586
zhMouseTranscribedDiaries就能找到
13:06.586–13:08.146
zh权重在HuggingFace
13:08.146–13:11.226
zh如果你平时要跟长录音打交道
13:11.226–13:12.206
zh做字幕
13:12.206–13:13.126
zh做记要
13:13.126–13:14.446
zh做访谈整理
13:14.446–13:17.606
zh这个工具真的值得装一个试试
13:17.606–13:19.126
zh这期到这里
13:19.126–13:20.326
zh我们下期见
0:05.208–0:06.824
开会更讨厌什么?
0:06.824–0:08.238
除了开会本身,
0:08.238–0:10.258
大概是会后整理录音。
0:10.258–0:12.682
一段一个小时的多人讨论,
0:12.682–0:14.096
导出录音之后,
0:14.096–0:16.318
你要把它变成会议纪要。
0:17.098–0:20.715
传统的语音转写工具确实能帮你把话变成字,
0:20.715–0:23.789
但马上你就会撞上一个更头疼的问题,
0:23.789–0:25.778
谁在什么时候说了什么?
0:25.778–0:28.598
张三里四四个人轮流发言
0:28.598–0:29.998
还有插话强话
0:29.998–0:32.358
转写出来的文本是一锅粥
0:32.358–0:35.338
根本分不清哪句是谁说的
0:35.338–0:38.358
这就是所谓说话人分离难题
0:38.358–0:42.058
最近复旦的团队放出了一个开源模型
0:42.058–0:44.298
叫Mouse Transcribe Diaries
0:44.298–0:48.538
他把转写和分离这两件事捏成了一个模型
0:48.538–0:50.338
一次推理全部搞定
0:50.338–0:52.138
而且准确率把豆包
0:52.138–0:53.038
GPT
0:53.038–0:53.658
4O
0:53.658–0:54.398
Gemini
0:54.398–0:55.618
都甩在后面
0:55.778–0:57.778
这期就来拆一拆它
0:57.778–0:59.878
先把问题说清楚
0:59.878–1:01.918
语音转写这件事
1:01.918–1:03.838
技术上叫ASR
1:03.838–1:05.218
自动语音识别
1:05.218–1:07.638
单独看其实已经很成熟了
1:07.638–1:10.538
你手机输入法的语音转文字就是
1:10.538–1:14.778
但真实场景远比一个人对着话筒念要复杂
1:14.778–1:18.938
会议、播客、访谈、电话、讲座
1:18.938–1:21.298
这些录音有三个共同特征
1:21.298–1:22.858
第一、长
1:22.858–1:25.238
动不动几十分钟到一个小时
1:25.238–1:29.938
第二,人多,两个到十几个人不等,还互相打断
1:29.938–1:36.358
第三,杂,有背景噪音,有关门声笑声,还有大段沉默的停顿
1:36.358–1:39.998
对这种录音,光把话转成字远远不够
1:39.998–1:44.198
你还想知道每句话是谁说的,发生在哪一秒
1:44.198–1:49.438
后者,有个专门的名字,叫Dialization,说话人分离
1:49.938–1:52.618
传统做法怎么解决这个问题的?
1:53.238–1:54.138
拼流水线
1:54.138–1:55.358
第一步
1:55.358–1:56.338
用VAD
1:56.338–1:58.318
也就是语音活动检测
1:58.318–2:01.718
把录音切成一小段一小段有人声的片段
2:01.718–2:02.898
第二步
2:02.898–2:04.518
用ASR模型
2:04.518–2:06.078
把每段转成文字
2:06.078–2:07.518
第三步
2:07.518–2:10.158
再上独立的说话人分离模型
2:10.158–2:12.298
给每段贴上说话人标签
2:12.298–2:13.598
第四步
2:13.598–2:15.038
做时间戳对齐
2:15.038–2:15.998
把文字
2:15.998–2:16.918
说话人
2:16.918–2:18.878
时间这三样东西拼回去
2:18.878–2:20.738
听起来挺合理
2:20.738–2:21.818
问题在于
2:21.818–2:23.838
每一步都是独立的模型
2:23.838–2:25.358
每一步都会犯错
2:25.358–2:27.458
而且错误会一路累积
2:27.458–2:29.318
VAD切错了
2:29.318–2:30.738
后面全跟着错
2:30.738–2:33.098
ASR听差了一个词
2:33.098–2:34.938
分离模型也跟着乱
2:34.938–2:36.498
更要命的是
2:36.498–2:38.418
这些模型各自为正
2:38.418–2:39.998
谁也看不到全局
2:39.998–2:44.218
比如同一个人的两段画被切到了不同片段
2:44.218–2:47.498
分离模型很可能把它们当成两个人
2:47.498–2:50.158
这就是模块化方案的死学
2:50.158–2:51.898
局部每一步都最优
2:51.898–2:53.618
拼起来全局崩盘
2:53.618–2:57.378
这次放模型的团队叫OpenMOSS
2:57.378–2:59.418
中文名模斯智能
2:59.418–3:03.358
是从复旦大学邱熙鹏教授团队孵化出来的
3:03.358–3:06.338
邱熙鹏这个名字你可能不熟
3:06.338–3:09.718
但他写的那本神经网络与深度学习
3:09.718–3:11.878
是国内很多高校的教材
3:11.878–3:15.938
他带的团队之前做过一个很有名的对话大模型
3:15.938–3:16.938
也叫MOS
3:16.938–3:21.298
号称中国第一个LayChatGPT的开源模型
3:21.298–3:25.158
所以这支队伍在开源圈是有传统的
3:25.158–3:28.478
这次他们做的Mouse Transcribe Diaries
3:28.478–3:30.258
参数量0.9B
3:30.258–3:32.878
大约9亿完全开源
3:32.878–3:35.078
权重放在Hugging Face上
3:35.078–3:37.298
协议是Apache 2.0
3:37.298–3:39.538
意思是你可以拿去商用
3:39.538–3:40.898
不用交一分钱
3:40.898–3:44.058
这个体量加上这个开放程度
3:44.058–3:47.478
对个人开发者和中小团队特别友好
3:47.478–3:51.498
那它凭什么能把转写和分离捏在一起呢
3:51.498–3:52.758
看架构
3:52.758–3:56.798
它其实是把两个现成的墙模型做了架接
3:56.798–3:58.298
音频那一侧
3:58.298–4:00.978
用的是Whisper Medium的编码器
4:00.978–4:04.918
就是OpenAI那个Whisper的中等版本
4:04.918–4:07.318
负责把声音变成声学特征
4:07.318–4:08.778
文本那一侧
4:08.778–4:11.978
用的是QAM3 0.6B的解码器
4:11.978–4:13.718
通一千问的小模型
4:13.718–4:15.758
负责生成文字
4:15.758–4:19.198
中间用一个适配器把两者连起来
4:19.198–4:21.938
把音频特征做四倍的时间压缩
4:21.938–4:24.038
再塞进文本模型里去
4:24.038–4:26.738
这样做有两个直接的好处
4:26.738–4:27.778
第一
4:27.778–4:30.438
它能一口气吃下超长音频
4:30.438–4:32.858
上下文窗口12万8千
4:32.858–4:33.998
换算下来
4:33.998–4:36.518
大约能一次处理90分钟的录音
4:36.518–4:37.958
完全不用切片
4:37.958–4:39.018
第二
4:39.018–4:43.018
转写和分离是在同一个模型里联合训练的
4:43.018–4:45.838
模型天生就知道这段话是谁的
4:45.838–4:48.238
根本不存在事后拼接的问题
4:48.238–4:51.758
输入是16000赫兹的单声道音频
4:51.758–4:55.938
输出直接就是带说话人标签和时间戳的文本
4:55.938–4:58.398
输出的格式非常紧凑
4:58.398–4:59.798
一眼就能看懂
4:59.798–5:03.098
它把整段录音编码成一个时间流
5:03.098–5:05.418
每句话前面标两样东西
5:05.418–5:07.598
一个是方括号里的时间戳
5:07.598–5:10.278
一个是方括号里的说话人编号
5:10.278–5:11.698
举个例子
5:11.698–5:12.718
开头几秒
5:12.718–5:14.298
方括号0.48
5:14.298–5:15.918
方括号S01
5:15.918–5:18.558
意思是0.48秒开始
5:18.558–5:20.278
说话人1号发言
5:20.278–5:21.918
内容是欢迎各位
5:21.918–5:23.818
到1.66秒结束
5:23.818–5:26.878
紧接着跳到12.26秒
5:26.878–5:28.338
方括号S02
5:28.338–5:30.438
说话人2号接过话茬
5:30.438–5:34.038
这个格式可以直接为给后处理脚本
5:34.038–5:36.018
解析成结构化的段落
5:36.018–5:38.218
每段都带起始时间
5:38.218–5:39.358
结束时间
5:39.358–5:40.798
说话人
5:40.798–5:42.258
文本这四个字段
5:42.258–5:46.258
想导出城JSON还是字幕格式都行
5:46.258–5:48.218
对开发者很友好
5:48.218–5:51.558
你不用再自己写证则去硬抠时间戳了
5:51.558–5:53.658
到了最关键的环节
5:53.658–5:55.058
它到底有多准
5:55.058–5:57.958
团队在四个基准上做了评测
5:57.958–6:04.858
全是真实的长音频多人场景
6:04.858–6:08.338
横跨中文会议和英文播客电影
6:08.338–6:11.098
核心指标是字符错误率
6:11.098–6:12.198
越低越好
6:12.198–6:15.158
我挑几个最能说明问题的数字
6:15.158–6:18.838
在Azhel 4这个中文会议基准上
6:18.838–6:22.158
它的错误率是14.84%
6:22.158–6:22.938
作为对比
6:22.938–6:24.818
豆包是18.18%
6:24.818–6:28.238
Gemini 3 Pro是22.75%
6:28.238–6:29.018
也就是说
6:29.018–6:31.558
它一个0.9B的开源模型
6:31.558–6:35.298
把字节和谷歌的商业模型都压在了身下
6:35.298–6:39.038
在Movies这个英文电影基准上更夸张
6:39.038–6:42.098
它的错误率只有6.36%
6:42.198–6:45.598
而GPT4O是14.37
6:45.598–6:47.338
豆包是9.94
6:47.338–6:49.998
电影对白里有背景音
6:49.998–6:50.898
有口音
6:50.898–6:51.778
有重叠
6:51.778–6:53.358
是最难啃的骨头
6:53.358–6:54.558
它照样通吃
6:54.558–6:57.318
这里还要特别说一个指标
6:57.318–6:58.678
叫德尔塔CP
6:58.678–7:02.098
它衡量的是说话人分离的额外代价
7:02.098–7:03.318
通俗讲就是
7:03.318–7:05.158
为了分清是谁说的
7:05.158–7:06.778
你额外多错了多少
7:06.778–7:09.518
它的这个值只有0.99
7:09.518–7:10.718
几乎为0
7:10.718–7:15.138
意味着分清说话人这件事几乎不拖累转写准确率
7:15.138–7:18.778
这在传统流水线里是想都不敢想的
7:18.778–7:23.198
那它跟现在最流行的开源方案比到底差在哪
7:23.198–7:27.978
先说Whisper,OpenAI的老牌选手,能力很强
7:27.978–7:29.438
但他只管转写
7:29.438–7:34.498
不管分离,你想分清谁说的,得自己再外挂一个模型
7:34.858–7:39.618
再说Whisper X,这个是社区里用的最多的组合方案
7:39.618–7:44.858
他在Whisper基础上接了VAD和PiNote的分离模型
7:44.858–7:46.998
确实能做对齐和分离
7:46.998–7:49.498
但本质上还是拼接流水线
7:49.498–7:51.558
前面说的错误累积问题
7:51.558–7:53.038
他一个都没躲掉
7:53.426–7:55.306
最后说PiNote
7:55.306–7:57.186
他是专门的分离工具
7:57.186–7:58.486
做得相当好
7:58.486–7:59.906
但他只管分离
7:59.906–8:01.446
转写的另找别人
8:01.446–8:03.186
你看出规律了吗
8:03.186–8:06.066
传统的整个生态是被切碎的
8:06.066–8:07.306
转写归转写
8:07.306–8:08.606
分离归分离
8:08.606–8:10.726
你像个搬砖工一样
8:10.726–8:11.946
把它们拼起来
8:11.946–8:13.846
每块砖之间都有缝隙
8:13.846–8:16.686
Moth这套做法的价值就在于
8:16.686–8:19.966
他把这些砖直接烧成了一整块瓷砖
8:19.966–8:21.826
从根上消除了缝隙
8:21.826–8:23.246
这么能打
8:23.246–8:24.406
部署难不难
8:24.406–8:26.126
他给了三条路
8:26.126–8:27.286
第一条
8:27.286–8:28.326
研究用的
8:28.326–8:31.186
直接拿原生Transformers库加载
8:31.186–8:32.526
几行Pytho
8:32.526–8:34.406
N代码就能跑
8:34.406–8:36.506
适合你想看内部细节
8:36.506–8:38.326
做二次开发的场景
8:38.326–8:39.526
第二条
8:39.526–8:41.406
生产环境要高吞吐
8:41.406–8:43.606
用SGLine Omni部署
8:43.606–8:46.206
这是一个专门的服务框架
8:46.206–8:49.286
单张H100显卡就能跑起来
8:49.286–8:50.626
并发16路的时候
8:50.626–8:53.066
每秒能处理82秒的音频
8:53.066–8:55.986
换算成时时率是0.092
8:55.986–9:00.246
意味着处理速度是音频播放速度的10倍以上
9:00.246–9:02.366
如果走长音频单路
9:02.366–9:05.486
时时率最低能压到0.0197
9:05.486–9:08.926
也就是处理速度是音频时长的50倍
9:08.926–9:12.206
一个小时的录音一分多钟就处理完了
9:12.206–9:13.706
第三条
9:13.706–9:15.086
用VLLM
9:15.086–9:17.346
适合你的环境是Cuda12
9:17.346–9:21.166
因为SGLANG OMNI目前要求Cuda13
9:21.166–9:23.806
VLLM的兼容性更好
9:23.806–9:25.246
三条路
9:25.246–9:26.606
从研究到生产
9:26.606–9:29.026
基本把各种需求都覆盖了
9:29.026–9:32.406
但不是所有人都愿意敲命令型
9:32.406–9:36.006
所以团队还做了一个字幕网页应用
9:36.006–9:38.066
叫MPD Subtitle Web
9:38.066–9:40.246
它就是个浏览器界面
9:40.246–9:42.606
你上传一段音频或视频
9:42.606–9:44.126
它自动跑模型
9:44.126–9:47.926
跑完你能在网页上直接审阅转写结果
9:47.926–9:50.106
谁说了什么一目了然
9:50.106–9:52.086
审完点一下导出
9:52.086–9:53.386
格式随你挑
9:53.386–9:55.406
JSON给程序用
9:55.406–9:58.466
SRT和S是标准字幕格式
9:58.466–10:00.546
直接位给播放器就行
10:00.546–10:04.946
甚至还能用Fpack把字幕稍录进视频
10:04.946–10:07.526
一键导出一个带字幕的MP4
10:07.526–10:09.966
界面支持中文和英文
10:09.966–10:12.626
会自动跟着你浏览器的语言走
10:12.626–10:15.526
还有个很实用的小功能叫热词
10:15.526–10:17.926
如果你录音里有专有名词
10:17.926–10:18.706
人名
10:18.706–10:19.846
行业术语
10:19.846–10:21.386
模型老式识别错
10:21.386–10:24.246
你可以在提示词里加几个热词
10:24.246–10:26.566
引导它往正确的方向认
10:26.566–10:29.846
这对行业内部的录音特别管用
10:29.846–10:32.626
这种能力到底能用在哪
10:32.626–10:35.246
我自己最看好的几个场景
10:35.246–10:37.326
第一会议纪要
10:37.326–10:39.146
一个小时的多人会议
10:39.146–10:40.086
扔进去
10:40.086–10:43.826
几分钟出来一份带说话人和时间戳的全文
10:43.826–10:46.706
秘书或者你自己再做摘要就行
10:46.706–10:49.726
省下来的时间是实打实的
10:49.726–10:52.446
第二播客和视频字幕
10:52.446–10:56.226
做内容的人最痛苦的就是给节目上字幕
10:56.226–10:58.706
这个工具能直接出SRT
10:58.706–11:00.866
连谁说的都给你雕好了
11:00.866–11:02.006
第三
11:02.006–11:03.206
访谈整理
11:03.206–11:03.986
记者
11:03.986–11:05.906
研究员做智性访谈
11:05.906–11:08.386
几十段录音要转写要编码
11:08.386–11:10.986
这是真正能解放生产力的工具
11:10.986–11:12.086
第四
11:12.086–11:13.526
更专业的领域
11:13.526–11:14.606
法庭记录
11:14.606–11:15.686
医疗口述
11:15.686–11:16.786
客服质检
11:16.786–11:21.546
这些对准确率和说话人识别要求都很高的场景
11:21.546–11:25.366
他的杀手检就是那90分钟的长上下文
11:25.366–11:27.746
意味着绝大部分真实录音
11:27.746–11:29.226
它能一口气吃完
11:29.226–11:30.846
不用你手动切块
11:30.846–11:32.326
想试的话
11:32.326–11:33.706
装起来不复杂
11:33.706–11:36.366
前提是Python 3.12
11:36.366–11:38.346
用UV这个包管理器
11:38.346–11:39.706
建一个虚拟环境
11:39.706–11:42.626
然后从GitHub客龙仓库
11:42.626–11:45.306
一行UVPIP Install装好依赖
11:45.306–11:49.006
它会自动帮你处理PyTorch的GPU后端
11:49.006–11:50.946
装完有两条路
11:50.946–11:52.986
想看代码细节的
11:52.986–11:56.386
直接用Transformers加在模型跑推里
11:56.386–11:58.186
想跑成服务的
11:58.186–12:03.826
用SGLang Omni或者VLLM启动一个API服务
12:03.826–12:07.406
调用方式兼容OpenAI那套音频接口
12:07.406–12:10.366
你原来用Whisper API的代码
12:10.366–12:12.986
改个地址就能直接迁移过来
12:12.986–12:15.646
模型权重从Hugging Face拉
12:15.646–12:17.166
第一次跑会下载
12:17.166–12:18.466
大约两个G
12:18.466–12:22.366
最后说一个让这个项目分量很重的头衔
12:22.366–12:25.186
这个模型7月9号才开源
12:25.186–12:27.046
到现在不到20天
12:27.046–12:29.946
GitHub已经冲到1300多star
12:29.946–12:34.646
还登上了Trendshift当日Python仓库的第11名
12:34.646–12:36.326
更硬的成绩是
12:36.326–12:39.806
2026年语音领域的鼎会Interspeech
12:39.806–12:43.626
办了第二届多语言低资源语音挑战赛
12:43.626–12:46.526
他拿了第一名覆盖14种语言
12:46.526–12:49.166
一个久易参数的开源模型
12:49.166–12:53.206
在长音频多说话人这个最难的真实场景上
12:53.206–12:56.806
同时打赢了准确率和效率两场仗
12:56.806–12:59.126
还把代码和权重都敞开了
12:59.126–13:00.726
代码在GitHub
13:00.726–13:02.406
搜OpenMOSS
13:02.406–13:03.486
斜杠
13:03.486–13:06.586
MouseTranscribedDiaries就能找到
13:06.586–13:08.146
权重在HuggingFace
13:08.146–13:11.226
如果你平时要跟长录音打交道
13:11.226–13:12.206
做字幕
13:12.206–13:13.126
做记要
13:13.126–13:14.446
做访谈整理
13:14.446–13:17.606
这个工具真的值得装一个试试
13:17.606–13:19.126
这期到这里
13:19.126–13:20.326
我们下期见
0:05.208–0:06.824
zh开会更讨厌什么?
开会更讨厌什么?
0:06.824–0:08.238
zh除了开会本身,
除了开会本身,
0:08.238–0:10.258
zh大概是会后整理录音。
大概是会后整理录音。
0:10.258–0:12.682
zh一段一个小时的多人讨论,
一段一个小时的多人讨论,
0:12.682–0:14.096
zh导出录音之后,
导出录音之后,
0:14.096–0:16.318
zh你要把它变成会议纪要。
你要把它变成会议纪要。
0:17.098–0:20.715
zh传统的语音转写工具确实能帮你把话变成字,
传统的语音转写工具确实能帮你把话变成字,
0:20.715–0:23.789
zh但马上你就会撞上一个更头疼的问题,
但马上你就会撞上一个更头疼的问题,
0:23.789–0:25.778
zh谁在什么时候说了什么?
谁在什么时候说了什么?
0:25.778–0:28.598
zh张三里四四个人轮流发言
张三里四四个人轮流发言
0:28.598–0:29.998
zh还有插话强话
还有插话强话
0:29.998–0:32.358
zh转写出来的文本是一锅粥
转写出来的文本是一锅粥
0:32.358–0:35.338
zh根本分不清哪句是谁说的
根本分不清哪句是谁说的
0:35.338–0:38.358
zh这就是所谓说话人分离难题
这就是所谓说话人分离难题
0:38.358–0:42.058
zh最近复旦的团队放出了一个开源模型
最近复旦的团队放出了一个开源模型
0:42.058–0:44.298
zh叫Mouse Transcribe Diaries
叫Mouse Transcribe Diaries
0:44.298–0:48.538
zh他把转写和分离这两件事捏成了一个模型
他把转写和分离这两件事捏成了一个模型
0:48.538–0:50.338
zh一次推理全部搞定
一次推理全部搞定
0:50.338–0:52.138
zh而且准确率把豆包
而且准确率把豆包
0:52.138–0:53.038
enGPT
GPT
0:53.038–0:53.658
en4O
4O
0:53.658–0:54.398
enGemini
Gemini
0:54.398–0:55.618
zh都甩在后面
都甩在后面
0:55.778–0:57.778
zh这期就来拆一拆它
这期就来拆一拆它
0:57.778–0:59.878
zh先把问题说清楚
先把问题说清楚
0:59.878–1:01.918
zh语音转写这件事
语音转写这件事
1:01.918–1:03.838
zh技术上叫ASR
技术上叫ASR
1:03.838–1:05.218
zh自动语音识别
自动语音识别
1:05.218–1:07.638
zh单独看其实已经很成熟了
单独看其实已经很成熟了
1:07.638–1:10.538
zh你手机输入法的语音转文字就是
你手机输入法的语音转文字就是
1:10.538–1:14.778
zh但真实场景远比一个人对着话筒念要复杂
但真实场景远比一个人对着话筒念要复杂
1:14.778–1:18.938
zh会议、播客、访谈、电话、讲座
会议、播客、访谈、电话、讲座
1:18.938–1:21.298
zh这些录音有三个共同特征
这些录音有三个共同特征
1:21.298–1:22.858
zh第一、长
第一、长
1:22.858–1:25.238
zh动不动几十分钟到一个小时
动不动几十分钟到一个小时
1:25.238–1:29.938
zh第二,人多,两个到十几个人不等,还互相打断
第二,人多,两个到十几个人不等,还互相打断
1:29.938–1:36.358
zh第三,杂,有背景噪音,有关门声笑声,还有大段沉默的停顿
第三,杂,有背景噪音,有关门声笑声,还有大段沉默的停顿
1:36.358–1:39.998
zh对这种录音,光把话转成字远远不够
对这种录音,光把话转成字远远不够
1:39.998–1:44.198
zh你还想知道每句话是谁说的,发生在哪一秒
你还想知道每句话是谁说的,发生在哪一秒
1:44.198–1:49.438
zh后者,有个专门的名字,叫Dialization,说话人分离
后者,有个专门的名字,叫Dialization,说话人分离
1:49.938–1:52.618
zh传统做法怎么解决这个问题的?
传统做法怎么解决这个问题的?
1:53.238–1:54.138
zh拼流水线
拼流水线
1:54.138–1:55.358
zh第一步
第一步
1:55.358–1:56.338
zh用VAD
用VAD
1:56.338–1:58.318
zh也就是语音活动检测
也就是语音活动检测
1:58.318–2:01.718
zh把录音切成一小段一小段有人声的片段
把录音切成一小段一小段有人声的片段
2:01.718–2:02.898
zh第二步
第二步
2:02.898–2:04.518
zh用ASR模型
用ASR模型
2:04.518–2:06.078
zh把每段转成文字
把每段转成文字
2:06.078–2:07.518
zh第三步
第三步
2:07.518–2:10.158
zh再上独立的说话人分离模型
再上独立的说话人分离模型
2:10.158–2:12.298
zh给每段贴上说话人标签
给每段贴上说话人标签
2:12.298–2:13.598
zh第四步
第四步
2:13.598–2:15.038
zh做时间戳对齐
做时间戳对齐
2:15.038–2:15.998
zh把文字
把文字
2:15.998–2:16.918
zh说话人
说话人
2:16.918–2:18.878
zh时间这三样东西拼回去
时间这三样东西拼回去
2:18.878–2:20.738
zh听起来挺合理
听起来挺合理
2:20.738–2:21.818
zh问题在于
问题在于
2:21.818–2:23.838
zh每一步都是独立的模型
每一步都是独立的模型
2:23.838–2:25.358
zh每一步都会犯错
每一步都会犯错
2:25.358–2:27.458
zh而且错误会一路累积
而且错误会一路累积
2:27.458–2:29.318
zhVAD切错了
VAD切错了
2:29.318–2:30.738
zh后面全跟着错
后面全跟着错
2:30.738–2:33.098
zhASR听差了一个词
ASR听差了一个词
2:33.098–2:34.938
zh分离模型也跟着乱
分离模型也跟着乱
2:34.938–2:36.498
zh更要命的是
更要命的是
2:36.498–2:38.418
zh这些模型各自为正
这些模型各自为正
2:38.418–2:39.998
zh谁也看不到全局
谁也看不到全局
2:39.998–2:44.218
zh比如同一个人的两段画被切到了不同片段
比如同一个人的两段画被切到了不同片段
2:44.218–2:47.498
zh分离模型很可能把它们当成两个人
分离模型很可能把它们当成两个人
2:47.498–2:50.158
zh这就是模块化方案的死学
这就是模块化方案的死学
2:50.158–2:51.898
zh局部每一步都最优
局部每一步都最优
2:51.898–2:53.618
zh拼起来全局崩盘
拼起来全局崩盘
2:53.618–2:57.378
zh这次放模型的团队叫OpenMOSS
这次放模型的团队叫OpenMOSS
2:57.378–2:59.418
zh中文名模斯智能
中文名模斯智能
2:59.418–3:03.358
zh是从复旦大学邱熙鹏教授团队孵化出来的
是从复旦大学邱熙鹏教授团队孵化出来的
3:03.358–3:06.338
zh邱熙鹏这个名字你可能不熟
邱熙鹏这个名字你可能不熟
3:06.338–3:09.718
zh但他写的那本神经网络与深度学习
但他写的那本神经网络与深度学习
3:09.718–3:11.878
zh是国内很多高校的教材
是国内很多高校的教材
3:11.878–3:15.938
zh他带的团队之前做过一个很有名的对话大模型
他带的团队之前做过一个很有名的对话大模型
3:15.938–3:16.938
zh也叫MOS
也叫MOS
3:16.938–3:21.298
zh号称中国第一个LayChatGPT的开源模型
号称中国第一个LayChatGPT的开源模型
3:21.298–3:25.158
zh所以这支队伍在开源圈是有传统的
所以这支队伍在开源圈是有传统的
3:25.158–3:28.478
zh这次他们做的Mouse Transcribe Diaries
这次他们做的Mouse Transcribe Diaries
3:28.478–3:30.258
zh参数量0.9B
参数量0.9B
3:30.258–3:32.878
zh大约9亿完全开源
大约9亿完全开源
3:32.878–3:35.078
zh权重放在Hugging Face上
权重放在Hugging Face上
3:35.078–3:37.298
zh协议是Apache 2.0
协议是Apache 2.0
3:37.298–3:39.538
zh意思是你可以拿去商用
意思是你可以拿去商用
3:39.538–3:40.898
zh不用交一分钱
不用交一分钱
3:40.898–3:44.058
zh这个体量加上这个开放程度
这个体量加上这个开放程度
3:44.058–3:47.478
zh对个人开发者和中小团队特别友好
对个人开发者和中小团队特别友好
3:47.478–3:51.498
zh那它凭什么能把转写和分离捏在一起呢
那它凭什么能把转写和分离捏在一起呢
3:51.498–3:52.758
zh看架构
看架构
3:52.758–3:56.798
zh它其实是把两个现成的墙模型做了架接
它其实是把两个现成的墙模型做了架接
3:56.798–3:58.298
zh音频那一侧
音频那一侧
3:58.298–4:00.978
zh用的是Whisper Medium的编码器
用的是Whisper Medium的编码器
4:00.978–4:04.918
zh就是OpenAI那个Whisper的中等版本
就是OpenAI那个Whisper的中等版本
4:04.918–4:07.318
zh负责把声音变成声学特征
负责把声音变成声学特征
4:07.318–4:08.778
zh文本那一侧
文本那一侧
4:08.778–4:11.978
zh用的是QAM3 0.6B的解码器
用的是QAM3 0.6B的解码器
4:11.978–4:13.718
zh通一千问的小模型
通一千问的小模型
4:13.718–4:15.758
zh负责生成文字
负责生成文字
4:15.758–4:19.198
zh中间用一个适配器把两者连起来
中间用一个适配器把两者连起来
4:19.198–4:21.938
zh把音频特征做四倍的时间压缩
把音频特征做四倍的时间压缩
4:21.938–4:24.038
zh再塞进文本模型里去
再塞进文本模型里去
4:24.038–4:26.738
zh这样做有两个直接的好处
这样做有两个直接的好处
4:26.738–4:27.778
zh第一
第一
4:27.778–4:30.438
zh它能一口气吃下超长音频
它能一口气吃下超长音频
4:30.438–4:32.858
zh上下文窗口12万8千
上下文窗口12万8千
4:32.858–4:33.998
zh换算下来
换算下来
4:33.998–4:36.518
zh大约能一次处理90分钟的录音
大约能一次处理90分钟的录音
4:36.518–4:37.958
zh完全不用切片
完全不用切片
4:37.958–4:39.018
zh第二
第二
4:39.018–4:43.018
zh转写和分离是在同一个模型里联合训练的
转写和分离是在同一个模型里联合训练的
4:43.018–4:45.838
zh模型天生就知道这段话是谁的
模型天生就知道这段话是谁的
4:45.838–4:48.238
zh根本不存在事后拼接的问题
根本不存在事后拼接的问题
4:48.238–4:51.758
zh输入是16000赫兹的单声道音频
输入是16000赫兹的单声道音频
4:51.758–4:55.938
zh输出直接就是带说话人标签和时间戳的文本
输出直接就是带说话人标签和时间戳的文本
4:55.938–4:58.398
zh输出的格式非常紧凑
输出的格式非常紧凑
4:58.398–4:59.798
zh一眼就能看懂
一眼就能看懂
4:59.798–5:03.098
zh它把整段录音编码成一个时间流
它把整段录音编码成一个时间流
5:03.098–5:05.418
zh每句话前面标两样东西
每句话前面标两样东西
5:05.418–5:07.598
zh一个是方括号里的时间戳
一个是方括号里的时间戳
5:07.598–5:10.278
zh一个是方括号里的说话人编号
一个是方括号里的说话人编号
5:10.278–5:11.698
zh举个例子
举个例子
5:11.698–5:12.718
zh开头几秒
开头几秒
5:12.718–5:14.298
zh方括号0.48
方括号0.48
5:14.298–5:15.918
zh方括号S01
方括号S01
5:15.918–5:18.558
zh意思是0.48秒开始
意思是0.48秒开始
5:18.558–5:20.278
zh说话人1号发言
说话人1号发言
5:20.278–5:21.918
zh内容是欢迎各位
内容是欢迎各位
5:21.918–5:23.818
zh到1.66秒结束
到1.66秒结束
5:23.818–5:26.878
zh紧接着跳到12.26秒
紧接着跳到12.26秒
5:26.878–5:28.338
zh方括号S02
方括号S02
5:28.338–5:30.438
zh说话人2号接过话茬
说话人2号接过话茬
5:30.438–5:34.038
zh这个格式可以直接为给后处理脚本
这个格式可以直接为给后处理脚本
5:34.038–5:36.018
zh解析成结构化的段落
解析成结构化的段落
5:36.018–5:38.218
zh每段都带起始时间
每段都带起始时间
5:38.218–5:39.358
zh结束时间
结束时间
5:39.358–5:40.798
zh说话人
说话人
5:40.798–5:42.258
zh文本这四个字段
文本这四个字段
5:42.258–5:46.258
zh想导出城JSON还是字幕格式都行
想导出城JSON还是字幕格式都行
5:46.258–5:48.218
zh对开发者很友好
对开发者很友好
5:48.218–5:51.558
zh你不用再自己写证则去硬抠时间戳了
你不用再自己写证则去硬抠时间戳了
5:51.558–5:53.658
zh到了最关键的环节
到了最关键的环节
5:53.658–5:55.058
zh它到底有多准
它到底有多准
5:55.058–5:57.958
zh团队在四个基准上做了评测
团队在四个基准上做了评测
5:57.958–6:04.858
zh全是真实的长音频多人场景
全是真实的长音频多人场景
6:04.858–6:08.338
zh横跨中文会议和英文播客电影
横跨中文会议和英文播客电影
6:08.338–6:11.098
zh核心指标是字符错误率
核心指标是字符错误率
6:11.098–6:12.198
zh越低越好
越低越好
6:12.198–6:15.158
zh我挑几个最能说明问题的数字
我挑几个最能说明问题的数字
6:15.158–6:18.838
zh在Azhel 4这个中文会议基准上
在Azhel 4这个中文会议基准上
6:18.838–6:22.158
zh它的错误率是14.84%
它的错误率是14.84%
6:22.158–6:22.938
zh作为对比
作为对比
6:22.938–6:24.818
zh豆包是18.18%
豆包是18.18%
6:24.818–6:28.238
zhGemini 3 Pro是22.75%
Gemini 3 Pro是22.75%
6:28.238–6:29.018
zh也就是说
也就是说
6:29.018–6:31.558
zh它一个0.9B的开源模型
它一个0.9B的开源模型
6:31.558–6:35.298
zh把字节和谷歌的商业模型都压在了身下
把字节和谷歌的商业模型都压在了身下
6:35.298–6:39.038
zh在Movies这个英文电影基准上更夸张
在Movies这个英文电影基准上更夸张
6:39.038–6:42.098
zh它的错误率只有6.36%
它的错误率只有6.36%
6:42.198–6:45.598
zh而GPT4O是14.37
而GPT4O是14.37
6:45.598–6:47.338
zh豆包是9.94
豆包是9.94
6:47.338–6:49.998
zh电影对白里有背景音
电影对白里有背景音
6:49.998–6:50.898
zh有口音
有口音
6:50.898–6:51.778
zh有重叠
有重叠
6:51.778–6:53.358
zh是最难啃的骨头
是最难啃的骨头
6:53.358–6:54.558
zh它照样通吃
它照样通吃
6:54.558–6:57.318
zh这里还要特别说一个指标
这里还要特别说一个指标
6:57.318–6:58.678
zh叫德尔塔CP
叫德尔塔CP
6:58.678–7:02.098
zh它衡量的是说话人分离的额外代价
它衡量的是说话人分离的额外代价
7:02.098–7:03.318
zh通俗讲就是
通俗讲就是
7:03.318–7:05.158
zh为了分清是谁说的
为了分清是谁说的
7:05.158–7:06.778
zh你额外多错了多少
你额外多错了多少
7:06.778–7:09.518
zh它的这个值只有0.99
它的这个值只有0.99
7:09.518–7:10.718
zh几乎为0
几乎为0
7:10.718–7:15.138
zh意味着分清说话人这件事几乎不拖累转写准确率
意味着分清说话人这件事几乎不拖累转写准确率
7:15.138–7:18.778
zh这在传统流水线里是想都不敢想的
这在传统流水线里是想都不敢想的
7:18.778–7:23.198
zh那它跟现在最流行的开源方案比到底差在哪
那它跟现在最流行的开源方案比到底差在哪
7:23.198–7:27.978
zh先说Whisper,OpenAI的老牌选手,能力很强
先说Whisper,OpenAI的老牌选手,能力很强
7:27.978–7:29.438
zh但他只管转写
但他只管转写
7:29.438–7:34.498
zh不管分离,你想分清谁说的,得自己再外挂一个模型
不管分离,你想分清谁说的,得自己再外挂一个模型
7:34.858–7:39.618
zh再说Whisper X,这个是社区里用的最多的组合方案
再说Whisper X,这个是社区里用的最多的组合方案
7:39.618–7:44.858
zh他在Whisper基础上接了VAD和PiNote的分离模型
他在Whisper基础上接了VAD和PiNote的分离模型
7:44.858–7:46.998
zh确实能做对齐和分离
确实能做对齐和分离
7:46.998–7:49.498
zh但本质上还是拼接流水线
但本质上还是拼接流水线
7:49.498–7:51.558
zh前面说的错误累积问题
前面说的错误累积问题
7:51.558–7:53.038
zh他一个都没躲掉
他一个都没躲掉
7:53.426–7:55.306
zh最后说PiNote
最后说PiNote
7:55.306–7:57.186
zh他是专门的分离工具
他是专门的分离工具
7:57.186–7:58.486
zh做得相当好
做得相当好
7:58.486–7:59.906
zh但他只管分离
但他只管分离
7:59.906–8:01.446
zh转写的另找别人
转写的另找别人
8:01.446–8:03.186
zh你看出规律了吗
你看出规律了吗
8:03.186–8:06.066
zh传统的整个生态是被切碎的
传统的整个生态是被切碎的
8:06.066–8:07.306
zh转写归转写
转写归转写
8:07.306–8:08.606
zh分离归分离
分离归分离
8:08.606–8:10.726
zh你像个搬砖工一样
你像个搬砖工一样
8:10.726–8:11.946
zh把它们拼起来
把它们拼起来
8:11.946–8:13.846
zh每块砖之间都有缝隙
每块砖之间都有缝隙
8:13.846–8:16.686
zhMoth这套做法的价值就在于
Moth这套做法的价值就在于
8:16.686–8:19.966
zh他把这些砖直接烧成了一整块瓷砖
他把这些砖直接烧成了一整块瓷砖
8:19.966–8:21.826
zh从根上消除了缝隙
从根上消除了缝隙
8:21.826–8:23.246
zh这么能打
这么能打
8:23.246–8:24.406
zh部署难不难
部署难不难
8:24.406–8:26.126
zh他给了三条路
他给了三条路
8:26.126–8:27.286
zh第一条
第一条
8:27.286–8:28.326
zh研究用的
研究用的
8:28.326–8:31.186
zh直接拿原生Transformers库加载
直接拿原生Transformers库加载
8:31.186–8:32.526
zh几行Pytho
几行Pytho
8:32.526–8:34.406
zhN代码就能跑
N代码就能跑
8:34.406–8:36.506
zh适合你想看内部细节
适合你想看内部细节
8:36.506–8:38.326
zh做二次开发的场景
做二次开发的场景
8:38.326–8:39.526
zh第二条
第二条
8:39.526–8:41.406
zh生产环境要高吞吐
生产环境要高吞吐
8:41.406–8:43.606
zh用SGLine Omni部署
用SGLine Omni部署
8:43.606–8:46.206
zh这是一个专门的服务框架
这是一个专门的服务框架
8:46.206–8:49.286
zh单张H100显卡就能跑起来
单张H100显卡就能跑起来
8:49.286–8:50.626
zh并发16路的时候
并发16路的时候
8:50.626–8:53.066
zh每秒能处理82秒的音频
每秒能处理82秒的音频
8:53.066–8:55.986
zh换算成时时率是0.092
换算成时时率是0.092
8:55.986–9:00.246
zh意味着处理速度是音频播放速度的10倍以上
意味着处理速度是音频播放速度的10倍以上
9:00.246–9:02.366
zh如果走长音频单路
如果走长音频单路
9:02.366–9:05.486
zh时时率最低能压到0.0197
时时率最低能压到0.0197
9:05.486–9:08.926
zh也就是处理速度是音频时长的50倍
也就是处理速度是音频时长的50倍
9:08.926–9:12.206
zh一个小时的录音一分多钟就处理完了
一个小时的录音一分多钟就处理完了
9:12.206–9:13.706
zh第三条
第三条
9:13.706–9:15.086
zh用VLLM
用VLLM
9:15.086–9:17.346
zh适合你的环境是Cuda12
适合你的环境是Cuda12
9:17.346–9:21.166
zh因为SGLANG OMNI目前要求Cuda13
因为SGLANG OMNI目前要求Cuda13
9:21.166–9:23.806
zhVLLM的兼容性更好
VLLM的兼容性更好
9:23.806–9:25.246
zh三条路
三条路
9:25.246–9:26.606
zh从研究到生产
从研究到生产
9:26.606–9:29.026
zh基本把各种需求都覆盖了
基本把各种需求都覆盖了
9:29.026–9:32.406
zh但不是所有人都愿意敲命令型
但不是所有人都愿意敲命令型
9:32.406–9:36.006
zh所以团队还做了一个字幕网页应用
所以团队还做了一个字幕网页应用
9:36.006–9:38.066
zh叫MPD Subtitle Web
叫MPD Subtitle Web
9:38.066–9:40.246
zh它就是个浏览器界面
它就是个浏览器界面
9:40.246–9:42.606
zh你上传一段音频或视频
你上传一段音频或视频
9:42.606–9:44.126
zh它自动跑模型
它自动跑模型
9:44.126–9:47.926
zh跑完你能在网页上直接审阅转写结果
跑完你能在网页上直接审阅转写结果
9:47.926–9:50.106
zh谁说了什么一目了然
谁说了什么一目了然
9:50.106–9:52.086
zh审完点一下导出
审完点一下导出
9:52.086–9:53.386
zh格式随你挑
格式随你挑
9:53.386–9:55.406
zhJSON给程序用
JSON给程序用
9:55.406–9:58.466
zhSRT和S是标准字幕格式
SRT和S是标准字幕格式
9:58.466–10:00.546
zh直接位给播放器就行
直接位给播放器就行
10:00.546–10:04.946
zh甚至还能用Fpack把字幕稍录进视频
甚至还能用Fpack把字幕稍录进视频
10:04.946–10:07.526
zh一键导出一个带字幕的MP4
一键导出一个带字幕的MP4
10:07.526–10:09.966
zh界面支持中文和英文
界面支持中文和英文
10:09.966–10:12.626
zh会自动跟着你浏览器的语言走
会自动跟着你浏览器的语言走
10:12.626–10:15.526
zh还有个很实用的小功能叫热词
还有个很实用的小功能叫热词
10:15.526–10:17.926
zh如果你录音里有专有名词
如果你录音里有专有名词
10:17.926–10:18.706
zh人名
人名
10:18.706–10:19.846
zh行业术语
行业术语
10:19.846–10:21.386
zh模型老式识别错
模型老式识别错
10:21.386–10:24.246
zh你可以在提示词里加几个热词
你可以在提示词里加几个热词
10:24.246–10:26.566
zh引导它往正确的方向认
引导它往正确的方向认
10:26.566–10:29.846
zh这对行业内部的录音特别管用
这对行业内部的录音特别管用
10:29.846–10:32.626
zh这种能力到底能用在哪
这种能力到底能用在哪
10:32.626–10:35.246
zh我自己最看好的几个场景
我自己最看好的几个场景
10:35.246–10:37.326
zh第一会议纪要
第一会议纪要
10:37.326–10:39.146
zh一个小时的多人会议
一个小时的多人会议
10:39.146–10:40.086
zh扔进去
扔进去
10:40.086–10:43.826
zh几分钟出来一份带说话人和时间戳的全文
几分钟出来一份带说话人和时间戳的全文
10:43.826–10:46.706
zh秘书或者你自己再做摘要就行
秘书或者你自己再做摘要就行
10:46.706–10:49.726
zh省下来的时间是实打实的
省下来的时间是实打实的
10:49.726–10:52.446
zh第二播客和视频字幕
第二播客和视频字幕
10:52.446–10:56.226
zh做内容的人最痛苦的就是给节目上字幕
做内容的人最痛苦的就是给节目上字幕
10:56.226–10:58.706
zh这个工具能直接出SRT
这个工具能直接出SRT
10:58.706–11:00.866
zh连谁说的都给你雕好了
连谁说的都给你雕好了
11:00.866–11:02.006
zh第三
第三
11:02.006–11:03.206
zh访谈整理
访谈整理
11:03.206–11:03.986
zh记者
记者
11:03.986–11:05.906
zh研究员做智性访谈
研究员做智性访谈
11:05.906–11:08.386
zh几十段录音要转写要编码
几十段录音要转写要编码
11:08.386–11:10.986
zh这是真正能解放生产力的工具
这是真正能解放生产力的工具
11:10.986–11:12.086
zh第四
第四
11:12.086–11:13.526
zh更专业的领域
更专业的领域
11:13.526–11:14.606
zh法庭记录
法庭记录
11:14.606–11:15.686
zh医疗口述
医疗口述
11:15.686–11:16.786
zh客服质检
客服质检
11:16.786–11:21.546
zh这些对准确率和说话人识别要求都很高的场景
这些对准确率和说话人识别要求都很高的场景
11:21.546–11:25.366
zh他的杀手检就是那90分钟的长上下文
他的杀手检就是那90分钟的长上下文
11:25.366–11:27.746
zh意味着绝大部分真实录音
意味着绝大部分真实录音
11:27.746–11:29.226
zh它能一口气吃完
它能一口气吃完
11:29.226–11:30.846
zh不用你手动切块
不用你手动切块
11:30.846–11:32.326
zh想试的话
想试的话
11:32.326–11:33.706
zh装起来不复杂
装起来不复杂
11:33.706–11:36.366
zh前提是Python 3.12
前提是Python 3.12
11:36.366–11:38.346
zh用UV这个包管理器
用UV这个包管理器
11:38.346–11:39.706
zh建一个虚拟环境
建一个虚拟环境
11:39.706–11:42.626
zh然后从GitHub客龙仓库
然后从GitHub客龙仓库
11:42.626–11:45.306
zh一行UVPIP Install装好依赖
一行UVPIP Install装好依赖
11:45.306–11:49.006
zh它会自动帮你处理PyTorch的GPU后端
它会自动帮你处理PyTorch的GPU后端
11:49.006–11:50.946
zh装完有两条路
装完有两条路
11:50.946–11:52.986
zh想看代码细节的
想看代码细节的
11:52.986–11:56.386
zh直接用Transformers加在模型跑推里
直接用Transformers加在模型跑推里
11:56.386–11:58.186
zh想跑成服务的
想跑成服务的
11:58.186–12:03.826
zh用SGLang Omni或者VLLM启动一个API服务
用SGLang Omni或者VLLM启动一个API服务
12:03.826–12:07.406
zh调用方式兼容OpenAI那套音频接口
调用方式兼容OpenAI那套音频接口
12:07.406–12:10.366
zh你原来用Whisper API的代码
你原来用Whisper API的代码
12:10.366–12:12.986
zh改个地址就能直接迁移过来
改个地址就能直接迁移过来
12:12.986–12:15.646
zh模型权重从Hugging Face拉
模型权重从Hugging Face拉
12:15.646–12:17.166
zh第一次跑会下载
第一次跑会下载
12:17.166–12:18.466
zh大约两个G
大约两个G
12:18.466–12:22.366
zh最后说一个让这个项目分量很重的头衔
最后说一个让这个项目分量很重的头衔
12:22.366–12:25.186
zh这个模型7月9号才开源
这个模型7月9号才开源
12:25.186–12:27.046
zh到现在不到20天
到现在不到20天
12:27.046–12:29.946
zhGitHub已经冲到1300多star
GitHub已经冲到1300多star
12:29.946–12:34.646
zh还登上了Trendshift当日Python仓库的第11名
还登上了Trendshift当日Python仓库的第11名
12:34.646–12:36.326
zh更硬的成绩是
更硬的成绩是
12:36.326–12:39.806
zh2026年语音领域的鼎会Interspeech
2026年语音领域的鼎会Interspeech
12:39.806–12:43.626
zh办了第二届多语言低资源语音挑战赛
办了第二届多语言低资源语音挑战赛
12:43.626–12:46.526
zh他拿了第一名覆盖14种语言
他拿了第一名覆盖14种语言
12:46.526–12:49.166
zh一个久易参数的开源模型
一个久易参数的开源模型
12:49.166–12:53.206
zh在长音频多说话人这个最难的真实场景上
在长音频多说话人这个最难的真实场景上
12:53.206–12:56.806
zh同时打赢了准确率和效率两场仗
同时打赢了准确率和效率两场仗
12:56.806–12:59.126
zh还把代码和权重都敞开了
还把代码和权重都敞开了
12:59.126–13:00.726
zh代码在GitHub
代码在GitHub
13:00.726–13:02.406
zh搜OpenMOSS
搜OpenMOSS
13:02.406–13:03.486
zh斜杠
斜杠
13:03.486–13:06.586
zhMouseTranscribedDiaries就能找到
MouseTranscribedDiaries就能找到
13:06.586–13:08.146
zh权重在HuggingFace
权重在HuggingFace
13:08.146–13:11.226
zh如果你平时要跟长录音打交道
如果你平时要跟长录音打交道
13:11.226–13:12.206
zh做字幕
做字幕
13:12.206–13:13.126
zh做记要
做记要
13:13.126–13:14.446
zh做访谈整理
做访谈整理
13:14.446–13:17.606
zh这个工具真的值得装一个试试
这个工具真的值得装一个试试
13:17.606–13:19.126
zh这期到这里
这期到这里
13:19.126–13:20.326
zh我们下期见
我们下期见

影片筆記:一个 0.9B 开源语音模型,转写和说话人分离一次搞定,还把豆包 GPT-4o 甩在后面

<!-- VIDEONOTE_PUBLICATION_WARNINGS_BEGIN -->

⚠️ 可先使用,仍有待修正項目

本筆記已完成可閱讀的逐字稿與時間跳轉;下列為待處理問題,建議播放原片確認。

  • 待修正:逐字稿全文快速校讀未完成(已保留自動字幕/原始逐字稿並繼續生成筆記。;未完成的全文速讀項目可在精進模式回聽確認。)

<!-- VIDEONOTE_PUBLICATION_WARNINGS_END -->

一句話總結

復旦大學邱熙鵬教授團隊孵化之 OpenMOSS(模斯智能)發布開源模型 Mouse Transcribe Diaries,該模型結合 Whisper Medium 編碼器與 Qwen3 0.6B 解碼器,實現語音轉寫與說話人分離的端到端聯合訓練,在長上下文處理與多場景準確率上超越豆包、GPT-4o 等商業模型,並提供多種部署方式與網頁應用。

核心重點

  • 架構創新與痛點解決:針對傳統語音轉寫(ASR)與說話人分離(Diarization)分開處理所導致的錯誤累積問題,提出端到端解決方案。透過聯合訓練,消除模組化方案的錯誤累積,避免局部最優導致全局崩盤。
  • 技術架構:
  • 音頻側:使用 Whisper Medium 編碼器,將聲音轉為聲學特徵。
  • 文本側:使用 Qwen3 0.6B 解碼器(註:筆記中亦提及「QAM3 0.6B」及「通一千問的小模型」),生成文字。
  • 連接方式:中間使用適配器,將音頻特徵進行四倍時間壓縮後輸入文本模型。
  • 性能優勢:
  • 在多個基準測試中,字符錯誤率(CER)低於豆包、GPT-4o、Gemini 3 Pro 等商業模型。
  • 在電影對白等複雜場景表現優異,說話人分離的額外代價(Delta CER)幾乎為 0。
  • 長上下文能力:支援 128,000 上下文窗口,可一次性處理約 90 分鐘的錄音,無需切片。
  • 部署與應用:
  • 提供多種部署方式:Transformers(研究用途)、SGLang Omni / vLLM(生產環境高吞吐)。
  • 提供網頁應用 MPD Subtitle Web,支援瀏覽器界面操作、自動跑模型、網頁審閱及一鍵導出 JSON/SRT/MP4。
  • 支援「熱詞」功能以引導專有名詞識別。
  • 市場反響與成就:
  • 開源不到 20 天即獲得 GitHub 高 Star 數(超過 1300 Star)。
  • 在 Interspeech 2026 多語言低資源語音挑戰賽中獲得第一名,覆蓋 14 種語言。
  • 參數量為 0.9B,授權協議為 Apache 2.0(可商用,無需付費)。

詳細大綱

一、 問題背景:傳統語音轉寫的痛點

  • 會議記錄的難題:多人討論、插話、搶話導致轉寫文本混亂,難以區分誰說了什麼。
  • 說話人分離難題(Diarization):僅將話語轉為文字不夠,還需知道每句話是誰說的、發生在何時。
  • 傳統流水線方案的缺陷:
  1. VAD(語音活動檢測)切片。
  2. ASR 模型轉寫。
  3. 獨立的說話人分離模型標記。
  4. 時間戳對齊。
  • 致命傷:每一步獨立且會犯錯,錯誤會累積;局部最優導致全局崩盤;無法看到全局資訊(如同一人的聲音被切分後被誤認為兩人)。

二、 模型介紹:Mouse Transcribe Diaries

  • 發布團隊:OpenMOSS(中文名:模斯智能),源自復旦大學邱熙鵬教授團隊。
  • 模型參數與授權:
  • 參數量:0.9B(約 9 億)。
  • 協議:Apache 2.0(可商用,無需付費)。
  • 權重存放於 Hugging Face。
  • 技術架構細節:
  • 結合 Whisper Medium 編碼器與 Qwen3 0.6B 解碼器。
  • 實現轉寫與分離的聯合訓練,天生識別說話人,無事後拼接問題。

三、 輸出格式與解析

  • 輸入:16000 Hz 單聲道音頻。
  • 輸出格式:緊湊的時間流格式,包含時間戳與說話人編號。
  • 範例:[0.48] [S01] 歡迎各位 至 [1.66]。
  • 格式結構:[時間戳] [說話人編號] 內容。
  • 後處理:可直接解析為結構化段落(起始時間、結束時間、說話人、文本),支援導出為 JSON 或 SRT 字幕格式。

四、 性能評估與基準測試

  • 測試場景:真實長音頻多人場景,涵蓋中文會議與英文播客/電影。
  • 核心指標:字符錯誤率(CER),越低越好。
  • 數據對比:
  • Azhel 4(中文會議):
  • Mouse Transcribe Diaries:14.84%
  • 豆包:18.18%
  • Gemini 3 Pro:22.75%
  • Movies(英文電影):
  • Mouse Transcribe Diaries:6.36%
  • GPT-4o:14.37%
  • 豆包:9.94%
  • Delta CER(說話人分離額外代價):
  • Mouse Transcribe Diaries:0.99(幾乎為 0,意味著分離說話人不拖累轉寫準確率)。
  • 對比傳統方案:
  • Whisper:只管轉寫,不管分離。
  • Whisper X:社區常見組合,但仍是拼接流水線,存在錯誤累積。
  • PiNote:專門分離工具,轉寫需另找工具。
  • 結論:傳統生態被切碎,Mouse 將磚塊燒成整塊瓷磚,從根本上消除縫隙。

五、 部署方式與工具

  • 研究用途:使用原生 Transformers 庫加載,幾行 Python 代碼即可運行,適合二次開發。
  • 生產環境(高吞吐):
  • 使用 SGLang Omni(註:逐字稿提及「SGLine Omni」)服務框架。
  • 單張 H100 顯卡可支持 16 路併發,每秒處理 82 秒音頻(實時率 0.092)。
  • 長音頻單路實時率最低可達 0.0197(處理速度為音頻時長的 50 倍)。
  • 兼容性選擇:
  • 若環境為 CUDA 12,建議使用 vLLM(因 SGLang Omni 目前要求 CUDA 13)。
  • 網頁應用:
  • 名稱:MPD Subtitle Web。
  • 功能:瀏覽器界面,上傳音頻/視頻,自動跑模型,網頁審閱,一鍵導出 JSON/SRT/MP4。
  • 特性:支持中英文界面,支援「熱詞」功能以引導專有名詞識別。

六、 應用場景

  1. 會議紀要:快速生成帶說話人和時間戳的全文,節省整理時間。
  2. 播客與視頻字幕:直接輸出 SRT,標註說話人。
  3. 訪談整理:記者、研究員處理大量錄音,解放生產力。
  4. 專業領域:法庭記錄、醫療口述、客服質檢(對準確率和說話人識別要求高)。

七、 安裝與使用指南

  • 環境要求:Python 3.12。
  • 安裝步驟:
  1. 使用 UV 包管理器建立虛擬環境。
  2. 從 GitHub 倉庫安裝依賴:uv pip install ...。
  3. 自動處理 PyTorch GPU 後端。
  • 運行方式:
  • 研究:直接使用 Transformers 加載模型進行推理。
  • 服務:使用 SGLang Omni 或 vLLM 啟動 API 服務。
  • API 兼容性:兼容 OpenAI 音頻接口,原有 Whisper API 代碼改地址即可遷移。
  • 權重下載:從 Hugging Face 拉取,首次運行約下載 2GB。

八、 項目影響力與成就

  • 開源時間:7 月 9 日開源,不到 20 天。
  • GitHub 數據:Star 數超過 1300,登上 Trendshift 當日 Python 倉庫第 11 名。
  • 競賽成績:在 2026 年語音領域頂會 Interspeech 舉辦的第二屆多語言低資源語音挑戰賽中獲得第一名,覆蓋 14 種語言。
  • 總結:在長音頻多說話人場景中,同時贏得了準確率和效率,且代碼與權重完全公開。

工具 / 模型 / 名詞整理

  • 模型名稱:
  • Mouse Transcribe Diaries
  • Whisper Medium (OpenAI)
  • QAM3 0.6B (註:逐字稿提及,亦稱「通一千問的小模型」,疑為 Qwen3 0.6B)
  • MOS (邱熙鵬團隊之前的對話大模型)
  • GPT-4o
  • Gemini 3 Pro
  • 豆包
  • Whisper X
  • PiNote
  • 組織/團隊名稱:
  • OpenMOSS (中文名:模斯智能)
  • 復旦大學 (邱熙鵬教授團隊)
  • Hugging Face
  • GitHub
  • Trendshift
  • Interspeech (2026)
  • 技術/工具名稱:
  • ASR (自動語音識別)
  • VAD (語音活動檢測)
  • Diarization (說話人分離)
  • Transformers 庫
  • Python
  • SGLang Omni (註:逐字稿中亦出現「SGLine Omni」)
  • vLLM
  • CUDA 12 / CUDA 13
  • MPD Subtitle Web
  • UV (包管理器)
  • PyTorch
  • JSON, SRT, MP4
  • OpenAI API (音頻接口)

操作流程整理

  1. 環境準備:
  • 安裝 Python 3.12。
  • 使用 UV 包管理器建立虛擬環境。
  • 從 GitHub 倉庫安裝依賴 (uv pip install ...),自動處理 PyTorch GPU 後端。
  1. 模型加載:
  • 從 Hugging Face 拉取權重(首次運行約下載 2GB)。
  • 研究用途:使用原生 Transformers 庫加載模型。
  • 服務用途:使用 SGLang Omni 或 vLLM 啟動 API 服務。
  1. 輸入處理:
  • 準備 16000 Hz 單聲道音頻文件。
  • 若使用網頁應用,可直接上傳音頻/視頻文件。
  1. 模型推理:
  • 模型將音頻特徵進行四倍時間壓縮後輸入文本模型。
  • 生成包含時間戳與說話人編號的緊湊時間流格式輸出。
  1. 後處理與導出:
  • 解析輸出為結構化段落(起始時間、結束時間、說話人、文本)。
  • 導出為 JSON、SRT 字幕格式或 MP4 視頻文件。
  • 可在網頁應用中進行審閱,並使用「熱詞」功能優化專有名詞識別。

值得注意的限制或風險

  • 技術架構依賴:模型依賴 Whisper Medium 編碼器與 Qwen3 0.6B 解碼器,其性能可能受基礎模型限制。
  • 部署環境要求:
  • 生產環境高吞吐部署需要特定 CUDA 版本(SGLang Omni 要求 CUDA 13,若為 CUDA 12 則建議使用 vLLM)。
  • 高併發需求可能需要 H100 顯卡等高級硬體支援。
  • 長上下文處理:雖然支援 128,000 上下文窗口,但處理極長音頻時仍需注意記憶體與計算資源消耗。
  • 開源時間短:開源不到 20 天,生態系統與社區支援可能仍在發展初期。
  • 特定場景表現:雖在多個基準測試中表現優異,但在極端噪音或特殊語言環境下的表現需進一步驗證。

逐字稿辨識疑點

  • Mouse Transcribe Diaries:此名稱在逐字稿中多次出現,但與常見的語音模型命名習慣略有不同,需查證是否為正確的全稱或口誤。
  • QAM3 0.6B:逐字稿提及此模型名稱,並註解為「通一千問的小模型」。通常千問系列為 Qwen,此處「QAM3」可能為聽寫錯誤或特定內部版本名稱,需查證。
  • SGLine Omni:逐字稿中出現此名稱,但隨後又提到「SGLang Omni」。需查證正確的服務框架名稱是否為 SGLang 相關產品。
  • 2026 年 Interspeech:逐字稿明確提到「2026 年語音領域的鼎會 Interspeech」。若當前時間未到 2026 年,此處可能為口誤(如實際為 2024 或 2025),或指未來的預測/規劃,需查證實際舉辦年份。
  • Azhel 4:作為中文會議基準測試名稱,需查證是否為標準測試集名稱(如可能為 AISHELL 或其他變體)。
  • Moth:在對比傳統方案時,逐字稿提到「Moth 這套做法」,前文一直在討論 Mouse Transcribe Diaries,此處「Moth」可能為口誤或筆誤。
  • 1300 多 star:對於一個剛開源不到 20 天的模型,1300 Star 的數據需查證其真實性與時間點。
  • 覆蓋 14 種語言:在 Interspeech 挑戰賽中,一個 0.9B 參數模型覆蓋 14 種語言並獲第一名,此數據需查證具體比賽規則與結果。

可延伸追問

  • Mouse Transcribe Diaries 的聯合訓練具體如何實現轉寫與分離的端到端優化?
  • 在實際生產環境中,SGLang Omni 與 vLLM 的效能差異與選擇建議為何?
  • MPD Subtitle Web 的「熱詞」功能具體如何影響專有名詞的識別準確率?
  • 該模型在處理非中文、非英語的多語言場景下的具體表現數據為何?
  • 開源協議 Apache 2.0 下,商業應用的具體限制與注意事項有哪些?

尚未產生學習筆記

請在 Telegram 指令最後加上「學習」,例如:videonote 網址 英文 雙語 學習