我目前正在使用WAV(.wav音频文件)阅读器,该阅读器从.wave文件中读取音频数据并创建波形。
我的问题是,根据每个样本的#34位,我得到不同的字节数"大小
字节取决于"每个样本的位数":
8bit = 1 byte
16bit= 2 bytes
24bit= 3 bytes
32bit= 4 bytes
例如: 我读了一个24位立体声.wav文件。 24bit / 2channels = 12bit =每通道3bytes。 字节按 little-endian 排序。
从.wav文件的字节44开始(音频数据开始的地方)我读取文件末尾的所有字节,并将3字节打包成样本。 样本保存字节数(取决于每个样本的位数)。
我的输出如下:
Sample1 R: 66,65,1
Sample1 L: 66,65,1
Sample2 R: 216,132,2
Sample2 L: 216,132,2
...
问题: 如何将不同数量的字节转换为浮点数?
4bytes -> float
3bytes -> float
2bytes -> float
1byte -> float
(不是this的副本,因为我不总是有4个字节可用)
问候, er4zox