计算机保存音频之采样率
1、某些音频可以用数学数学公式合成。
2、采样频率-->每隔一段时间在波形上取一个点(采样频率越高,还远度越高)。
3、100Hz-->每秒取样100次。
4、声音的频率-->震动幅度的空间坐标(-1.0f-1.0f),100Hz-->1秒震动了100次(有100个波形)-->采样率=2*声音频率(至少2个点才能记录1个波形)-->香农采样定理。
压缩算法
1、(wav格式)5分钟的音乐20多M(音乐文件一般都经过压缩,wav是无损压缩)。
2、MPEG Lager3是MP3的压缩算法。
3、有大神把各种音色打包记录下来(可以利用生成音频文件)。
4、wav文件用ADPCM或PCM压缩算法格式。
关于WAV文件格式
我们从度娘那复制一段
偏移地址 字节数 类型 内容
00H~03H 4 字符 资源交换文件标志(RIFF)
04H~07H 4 长整数 从下个地址开始到文件尾的总字节数
08H~0BH 4 字符 WAV文件标志(WAVE)
0CH~0FH 4 字符 波形格式标志(FMT)
10H~13H 4 整数 过滤字节(一般为00000010H)
14H~15H 2 整数 格式种类(值为1时,表示数据为线性PCM编码)
16H~17H 2 整数 通道数,单声道为1,双声音为2
18H~1BH 4 长整数 采样频率
1CH~1FH 4 长整数 波形数据传输速率(每秒平均字节数)
20H~21H 2 整数 数据的调整数(按字节计算)
22H~23H 2 整数 样本数据位数
AAC
音频帧的播放时间=一个AAC帧对应的采样样本的个数/采样频率(单位为s)
一帧 1024个 sample。采样率 Samplerate 44100KHz,每秒44100个sample,
所以 根据公式
音频帧的播放时间=一个AAC帧对应的采样样本的个数/采样频率
(NOTE:该时间可作解码时间的参考,解码时间应偏差确保在该时间的一定范围,异常的话,做一定的异常处理)
如,当前AAC一帧的播放时间是= 1024*1000000/44100= 22.32ms(单位为ms)
或
当前AAC一帧的播放时间是= 1024/44100 = 0.02232 s(单位为秒)=22.32ms(单位为ms)
反过来,如当想通过音频缓冲多少ms来计算实际应缓冲多少个音频帧时,可下计算:
比如对48K缓冲300ms需要多少个buffer,
buffer = 一秒内能产生多少个音频帧(48000/1024) 乘以 时间比例(300/1000) = (48000*300)/(1024*1000) = 14.0625个。
我这里的知识点不完整,只挑了自己看懂的来记,要看完整的可以打开以下链接: