8位PCM编码转换16位PCM

     WAV格式的音频文件,如果是没有经过压缩的,那里面的PCM数据,就是最原始的采样数据。根据采样位数的不同,常见的有8bit PCM数据, 16bit PCM数据, 由于种种原因,有时可能会遇到8bit 与16bit PCM编码之间相互转换的情况,

    下面重点讲下8bit转换为16ibt PCM的过程(其它过程类似)

首先明确一点的时,8b PCM的采样数据是无符号数据, 而16b PCM的采样数据是有符号数据,因此8bit PCM转换为 16bit PCM时,必须先把无符号数据转换为有符号数,下面给出一个简单可行的方法:

比如1组8bit PCM数据X(n), 只需把每一个数据加上0x80 然后再强制转换为有符号数据就可以了Y(n),,

如果要转换为16bit PCM数据,只要再做一个左移8位操作为可以了   16bit PCM = Y(n)  <<  8;

弄懂了上面的原理,无论8位转16位,还是16位转8位都 很容易,   再进一步,即使是其它位数比如12bit, 也是可以按照上面的方法完成转换的!

(wav文件格式请参考https://blog.csdn.net/wandersky0822/article/details/112316468?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161663284716780255280422%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161663284716780255280422&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v1~rank_blog_v1-1-112316468.pc_v1_rank_blog_v1&utm_term=wav)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值