语音信号处理(1):男女声在线识别系统(倒谱、基音频率)

   语音信号处理是挺有意思的,尤其是在人工智能横行的今天。不过就我看来,现在整个社会上明显对人工智能的作用过于夸大了,大多数写报道和搞炒作宣传的人基本不懂人工智能。尘世若此,其实又何止是在人工智能上呢!
   当然本文和人工智能没有半毛钱的关系,是基于Matlab设计了一个男女声在线识别系统,挺简单的,不过最后达到的效果还是比较理想的,源代码【点击这里下载】

男女声识别原理

   众所周知,一般女声的音调比男声的音调高,这种不同主要是反应在基音频率(pitch frequency)上。所以本文识别男女声主要利用男女声基音频率(pitch frequency)的高低。


   一般女声的基音频率高于男声,常见的男女声基音频率大致分布范围如下图所示。提取基音频率比较常用的方法就是倒谱(cepstrum),它是常见的信号处理方法,这里不再过多赘述。


系统结构

   声音信号具有短时平稳性,我们认为在10~50ms的数据长度上声音信号是平稳信号,所以可以分帧然后用平稳信号的处理方法进行处理。首先就是分帧操作(这里取40ms帧长,20ms帧移),加窗后求倒谱,根据倒谱便可以求解出基音频率。整个系统流程图如下:

运行结果

   实验测试结果如下,GUI显示判定的性别结果“Man”或者“Woman”(注意:只有浊音才会有基音频率,清音(如:p、pa等)没有。所以测试时,请发浊音),实测准确率可以达到90%以上。如果想达到更高的准确率,可以再去研究机器学习相关的方法。


   最后再附源代码【点击这里下载】

   enjoy!是以为记!

猜你喜欢

转载自blog.csdn.net/u011389706/article/details/78965233
今日推荐