我正在编写一个程序来解析WAV文件头并将信息打印到屏幕上.在编写程序之前,我正在做一些研究
hexdump -n 48 sound_file_8000hz.wav
00000000 52 49 46 46 bc af 01 00 57 41 56 45 66 6d 74 20 |RIFF....WAVEfmt |
00000010 10 00 00 00 01 00 01 00 >40 1f 00 00< 40 1f 00 00 |........@...@...|
00000020 01 00 08 00 64 61 74 61 98 af 01 00 81 80 81 80 |....data........|
hexdump -n 48 sound_file_44100hz.wav
00000000 52 49 46 46 c4 ea 1a 00 57 41 56 45 66 6d 74 20 |RIFF....WAVEfmt |
00000010 10 00 00 00 01 00 02 00 >44 ac 00 00< 10 b1 02 00 |........D.......|
00000020 04 00 10 00 64 61 74 61 a0 ea 1a 00 00 00 00 00 |....data........|
>之间的部分和
“40 1f 00 00”如何转换为8000Hz和“44 ac 00 00”转换为44100Hz?可以直接从转储中读取信道数和音频格式等信息.我发现了一个Python
名为WavHeader的脚本,可在两个文件中正确分析采样率.这是脚本的核心:
bufHeader = fileIn.read(38)
# Verify that the correct identifiers are present
if (bufHea