Python实现BP网络并进行语音识别(三)


title: Python实现BP网络并进行语音识别(三)
date: 2019-06-09 20:45:40
tags: [python, BP, 语音识别]

前言

在深度学习领域,一份好的数据决定了成功的一半。为了得到优质的声音样本,我特意选取了三位相声大师的单口相声,音频样本简单纯粹,每一位都选取了十分钟以上的音频信息。将音频信息安装停顿切成一个个不超过10s的小声音片段,然后对每一段音频进行MFCC特征提取,获得数百个带标签的音频样本。

MFCC简介

MFCCs(Mel Frequency Cepstral Coefficents)是一种在自动语音和说话人识别中广泛使用的特征。它是在1980年由Davis和Mermelstein提出。
在任意一个Automatic speech recognition 系统中,第一步就是提取特征,把音频信号中具有辨识性的成分提取出来,然后把其他的无关的信息丢弃,例如背景噪声、情绪等等。
[外链图片转存失败(img-qRq3Wguz-1562727863940)(https://ltengy.github.io/images/BPVoice/2019-07-10_102153.jpg)]
搞清语音是怎么产生的对于我们理解语音有很大帮助。人通过声道产生声音,声道的构造决定了发出怎样的声音。声道的构造包括舌头,牙齿等。如果我们可以准确的知道这个形状,那么我们就可以对产生的音素进行准确的描述。声道的构造在语音短时功率谱的包络中显示出来。而MFCCs就是一种准确描述这个包络的一种特征。
传统方法对一段音频信号进行倒谱分析,提取频谱包络(连接所有共振峰值的包络),但是,对于人类听觉感知的实验表明,人类听觉的感知只聚焦在某些特定的区域,而不是整个频谱包络。
而Mel频率分析就是基于人类听觉感知实验的。实验观测发现人耳就像一个滤波器组一样,它只关注某些特定的频率分量(人的听觉对频率是有选择性的)。也就说,它只让某些频率的信号通过,而压根就直接无视它不想感知的某些频率信号。但是这些滤波器在频率坐标轴上却不是统一分布的,在低频区域有很多的滤波器,他们分布比较密集,但在高频区域,滤波器的数目就变得比较少,分布很稀疏。
(https://ltengy.github.io/images/BPVoice/2019-07-10_102435.jpg)]
[外链图片转存失败(img-nano6Ohl-1562727905391)(https://ltengy.github.io/images/BPVoice/2019-07-10_102404.jpg)]
人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的。在语音特征的提取上,人类听觉系统做得非常好,它不仅能提取出语义信息, 而且能提取出说话人的个人特征,这些都是现有的语音识别系统所望尘莫及的。如果在语音识别系统中能模拟人类听觉感知处理特点,就有可能提高语音的识别率。
梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)考虑到了人类的听觉特征,先将线性频谱映射到基于听觉感知的Mel非线性频谱中,然后转换到倒谱上。将普通频率转化到Mel频率的公式是:
m e l ( f ) = 2595 × l o g 10 ( 1 + f 700 ) mel\left(f\right)=2595\times log_{10}\left(1+\frac{f}{700}\right) mel

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值