start	end	text
0	7100	好的,现在市面上有很多优秀的语音识别模型。我们有Whisper,有Parachute,还有Canary。
9200	14300	如果你只需要简单的转录文本,可能会觉得这已经是解决好的问题了。
14800	23720	但最大的挑战在于,如果你想为大语言模型或正在构建的应用获取上下文,仅靠转录文本是不够的。
24220	28100	你通常还需要时间出来知道某句话是何时说的。
28100	33000	但往往更重要的是,你需要知道到底是谁说的。
34320	39620	也就是说,如果你正在为四个人互相辩论的播客制作转录文本,
39940	43940	你需要知道谁说了什么,谁持哪方观点等。
43940	47680	如果你想做会议纪要之类的东西,道理也是一样的。
48140	50700	你需要知道谁同意了哪项行动,
51280	54900	尤其是现在我们要构建智能体来处理这些事物,
54900	58680	能够提取引语并准确归属于对应的人
58680	65220	而不是只有一份所有人都在同一通话中逐字说出的转录文本
65220	67360	就像只有一个人说话是那样
67360	70000	那么一直都有办法做到这一点,对吧?
70720	72080	在我之前的一些视频中
72080	76560	我就展示过用Whisper配合当时的一些开源工具来做到这一点
76560	78740	但这一直是一场猫鼠游戏
78740	80120	看你能做到多准确
80120	83180	而且你还得面对如何处理
83180	86140	由不同提供商制作的多个模型等挑战
86140	90740	这就引出了NVIDIA刚刚发布的东西
90740	93700	这是一个专门针对该问题的新模型
93700	96560	这就是NEMU闯三 说话人分离
96560	98240	它是一个开放权重模型
98240	100940	它采用的许可证允许商业使用
100940	102220	凭借这种许可证
102220	104480	你当然可以做大多数你想做的事
104480	105920	这里酷的一点是
105920	107880	它只有大约1亿参数量
107880	111760	所以只需要4GB显存的GPU就能运行
111760	112660	除此之外
112660	114660	当我们谈论准确率时
114660	116920	它可以处理多达8位说话人
116920	120120	过去大多数模型的上限
120120	122380	大概是3到4位说话人
122380	125340	而它不仅能在大家清晰说话时
125340	126780	处理8位说话人
126780	129260	即使人们互相打断说话
129260	130800	它也能做得相当不错
130800	131700	此外
131700	134120	它的设计初衷是与你正在使用的
134120	136520	任何语音识别模型配合使用
136520	142040	所以如果你有一个特别喜欢的模型,比如PireKit,你就可以基本上使用这个模型。
142340	147280	稍后我会展示一个演示,我们将原始播客录音转换为转录文本。
147440	150340	每一行都归属于对应的说话人。
150520	153840	但首先,让我介绍一下这个模型的背景。
154260	158360	VDII将其作为Nemotron语音模型系列的一部分推出。
158820	162360	在这个频道上,我谈过Nemotron大语言模型的,
162360	164860	但我认为很多人没有意识到
164860	167840	这一系列还包含很多语音模型
167840	169080	在识别方面
169080	172300	你有PowerKit、Canary和Nemotron ASR
172300	179060	它们共同支持43种语言的流逝和批量转路
179060	182220	它们还有一个叫Magpie的TTS模型
182220	185420	支持多语言并具备语音定制等功能
185420	187660	此外,它们还有一些进行翻译
187660	190380	甚至全双公语音到语音处理的模型
190380	192480	比如PersonaPlex
192480	193560	直到最近
193560	195500	他们的说话人分离选项
195500	196980	叫做Sortformer
196980	198920	最多支持四位说话人
198920	199780	有一段时间
199780	201860	他实际上相当受欢迎
201860	203300	在很多方面
203300	204880	你可以把这个新模型
204880	206880	看作是对他的直接替换
206880	207800	而且好得多
207800	208560	我们知道
208560	210100	人们已在生产环境中
210100	211180	使用这些模型
211180	213100	因为旧版Sortformer模型
213100	214580	仅在8月就获得了
214580	216060	超过30万次下载
216060	218500	虽然NVIDIA没有直接说明
218500	219620	但在我看来
219620	222420	他们正在系统地改进这些模型
222420	226080	以构建完整的Nemotron语音模型套件
226080	228820	这完全说得通
228820	231720	因为如果你看看对语音的需求
231720	236100	无论是单用户与智能体交互
236100	241980	智能体获取YouTube视频等多模态内容
241980	243740	等等
243740	247860	以便在研究和执行任务时提取信息作为上下文
247860	249760	需求都在不断增加
249760	250120	好的
250120	251580	如果你是新手
251580	253480	说话人分离到底是什么
253480	254980	最简单的说法是
254980	257280	语音识别告诉你说了什么
257280	260060	而说话人分离告诉你谁说的
260060	263220	当我们把它们结合起来
263220	266720	就得到了所谓的带说话人信息的转录文本
266720	269060	我认为大家凭直觉都知道
269060	270100	这非常重要
270100	271860	如果你在转录会议
271860	273160	有人问了一个问题
273160	274620	然后有些人回答是
274620	276240	有些人回答否
276240	278820	你大概希望你的智能体知道
278820	280280	谁将会跟进
280280	282040	谁不会采取行动
282040	284200	所有这些对于智能体确定
284200	287120	接下来应采取何种行动的上下文
287120	288140	都至关重要
288140	290520	那么它会自动知道每个说话人的名字吗
290520	291340	不
291340	293240	它基本上只会说说话人
293240	295100	一说话人二
295100	296280	说话人三
296280	297820	说话人七等等
297820	299640	随着处理过程进行
299640	301200	但这并不难
301200	303320	你可以写一些代码将其替换掉
303320	305460	一旦你告诉模型谁在说话
305460	306840	你就可以将转入文本
306840	308000	转换为包含真实性能的版本
308000	310400	现在这方面一直最大的挑战之一是
310400	312260	人们会互相打断
312260	312580	对吧
312580	314580	即使他们并不想故意打断
314580	317280	当有人在会议通话中提问时
317280	319840	往往会有两三个人同时回答
319840	324840	旧版说话人分离系统面临的挑战在于
324840	326760	他们会因此变得混乱
326760	329580	他们不擅长区分不同的声音
329580	331820	尤其是在声音重叠时
331820	334060	我想说
334060	337820	我认为没有任何模型能在这件事上做到完美
337820	338780	即使是人类
338780	341460	这也可能是一项艰难的任务
341460	343140	但这些模型的评分方式
343140	346040	是使用所谓的说话人分离错误率
346040	347400	即D.E.R
347400	349980	它基本上是将三种错误相加
349980	352000	模型遗漏的语音
352000	354460	模型误判为非语音的内容
354460	358180	以及将语音错误归属于他人的次数
358180	360780	显然这里的分数越低越好
360780	363640	你可以看到NVIDIA的最新模型
363640	365400	不仅击败了竞争对手
365400	369020	还大幅超越了他们自己的前代模型
369020	371700	这里需要理解的另一个概念
371700	374060	是流逝与离线的区别
374060	375600	在离线模式下
375600	377880	模型可以查看整个录音
377880	379780	包括后面的内容
379780	381120	而在流逝模式下
381120	383880	它必须在音频到达时做出决定
383880	386540	所以对于已经录制好的播客等
386540	389020	你总是希望使用离线模式
389020	392340	对于任何实时字幕或语音智能体
392340	394240	你必须使用流逝模式
394240	394820	好的
394820	397080	那么Nemotron 3说话人分离
397080	398280	到底有什么新特点
398280	400220	它大约有1亿参数量
400220	401900	不包括ASR部分
401900	403780	运行它的最低GPU要求
403780	404680	约为4GB
404680	405960	所以它实际上
405960	408360	可以在许多小型GPU上运行
408360	410240	而且应该在笔记本电脑的
410240	411640	RTX显卡上
411640	413000	也能跑得相当好
413000	414340	我之前提到过
414340	416120	它支持多达8位说话人
416120	418300	另一点是它是语言无关的
418300	420080	并且在流逝和离线模式下
420080	420740	都能工作
420740	421740	所以我认为
421740	424420	最好的办法是直接进入演示
424420	426800	看看它实际上是如何运作的
426800	427660	好的
427660	429020	进入演示
429020	431040	让我先展示一下设置方式
431040	431460	首先
431460	434600	感谢NVIDIA赞助这里的计算资源
434600	436540	我使用DGX Spark
436540	439580	来实际运行这里的三个语音模型
439580	442540	让我带大家过一遍设置架构图
442540	446600	你在这里看到的是NextGS应用
446600	448800	它在我的Mac上本地运行
448800	454000	然后通过Tail Scale调用后端道DGX Spark。
455695	460995	你可以看到,我在上面有一個包含NVIDIA NEMO的Docker容器。
461495	466095	VDI NEMO既提供我們正在討論的說話人分離模型,
466095	472935	也提供ParaKit ASR模型和Nimetron 3.5多语言 ASR模型。
473555	477355	为了使用这些,我设置了一个Fast API应用。
477515	479955	这是一种实现此类功能的简单方法。
480495	485615	如果我要大规模部署,我可能会选择Dynamo或Triton来提供服务。
485735	489935	但对于我想要的功能,目前的设置运行得非常完美。
490295	495095	如果我们进入这个应用,你可以看到我基本上可以直接使用它们的演示。
495095	498615	我可以选择想要使用哪个AS2模型
498615	500295	我打算用ParaKit
500295	502515	因为它在处理多说话人方面
502515	503835	通常表现更好
503835	505015	我可以开始转录
505015	508435	你可以看到字面上只需要三四秒钟
508435	510495	它就处理并转录了这里
510495	512595	一分三十多分钟的音频
512595	519455	由于我之前在摆弄这个并设置了一些名字
519455	521975	它实际上记住了这里这个人的名字
521975	524795	让我们听一下
524795	528555	看看当多个说话人同时说话时会发生什么
528555	532535	为了庆祝Nemotron三说话人分离的发布
532535	535895	我们邀请了另外七位开放文本转语音声音加入派对
535895	538455	我是Chris NVIDIA的Nemotron声音
538455	540235	大家好 谢谢邀请
540235	543355	我是Jane来自QTI的Pocket声音
543355	545915	很高兴见到你们Chris和Jane
545915	548015	我是Serena Quinn三的声音
548015	549635	我是来自Cocorro的Adam
549635	551375	只有8200万参数量
551375	552795	我还是入选了嘉宾名单
552795	553695	你好你好
553695	555835	我是来自Resemble AI的Chatterbox
555835	557815	我带来了富有表现力的能量
557815	558055	嗨
558055	560435	我是来自Nari Labs的John Dyer声音
560435	562175	我们这里已经聚集了很棒的人群
562175	562795	大家好
562795	563595	最近怎么样
563595	566175	我是来自Maya Research的Maya E声音
566175	566955	好了
566955	568975	现在我们有八位合成开放声音
568975	569855	做满了场子
569855	572055	让我们来测试一下Nemotron三说话人分离
572055	572255	好的
572255	573875	新的说话人分离模型
573875	575915	可以在转路时标记我们的每个声音
575915	578055	但它能在我们所有人一起说话时
578055	578775	做到这一点吗
578775	579515	让我们来看看
579515	580915	即使我们互相打断
580915	582755	它也能叫出我们俩的名字
582755	583775	逐针标记
583775	585515	谁在何时说话
585515	586475	好的
586475	588715	正如你在这里看到的
588715	591115	它在转录每一个声音方面
591115	591935	做得很好
591935	593375	如果我们往下看看
593375	595555	可以看到每个声音都被转录了
595555	597175	我想我的UI在这方面
597175	598495	稍微有点滞后
598495	599915	但你完全可以感受到
599915	601355	它是如何组装起来的
601355	602215	实际上
602215	603415	如果我们放大一点
603415	604755	来自QTI的声音
604755	605915	很高兴见到你们
605915	607175	Chris和Jen
607175	607975	我是Serena
607975	609335	Queen3的声音
609335	610755	你可以很快看到
610755	615055	我们基本上可以组装出一个能转录这些声音的东西
615055	617775	如果我们想在这里输入他们的名字
617775	620815	它会便利并为我们重命名所有人
620815	625495	现在如果我们想看看实际模型返回的是什么
625495	628915	你可以看到这里是模型返回的原始Jason
628915	632655	我们可以看到这里实际使用的是什么
632655	635475	我们可以看到不同的说话人被标记等
635475	640515	然后这个软件基本上将speaker三重写为Adam等
640515	641855	便利这个过程
641855	643835	做这样的事情
643835	644955	很酷的一点是
644955	646015	我们可以很快
646015	647055	获得统计数据
647055	648875	比如每个人
648875	650095	在那里说了多久
650095	652335	说了多少次
652335	653715	有多少次发言
653715	655675	如果我们想在这里
655675	657135	放入更长的内容
657135	658315	这会非常有用
658315	658795	好的
658795	660115	这里酷的是
660115	661875	我们可以处理长文件
661875	663335	所以我基本上
663335	663935	放入了
663935	665035	All in 播客的
665035	666195	一集完整节目
666195	667455	他们采访了黄仁勋
667455	668355	你可以看到
668355	669815	他基本上已经处理完了
669815	672115	我们得到了输出
672115	674435	我命名了这里的实际说话人
674435	675795	所以我们可以看到
675795	677555	说话人依次出现
677555	679095	现在我们有了每个人
679095	681075	说了什么的完整转录文本
681075	683935	这里酷的是我们可以查看统计数据
683935	686315	我们可以看到他们各自的说话时长
686315	688415	我们可以看到
688415	689415	果然
689415	690035	显然
690035	691615	黄仁勋是这里的嘉宾
691615	693615	所以他是说话最多的
693615	696395	而这一切都在148秒内完成
696395	699855	所以对于这个超过一小时的长文件
699855	701815	这大约花了两分半钟
701815	704415	这让我们基本上可以便利
704415	705615	你可以看到
705615	708555	现在我们基本上可以直接阅读转录文本
708555	711035	我可以将其导出为文本文件
711035	712915	或者在这里导出为srt
712915	714135	这里酷的是
714135	716595	如果我确实想做多语言
716595	718075	或其他类似的事情
718075	719695	我可以切换模型
719695	721015	使用这个模型
721015	723335	而不是这里的paraket模型
723335	724355	你可以看到
724355	725535	用这个模型
725535	727775	我们支持很多不同的语言
727775	730115	如果你记得我做过关于这个的视频
730115	732455	你实际上可以微调这个模型
732455	735535	使其在其他语言上表现非常好
735535	737735	他们在这里称之为适配就绪
737735	740695	现在我还没有真正设置这个应用去做
740695	742555	但模型能做的另一件事
742555	744595	是你也可以进行流逝响应
744595	744955	当然
744955	747555	那样你的准确率可能会下降一点
747555	751255	但你在那里仍然应该能获得相当好的结果
751255	752235	所以
752235	754735	如果你有兴趣做任何语音转录
754735	757535	并且希望其中包含说话人分离等
757535	759675	这是一个很好的设置方法
759675	762155	你可以批量完成所有转路等
762155	763055	最重要的是
763055	765335	能够完全在本地完成所有这一切
765335	766115	所以
766115	767995	如果你对这方面有任何问题
767995	769355	请在评论区告诉我
769355	770935	我认为看到NVIDIA
770935	772995	接下来在这些语音模型上
772995	774555	会做什么将会非常酷
774555	775855	就像我说的
775855	777095	从我看到的来看
777095	778015	它们不断迭代
778015	779115	以改进这些模型
779115	780695	并为不同的用力
780695	782815	提供不同类型的模型
782815	783475	总之
783475	784515	一如既往
784515	785975	如果你觉得视频有用
785975	787335	请点赞并订阅
787335	788535	我们下个视频见
788535	789195	再见
