渐渐上了轨道。
一切的一切仅仅因为相信自己能做好,也必须做好。
不懂就去查,去问,去找资料,去找视频。
渐渐的,我开始懂了,也慢慢有了系统性的理解。
随后经常能发散思维。
最近,
在自动增益,
音频降噪,
语速检测,
相位谱重建各个算法之间穿梭。
慢慢有所产出,有所突破。
特别是在音频降噪领域,
不能算质的飞跃,
但是确实摸到了一些规律。
而写完相位谱重建算法之后,
我也突发奇想,
相位谱既然能通过高斯分布的思路进行重建,
那是不是可以说明,
高斯分布可以用来作为音频算法的信号标准化,归一化。
这是一个值得去研究的方向,
音频信号的高斯归一化。
前面面试了一家公司的时候,
提到说音频通过能量谱可以重建相位谱,
那面试官好像认定我是傻子,
就好像觉得我是在胡扯一样。
真的懒得解释,
实操是验证真理的唯一标准。
而语速检测,
其实有点类似音乐的节拍检测,
只不过一定要去除空白帧,
因为空白从另一个角度来说,
可以认为是停顿,或者说换气。
所以语速检测的思路也可以基本确认。
而自动增益方面,
找资料的时候发现一个神奇的标准,EBU R128,
这里就不科普展开了,感兴趣的可以维基一下。
这个算法在FFMEPG里面有很详细的实现,
抠出来算法代码,直接应用,
效果不要太好。
近期,终于回到广东,
在南京接受了太多的负能量,回来之后真的有获得新生的感觉。
世界顿时和平。
相对于深度学习而言,
我还是比较检测采用传统算法去实现降噪增益等处理,
原因也很简单,音频时效性特别重要。
采用深度学习很多时候要做大量的工作才能保证时效性了,
从软件,硬件的角度来说,音频不比图像好处理。
自然挑战也多了起来,
不过庆幸的是,
在傻逼一样的坚持之后,
不采用深度学习方案的音频降噪,
终于达到近乎可以商用的程度了。
当然最近也在思考算法的下一步优化方案。
继续验证思路,继续改良。
这里放出linux系统下的可执行文件,供大家评测。
下载地址:https://files.cnblogs.com/files/cpuimage/denoise.zip
解压后采用命令行: ./denoise sample.wav
执行后生成降噪后的文件sample_out.wav
现在是自适应降噪强度,
降噪后自动做增益,
后续计划加上降噪的强度控制。
噪声样本自行寻觅,
比较好找。就不提供了。
在音频这条路上,
如果我走偏了,大家记得把我拉回来。