首先来认识一下什么是音频信号
通过matlab我们可以直接读入一个音频文件,同时直接绘图
但是此时的横坐标和纵坐标是什么呢?
>> [y,fs] = audioread('5num.wav');
>> plot(y)
不断放大信号:
得到了这样一幅图

image
这时候纵坐标我们可以理解成幅度,但是横坐标其实什么也不是
或者说就是一系列点而已,我们可以对这些点进行一定的组合,比如每160个点作为一组,这就是分帧
那频率呢?
matlab在读取一个音频的时候还会返回一个频率呀,这个频率,也就是那个fs,到底是干嘛的,有什么意义呢?
不妨来计算一下:
我的这段音频是29s,
>> length(y)/fs
ans =
29.4400
此时用点的个数除以频率fs,得到的就是时间!
这样想,频率的物理意义就是一秒钟振动的次数,8khz就是一秒钟要震动8000次,一个点震动一次,那么235520个点就要震动29.4400s!
同时可以知道这段音频是16位量化的
可是我们老是说量化量化,量化究竟代表什么含义呢?
其实就理解成每一个点用16个bit来表示
那么,235520个点,每一个点都是16位的,相当于一个点就是2byte
那么就是 235520*2 字节
等价于460KB
查看文件大小

正好是460KB!!
现在理解这几个参数的含义了吧
于是上面那幅图我们需要改进一下
&