音频的压缩与播放.docVIP

  • 7
  • 0
  • 约1.19万字
  • 约 16页
  • 2016-10-14 发布于重庆
  • 举报
音频的压缩与播放

音频的压缩与播放 作者:刘加成 班级:2008111 学号摘要: 音频的压缩——adpcm压缩算法。 1、Adpcm音频压缩算法简介 2、Adpcm压缩源代码 3、当今音频压缩格式简介 二、音频的播放——在VB中利用API函数实现媒体音频的播放。 1) 使用对象链接与嵌入技术OLE(Object Linked and Embedded,目标链接与嵌入)。 2) 使用 MCI(Media Control Interface, 媒体控制接口),MCI 是多媒体设备和多媒体应用软件之间进行与设备无关的沟通桥梁。 3) 通过调用API函数实现媒体音频播放。Windows 的 API 函数按不同类别多达几千个, 其中有一组与多媒体相关的函数,使用 API 设计多媒体应用程序就是通过调用这一组函数来实现的。 一、音频的压缩 1、ADPCM(自适应差分PCM)   类型:Audio   制定者:ITU-T   所需频宽:32Kbps   特性:ADPCM(adaptive difference pulse code modulation)综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能比较好的波形编码。它的核心想法是:   ①利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值;   ②使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。   优点:算法复杂度低,压缩比小(CD音质400kbps),编解码延时最短(相对其它技术)   缺点:声音质量一般 ADPCM (ADPCM Adaptive Differential Pulse Code Modulation), 是一种针对16bit (或者更高) 声音波形数据的一种有损压缩算法, 它将声音流中每次采样的 16bit 数据以 4bit 存储, 所以压缩比1:4. 而压缩/解压缩算法非常的简单, 所以是一种低空间消耗,高质量声音获得的好途径。8bits采样的声音人耳是可以勉强接受的,而 16bit 采样的声音可以算是高音质了。ADPCM 算法却可以将每次采样得到的 16bit 数据压缩到 4bit 。需要注意的是,如果要压缩/解压缩得是立体声信号,采样时,声音信号是放在一起的,需要将两个声道分别处理。adpcm音频压缩算法#include stdio.h #ifndef __STDC__ #define signed #endif struct adpcm_state { short valprev; /* Previous output value */ char index; /* Index into stepsize table */ }; /* Intel ADPCM step variation table */ static int indexTable[16] = { -1, -1, -1, -1, 2, 4, 6, 8, -1, -1, -1, -1, 2, 4, 6, 8, }; static int stepsizeTable[89] = { 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767 }; /*-------------adpcm_ecoder---------------------------------------------*/ void adpcm_coder(indata, outdata, len, state) short indata[]; char outdata[]; int len; struct adpcm_state *st

文档评论(0)

1亿VIP精品文档

相关文档