今年会读取原始PCM数据,会注意一串字节本身并不说明怎样还原声音。样本位宽、是否有符号以及字节顺序,都影响数值被解释成什么。采用错误约定时,即使数据没有改变,也可能得到完全不符合原意的波形。
同一组字节可以有不同含义
有符号与无符号表示对零点及数值范围采用不同安排,多字节样本还需要知道高低字节怎样排列。声道交织方式也属于必要条件,不能只知道采样率就开始读取。原始数据与包含明确结构说明的容器,应分别理解。
错误解释不等于源文件真的录到了那些异常声音。先核对格式定义和工具设置,比直接对结果降噪更有依据。不要凭扩展名猜测所有内部细节,也不把某种常见位宽的经验推广到全部PCM形式。
转换需要处理实际数值
修改标签与按正确关系转换样本是不同动作。若软件按错误前提读取,后续再保存可能把错误结果固定下来,因此应保留原件。已经发生的解释问题,需要回到可靠结构信息核对,而不是不断尝试听起来稍正常的组合。
MDN的数字音频资料介绍了样本与数据形式。理解这些约定,有助于把文件、样本和播放结果连接起来,也提醒读者:数字内容的准确使用依赖共同定义,字节完整并不独自证明解释方式已经正确。