语音识别
本专栏是对自己做语音识别过程中遇到问题的总结,后面会进一步丰富博客内容。
yutianzuijin
目前从事语音识别相关的工作。
展开
-
利用ARM NEON intrinsic优化常用数学运算
ARM NEON是arm平台下的SIMD指令集,利用好这些指令可以使程序获得很大的速度提升。不过对很多人来说,直接利用汇编指令优化代码难度较大,这时就可以利用ARM NEON intrinsic指令,它是底层汇编指令的封装,不需要用户考虑底层寄存器的分配,但同时又可以达到原始汇编指令的性能。 所有的intrinsic指令可以参考博客《ARM Neon Intrinsics各函数介绍》,本...原创 2018-04-14 21:13:41 · 14377 阅读 · 5 评论 -
arpa2fst 原理详解
在基于 wfst 的语音识别中,需要将 HCLG 四个不同层次的模型复合(composition)在一起构成一个超大的解码网络,其中的 G 即是语言模型的 WFST表示。但是我们常见的语言模型并不是以 WFST 形式存在的,而是基于 ngram 实现的,通常以 arpa 文件形式存在。所以复合的第一步就是将 arpa 文件转为 wfst,在 kaldi 中以 arpa2fst 脚本形式存在,我们在此原创 2017-12-08 22:15:26 · 8881 阅读 · 9 评论 -
语音识别中的lattice与confusion network
如果大家使用搜狗输入法的语音识别可能会发现在我们说我一句话之后,语音识别会返给你多个结果,这些结果之间只有微小差异(很多时候是发音相同的替代词)。绝大多数时候,输入法给出的结果就是我们需要的,但是偶尔也会出现候选结果中的才是我们需要的。你可能会好奇这些候选结果是如何产生的,在本文中我就给大家简单介绍一下。one best最初的语音识别结果只有一个,也被称为one best,即一个最优结果。语音识别解原创 2017-08-27 17:05:52 · 12322 阅读 · 7 评论 -
利用FFmpeg将pcm文件转成wav文件
现在需要利用cool edit对一批pcm音频文件进行分析。由于没有相关信息指定音频的采样率,信道数和精度,所以cool edit在打开一个pcm的时候需要让我们指定相关参数。当需要分析的pcm非常多时,每次都需要指定相关参数就显得非常麻烦。我们可以给pcm文件添加一个wav文件头来指定相关参数,从而无需每次打开进行设置。 给原始的pcm数据添加wav头不是什么麻烦事,我们完全可以写一个c原创 2017-03-12 14:24:44 · 13603 阅读 · 0 评论 -
《Machine Learning is Fun Part 6: How to do Speech Recognition with Deep Learning》译文
最近看到一篇介绍语音识别的《博客》,感觉写得不错,正好自己也在搞语音识别,就把它翻译成中文,希望对语音识别感兴趣的同学有所帮助。(囧:原来网上早就有翻译了,白浪费两天时间翻译,大家选择性围观)语音识别正在占领我们生活的各个方面,手机、游戏手柄和智能手表中都会发现它的身影。同时它也在使我们的家庭更加智能,只需要花费50美元我们就可以买到亚马逊的Echo Dot—一个可以帮我们订披萨,获得天气预报,甚至翻译 2017-03-02 22:48:45 · 2369 阅读 · 1 评论