打印
[资料干货]

8位PCM编码转换16位PCM

[复制链接]
915|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wandersky 于 2021-3-25 18:35 编辑

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, 也是可以按照上面的方法完成转换的!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

189

帖子

2

粉丝