start	end	text
520	7160	大家好,今天我們給大家講解Voice Agent的這個適時語音識別ASR的一個原理。
7940	22780	我們從頭到尾把它捋一遍,要知道它背後的原理是什麼。當然具體的這個技術實現,肯定是由對應的這個供應商已經實現了。但是我們了解原理的話,對我們理解Voice Agent是有幫助的。
23300	23800	好
24320	25860	那么ASR呢
26100	28920	其实我们一般会说ICTT
29180	30720	就是语音转文字
31480	35320	但是更专业的说法可以说ASR
35580	37880	并且在这个voice agent里面
38140	39420	一定要用
40440	41460	实施语音
41720	42500	实施语音的转换
42740	45060	你整段语音的转文本
45300	47100	对于这个voice agent意义不大
47360	49140	因为你无法做这些
49660	50940	打断了这个处理
51700	51960	好
52780	55780	那么他不是听懂了整句在翻译
55780	58820	而是把音频声音切成一帧帧的逐帧
58820	61900	拆这个什么音再把它串成
61900	65020	这个再串成这个字
65020	66080	是这么来的
66080	73240	然后第一步把声音变成模型能吃的东西
73240	76020	比如说声波到一串数字
76020	80020	每秒采集16000个点
80020	82740	气压变化变成一串整数
82740	84520	第二部分呢
84520	85740	就是切成一帧一帧的
85740	87120	每帧20秒
87120	88200	这么短的时间内
88200	89740	声音特征基本不变
89740	90680	那就是20毫秒
90680	92260	20毫秒切变成一帧
92260	96720	所以我们说之前说了一个40毫秒
96720	97600	其实就是两帧嘛
97600	102880	第三个是每帧算出频谱指纹
102880	103920	不看波形
103920	106000	看频率成分
106000	107280	人耳听的就是这个
107280	110300	其实这个是声学的里面
110300	111360	最基本的原理
111360	111900	这个呢
111900	112220	其实
112220	114000	我们不用过去顺究
114000	115100	我们简单了解就行了
115100	117180	为本要转成平谱了
117180	118380	同一个R
118380	120260	你说和我说
120260	121580	大声说和小声说
121580	122520	波形完全不同
122520	126480	但平谱成分分布是相似的
126480	127720	换成平谱模型
127720	129440	要认的东西就稳定多了
129440	130220	说白就说
130220	131120	你说R
131120	132160	我说R
132160	132540	是吧
132540	133540	那两个声音大小
133540	134320	可能是不同的
134320	135320	波形是不同的
135320	136880	所以用通过波形是不行的
136880	138360	要把它换成平谱
138360	140960	模型才能更好的识别
140960	142060	好
142060	145400	第二步就是升学模型逐针猜
145400	146680	这一针是什么音
146680	149360	比如说你好
149360	150120	对吧
150120	150440	为例
150440	153260	那模型对每一针独立给出一个猜测
153260	155620	他不知道这个字
155620	157720	只知道这一针最像什么
157720	159480	那每一针猜测
159480	159980	比如理
159980	160740	这个是空格
160740	162220	空的空白的
162220	163200	理理理
163200	165200	空白好好好
165200	166060	空白
166060	167980	灰色是空白的符号
167980	170020	意思是这一针没有内容输出
170020	170460	有了它
170460	171540	模型就不用纠结
171540	173140	一个音到底跨几帧
173140	175560	说了长就多图几帧
175560	177440	同样字交给下一步收拾
177440	179120	所以说我们可以看到
179120	179960	可能是这么个情况
179960	182320	这个是每一帧的情况
182320	182880	每一帧
182880	184520	每一帧我们说了20毫秒
184520	186360	第三步就解码
186360	189140	合并重复去掉空白
189140	190580	比如说我们可以看到
190580	191780	有理理理好好好
191780	194780	那肯定是合并成理好就行了
194780	198080	然后再把这些空白的地方
198080	199420	再把它去掉就变成理好
199420	200880	其实就是用户就说了个理好
200880	202640	好好好
202640	203480	你好
205640	207680	那么连续的这个
208480	209560	空白的哈
210080	211120	这段没人说话
211120	212600	所以很多流色ASR
212600	214400	根本不用单独跑一个VED
215040	217600	直接读升学模型空白输出就行
217600	218760	判断依据识别
218760	219760	本身天然一致
220240	221600	那你说白了就是有
221600	223920	你这个针里面有这么多空白的符号
223920	225600	那肯定就是你没说话
225600	226320	对吧
226480	229000	那这个就相当于做了一个VED的判断
229560	230680	就是你没说话
231880	236320	这就是断句原理那张图里第二步的最常见的实验方式之一
237520	238360	空白符嘛
238360	239240	那不就断句了吗
239240	240200	我就认为你没说话
241440	242920	比如说你这里面
242920	244360	如果你这空白的地方
244640	245600	并且时间呢
246560	247560	这个比如说
248520	249920	这个超过300毫秒了
249920	250840	那我们认为
251520	252600	你这句话说完了
253040	253560	这个意思
255560	259480	那么为什么牛市的识别会边缩边改呢
259480	260840	对吧
260840	262760	为什么他会边说边改
262760	266200	比如他听到0.3秒
266200	267520	离
267520	270440	听到0.7秒
270440	270900	离好
270900	272880	听到1.2秒
272880	273440	离好吗
273440	276480	那么在这个时候
276480	277680	他静音不是很久
277680	278220	也就是说
278220	279480	他是低于300毫秒的
280160	283160	其实这句话就没说完
283160	285420	离好这时候也没说完
285420	287940	但是到这个时候
287940	289020	可能后面的静音
289020	290260	已经超过300毫秒了
290860	291660	就final了
291780	293380	就静音够久定稿了
296260	298980	我们来看右边这段话
308220	309420	我们看右边的解释
309860	312460	流失模型只看过去看不到未来
313420	315100	比如像理解的模型whisper
315380	316380	拿到整段音频
316380	319120	可以前后互相印证
319120	320220	牛4必须在
320920	322220	这个前后互相印证是什么意思
322220	324480	就是他有一段完整的音频
324480	327520	他已经把一个逐字稿全部练完了
327720	329720	那你当然知道前后有什么
330420	332380	语言他会把它改掉的
332380	333820	但牛4必须在
334180	336880	我想聊聊乒乓的时候就输出
337180	339040	而后面是球还是球拍
339040	339920	根本没有发生
340180	341740	他也不知道你是聊乒乓球
341740	343040	还是聊乒乓球猪
343240	344380	还是聊乒乓球技术
344380	345480	还是聊乒乓球拍
346000	346500	对吧
347780	349840	那这个牛市的就需要解决这种问题
350340	352640	所以他边拆边改,改的过程呢
354180	354960	就是这个
355720	357760	就是我们前面说的这两段对吧
361100	361860	就是in term
362380	363920	那么确定不了的就是final的
364940	368260	那么前面这一部分他就逐字就是在屏幕上了
369040	369540	是吧
369540	370820	用户才能看到他的听
371340	372620	那我们经常看到这个
372880	374920	比如说你在用豆包的经常就说你
374920	376520	你问他问题干什么
376520	377120	就是他
377400	378600	或者说别的这种
379680	380480	语音的这种工具
380480	382520	你会发现他的字在逐步在出是吧
382760	383680	就是这个意思
384520	386200	他在编出还帮你改
387120	390000	中文尤其是没有词的编辑
390000	391080	同音字扎堆
391280	391560	对吧
391560	392720	他同音字特别多
392920	394240	全靠上下文区分
394360	396440	而上下文恰恰是流是最缺的部分
396600	398160	这也就是中文识别了
398280	399160	既然用阿里云
399160	400320	而不是用deepgram
400400	401080	那么deepgram
401080	402360	他是对英文字是特别好
402360	403680	包括Yenion Live这些
403680	408080	所以你中文的话你还是用阿里云、火山、腾讯
408080	409040	像这些是吧
409040	410320	他肯定中文制作的好一些
410320	411760	好
411760	418400	那我们上面讲了学会之后怎么用
418400	419080	推理
419080	421440	那他是怎么学会的
421440	424700	他为什么能识别呢
424700	427160	为什么他能识别出来了
427160	428640	背后的原理是什么
428640	431040	第一个就是为他配好的
431040	432460	对的数据
432460	434040	训练数据标注预料
449192	451492	有东北画,对吧,天津画
451752	453792	等等,比如说上海画
454312	456352	那你有这么多这个
456872	458412	方言,普通话
458912	459952	等等这些画
460192	461232	你录给他
462512	464032	他去训练这个数据
465072	466352	这个是和其他的
466852	468912	这个模型是一样的,你得有训练数据
470692	475312	让他自己找规律,然后就训练嘛,就推理嘛,这个是为数据嘛,然后这个就是推理
475552	476072	反向
476072	479192	反向传播掉参数
479192	481452	反复对照这几百万条
481452	483472	没有人告诉他
483472	484652	你这个音长什么样
484652	487372	规律是他自己从数据里总结出来的
487372	488612	学出来是两样东西
488612	489432	升线模型
489432	491312	认这一针是什么音
491312	493352	语言模型
493352	495492	同音字里挑哪个更适合上下文
495492	497212	说白了
497212	498512	就你的这个模型
498512	500452	给他的数据越多
500452	501252	训练的越
501252	503992	找的规律越好
503992	504592	对吧
504592	506192	你的参数越多
506192	507872	那当然你的这个识别
507872	508972	可能越准
508972	513112	那么学会了就可以放话
513112	513532	对吧
513532	515612	和推理
515612	517272	那这一段
517272	519132	从没听过的录音
519132	521092	换一个没听过的人来说
521092	521852	他也认得出
521852	525412	这就是上边言那个逐针猜的
525412	525992	用的模型
525992	527452	逐针猜嘛
527452	528612	对吧
528612	529572	他要逐针猜
529572	530852	比如说你说
530852	532372	我要去打乒乓
532372	533792	他会猜出乒乓球
533792	536872	乒乓球球拍 乒乓球桌 乒乓球技术
537632	538652	这属于这个
539932	541732	我们说这个ASR用的对应的
541992	543512	背后用的这种声学模型
543772	544032	对吧
544552	545832	或者说这个语言模型
546332	548132	它就具备了这个能力了
548392	549152	它也能猜
549412	550172	能猜你
550432	550952	说什么
551712	554532	就像教小孩真智 你不会给他
554792	555812	讲字形
556312	558112	学理论 就是反复指的说
558372	559132	这是礼
559912	560412	是吧
560672	561952	礼子多了
561952	564252	他以后就会见过了字体语言的粗
564252	566052	模型学的不是规则是见的多
566052	567072	所以训练时
567332	568872	见的少的东西
568872	571432	专业术语人民方言他有容易出错
571932	574492	这也是供应商为什么提供热词表
575012	576552	所以说就算你的中文呢
576552	578852	当然我们用中文的这种
579352	580392	模型更好对吧
580392	581672	英文就用英文的模型
582432	582952	是吧
583192	584732	你别的语言当然也是
585752	587032	这个所以说是有区别的
587032	587552	这么你
587812	589592	你在你的这个voice in的这个项目的时候
589592	591652	你在挑选来一家供应商的时候
591652	593652	那肯定是根据你的业务场景来的
593652	595492	你是什么语言为主
595492	597112	比如说你是粤语的
597112	601672	那当然你要考虑他这个模型对粤语的识别的怎么样
601672	603012	识别好你才用它
603012	605572	而不是说随便拿一个provider
605572	606912	就行不行了
606912	609652	然后我们理解了原理之后
609652	614772	你对去挑选你的ASR的对应的服务
614772	616292	甚至你在做本地的
616292	618012	比如我们有欧拉玛去接本地的模型
618012	619152	你挑哪个模型
619152	620732	那都是有帮助的
620732	624232	好那么关于语音识别的原理的
624232	626192	这个分享了
626192	627932	我们就讲到这里
627932	628732	谢谢大家观看
