从this question开始,我了解了如何解交织16位PCM数据的左右声道。
我现在的问题是,如何将8位PCM解交织并“拉伸(stretch)”为16位值
最佳答案
16位PCM在最低有效位一侧具有基本相同的数据位和附加位,以指定值并增加精度和细节。然后8位PCM是typically的无符号值,中心点为0x80
,而16位PCM(也适用于更高的位)是有符号整数,因此转换公式为:
UINT8 sample8 = ...;
INT16 sample16 = (INT16) (sample8 - 0x80) << 8;