深度学习:语音识别技术实践
上QQ阅读APP看书,第一时间看更新

2.4 读入语音信号

声音经过模拟设备记录或再生成为模拟音频,再经数字化成为数字音频。PCM (Pulse Code Modulation,脉冲编码调制)文件是模拟音频信号经模-数转换直接形成的二进制序列。

PCM流具有两个基本属性来确定流对原始模拟信号的保真度——采样率,即每秒取样的次数及确定可用于表示每个样本可能数字值数量的比特深度。大多数存储的未压缩音频是16位。其他位深度,如8和24也是常见的,并且存在许多其他位深度。

数字化时的采样率必须高于信号带宽的两倍,才能正确恢复信号。1Hz代表每秒钟采样1次。声音采样频率一般为8kHz,也就是每秒采样8000次。人们能够听见的音频频率范围为60Hz~20kHz,其中语音分布在300Hz~4kHz内,而音乐和其他自然声音是全范围分布的。识别语音的最小频率范围为300Hz~4kHz。

由于16位深度很常见,所以以此为例来了解数据是如何格式化的。通常将16位音频存储为打包的16位有符号整数。整数可能是big-endian(最常见的是AIFF)或little-endian(最常见的是WAV)。如果有多个通道,通道间通常是交错的。例如,在立体声音频中,有一个表示左声道的16位整数,后面跟着一个代表右声道的16位整数。这两个样本代表同一时间,两者一起有时称为采样帧或简单称为帧。short数据类型表示16位有符号整数。因此,要读取原始16位数据,通常需要将数据定义为一个short类型的数组。

例如,有一个WAV文件(16位PCM:44kHz两通道),现为两个通道中的每一个提取采样到两个short类型的数组。

为了方便后续处理,可以将数据归一化成为-1~1的浮点数。一般的语音文件为16位深度,也就是-1~1对应-32 768~32 767的整数。