天天看点

音频信号中采样率和比特率以及采样编码的问题

采样率和比特率:

cmd: soxi aa.mp3
Input File     : 'aa.mp3'
Channels       :   
Sample Rate    :    
Precision      : -bit
Duration       : :: =  samples =  CDDA sectors
File Size      : M
Bit Rate       : k
Sample Encoding: MPEG audio (layer I, II or III)
比特率=采样率X采样精度(位数)(*通道数)
那这里的采样率是  K * bit = Kb ?结果为什么会是这样?

Input File     : 'test.wav'
Channels       : 
Sample Rate    : 
Precision      : -bit
Duration       : :: =  samples ~  CDDA sectors
File Size      : k
Bit Rate       : M
Sample Encoding: -bit Signed Integer PCM
那这里的采样率是  K * bit *  =  K =  M
           

通过这两个的对比,发现sample encoding 是不一样的,具体直接用MPEG进行提取特征有无影响不清楚,这里可以通过ffmpeg工具进行转一些就好了。

mac ubuntu 都可以直接安装 brew 或者 apt-get.

可以用ffmpeg直接转化

ffmpeg -i aa.mp3 -ar  -y  aa.wav
           

也可以用python,也是调用的ffmpeg

from pydub import AudioSegment as AS

sound = AS.from_mp3("./aa.mp3")
print sound
sound.export("./aa.wav", format="wav")
           

转换之后再来看一下:

Input File     : 'aa.wav'
Channels       : 
Sample Rate    : 
Precision      : -bit
Duration       : :: =  samples =  CDDA sectors
File Size      : M
Bit Rate       : k
           

注意文件大小也变了很多,具体的两者的编码原理这里暂时不讨论了,我也不懂。