在做吴恩达5.3Trigger Word Detection练习时,对于语音方面一些概念不是很了解,查找后作为对此练习的补充知识。以及对Trigger Word Detection练习做一个总结。
一、声音的定义
声音(sound)是由物体振动产生的声波。是通过介质(空气或固体、液体)传播并能被人或动物听觉器官所感知的波动现象。最初发出振动(震动)的物体叫声源。声音以波的形式振动(震动)传播。声音是声波通过任何物质传播形成的运动
录音:麦克风随着时间的推移记录气压的微小变化,如果使用44100Hz采样即每秒记录44100个数字。
二、音频参数
一般地,音频有以下几个很重要的参数:
1、采样频率:每秒采集数据的次数
2、采样精度:每次采集数据的位数
3、通道数:存在几路音频
4、比特率:针对编码格式,表示压缩编码后每秒的音频数据量大小
正常人听觉的频率范围大约在20Hz~20kHz之间。采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。
帧的定义:
将N个采样点集合成一个观测单位,称为帧,采样数据帧就是将多个连续的采样数据分为一组,主要是为了便于处理采样数据。
采样数据帧一般是以时间为单位进行分组,例如:将8000hz的音频数据流按20ms为一个单位划分为一帧,则每帧包含8000*20/1000=160个采样数据。一般音频编码都是以音频数据帧为单位进行的,每次编码一个音频数据帧。
对采样率为44.1kHz的AAC(Advanced Audio Coding)音频进行解码时,一帧的解码时间须控制在23.22毫秒内。通常是按1024个采样点一帧。
以上音频参数相关内容来自以下博客:
https://blog.csdn.net/baidu_31437863/article/details/82423869
音频记录的频谱图:
谱图的维度取决于谱图软件的超参数和输入的长度;
颜色显示的是不同时间点音频不同频率的程度,绿色方块意味着音频片段中的某个音频更加活跃(声音更加响亮),蓝色方块表示较少的活动频率。
三、语音识别的训练集生成
在语音识别项目中,训练集的获取和标记是一件非常有难度的事情。所以训练集可以通过合成,但是开发集还是通过正常采集,这样才能与软件的实际引用时更符合,才能了解模型的性能到底怎样。
下面为根据练习整理的生成训练集的思路:
四、语音识别模型
Input经过conv-1D处理,再经过GRU单元的两层RNN模型处理
模型看起来很复杂,但是用Keras实现代码很简单,如下: