[资料干货] 8位PCM编码转换16位PCM

[复制链接]
1453|0
 楼主| wandersky 发表于 2021-3-24 20:24 | 显示全部楼层 |阅读模式
本帖最后由 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

粉丝
快速回复 在线客服 返回列表 返回顶部