wav全集解析.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
wav全集解析

1.什么是 PCM 音频数据 PCM(Pulse Code Modulation)也被称为脉冲编码调制。PCM 音频数据是未经压缩的音频采样数据裸流, 它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。 2.PCM 音频数据是如何存储的 如果是单声道的音频文件,采样数据按时间的先后顺序依次存入(有的时候也会采用 LRLRLR 方式存储, 只是另一个声道的数据为 0 ),如果是双声道的话就按照LRLRLR 的方式存储,存储的时候还和机器的大 小端有关。大端模式如下图所示: 3.PCM 音频数据中常用的专业术语 一般我们描述 PCM 音频数据的参数的时候有如下描述方式 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位 (2字节)记录 , 双声道 (立体声); 22050HZ 8bit mono: 每秒钟有 22050 次采样, 采样数据用 8 位 (1字节)记录 , 单声道 ; 44100Hz 指的是采样率,它的意思是每秒取样 44100 次。采样率越大,存储数字音频所占的空间就越大。 16bit 指的是采样精度,意思是原始模拟信号被采样后,每一个采样点在计算机中用 16 位(两个字节)来表 示。采样精度越高越能精细地表示模拟信号的差异。 一般来说 PCM 数据中的波形幅值越大,代表音量越大。 4.PCM 音频数据的处理 4.1.分离 PCM 音频数据左右声道的数据 因为 PCM 音频数据是按照 LRLRLR 的方式来存储左右声道的音频数据的,所以我们可以通过将它们交叉 的读出来的方式来分离左右声道的数据 int simplest_pcm16le_split(char *url){ FILE *fp=fopen(url,rb+); FILE *fp1=fopen(output_l.pcm,wb+); FILE *fp2=fopen(output_r.pcm,wb+); unsigned char *sample=(unsigned char *)malloc(4); while (!feof(fp)){ fread(sample,1,4,fp); //L fwrite(sample,1,2,fp1); //R fwrite(sample+2,1,2,fp2); } free(sample); fclose(fp); fclose(fp1); fclose(fp2); return 0; } 4.2.降低某个声道的音量 因为对于 PCM 音频数据而言,它的幅值(即该采样点采样值的大小)代表音量的大小,所以我们可以通过 减小某个声道的数据的值来实现降低某个声道的音量 int simplest_pcm16le_halfvolumeleft(char *url){ FILE *fp=fopen(url,rb+); FILE *fp1=fopen(output_halfleft.pcm,wb+); int cnt=0; unsigned char *sample=(unsigned char *)malloc(4); while (!feof(fp)){ short *samplenum=NULL; fread(sample,1,4,fp); samplenum=(short *)sample; *samplenum=*samplenum/2; //L fwrite(sample,1,2,fp1); //R fwrite(sample+2,1,2,fp1); cnt++; } printf(Sample Cnt:%d\n,cnt); free(sample); fclose(fp); fclose(fp1); return 0; } 4.3.将 PCM 音频数据转换成 WAV 格式 WAV 为微软公司(Microsoft)开发的一种声音文件格式,它符合 RIFF(Resource Interchange File Format)文件规范,用于保存 Windows 平台的音频信息资源,被 Windows 平台及其应用程序所广泛支持。 WAVE 文件通常只是一

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档