音频识别算法思考与阶段性小结

 这篇文章酝酿了很久,一直没抽时间写。

在中秋,国庆来临之时,落笔。

写之前,先交代几件事情,

主要是 回复 给我发邮件以及QQ上询问的朋友们的一些疑问和需求,这里稍作回复一下。

1.关于 票据ocr预处理算法 

相关算法细节已经开源。

项目地址:

https://github.com/cpuimage/OcrPreprocessing

各位可以根据CPUImageLocalColorFilter算法思路,对应项目需求进行算法改写定制算法实现。

主要是基于颜色过滤的思路,只要确认具体需求,

提供的算法,可以解决绝大多数关于颜色叠加,干扰移除的问题。

由于思路比较简单,这里就不展开,

需要的阅读相关代码,理解一下。

 

2.关于音频指纹算法实现,已经开源。

项目地址:

基础:

https://github.com/cpuimage/shazam

进阶:

https://github.com/cpuimage/AudioFingerprinter

音频指纹最重要的是时序信息,改进的思路和方向有很多,

例如提取更加鲁棒性的特征或者增加特征维度等。

对音频指纹,哼唱搜歌感兴趣的,可以参阅实现。

 

3.关于音频采样算法

相关项目:

简易实现,便携可采用:

目前有两种简单插值实现,平时基本够用。

https://github.com/cpuimage/resampler

如有更高要求的,可以采用:

https://github.com/cpuimage/speex_resampler

https://github.com/cpuimage/WebRTC_Resampler

如果不考虑性能问题,有特殊嗜好的,可以采用傅里叶变换的实现:

https://github.com/cpuimage/fftResample

https://github.com/cpuimage/stb_fft

 

4.关于音频降噪算法

降噪算法可参阅项目:

https://github.com/cpuimage/AudioDenoise

https://github.com/cpuimage/WebRTC_NS

https://github.com/cpuimage/rnnoise

由于有很多人询问rnnoise的训练方法和数据集。

算法实现细节见:

https://people.xiph.org/~jm/demo/rnnoise/

关于数据集问题,原作者已经开放下载了。

下载地址:

https://people.xiph.org/~jm/demo/rnnoise/rnnoise_contributions.tar.gz

关于rnnoise采样率适配和训练问题:

参阅项目:

https://github.com/GregorR/rnnoise-nu

https://github.com/GregorR/rnnoise-models

GregorR已经做了很多工作了,所以大多数问题,大家可以考虑联系他。

 

5.便携fft实现stb_fft开源,单头文件实现。

这个开源项目只是方便一些思路的验证和平时的测试使用。

不是性能最优实现,最优实现版本暂不开源。

项目地址:

https://github.com/cpuimage/stb_fft

 

差不多就这么多,

以上,若是有不理解的地方,可以给我发邮件或QQ联系。

 

回到主题上,本人最近一直在研究音频识别的一个小分支——性别判断。

简而言之就是通过声音分析,判断 说话者的性别。

听起来好像很简单,但是做起来,才知道,路上好多坑。

总的来说,想要精准识别声音的性别,如果没有干扰是很简单的事情,

但是,有了干扰之后的问题就复杂多了。

我们先考虑一下,声音信息可能受到什么因素的干扰。

1.外界干扰,主要是噪声

例如:多人交谈(等非主体的声音),软硬设备(网络,电压等抖动),背景环境(室内室外)

2.说话者生物干扰音素

例如: 语速,音量,音高,当然还有生物问题 既发声器官的状态(年龄,感冒发炎等)

3.文化因素,发音风格,饮食环境下的声喉状态

4. 以上1+2+3 等多重情况叠加下的混合干扰

 

从以上提及的各个音素来看,理想很丰满,现实很骨感。

不管是asr识别还是声纹识别,还是其他音频方向的算法处理,毫无疑问,困难重重。

花了近6个月,踩了无数个小坑之后,在不处理噪声的干扰情况下,

对中国人的普通话,音频性别识别终于达到85%的准确率。

由于是先验算法,纯c不采用任何第三方库的干净算法实现,

可以随时调参优化算法,适配不同的情况。

 

没有采用深度学习的方案去做特征工程。

这里要说一下,为什么不用深度学习的方法,

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信