Я пишу программу для чтения и обработки WAV-файлов для проекта класса цифровой обработки сигналов, и у меня есть два тестовых файла. Я могу прочитать RIFF
, fmt
и data
штук правильно. Оба файла имеют fmt Chunk Size: 16
, но файл B имеет этот бродячий кусок гексагона между кусочками fmt
и data
.Какие еще суб-куски файлов WAV?
Я уверен, что это не случайные данные. Я предположил, что у него есть некоторые метаданные о файле, поэтому я преобразовал его название песни Colors
в hex и нашел, что 43 6f 6c 6f 72 73
находится в пределах этого бродячего куска. Я чувствую, что это не совпадение. На всех сайтах, которые я посещал, упоминается только о двухбайтовой переменной, которая сообщает размер дополнительных параметров в конце фрагмента fmt
. Это не может быть в случае файла B, если оба блока fmt
претендуют только на 16 bytes
.
Я предполагаю, что в файле есть другие куски. Я ничего не нашел об этих необязательных (?) Кусках. Мне нужна помощь, чтобы узнать, какие еще суб-куски я могу найти в wav-файле. Я просто не знаю теги других блоков, которые могут присутствовать в WAV файл
Файл A («я бежал так далеко away.wav») содержит этот заголовок. Я загрузил этот файл из Интернета.
5249 4646 24c0 c900 5741 5645 666d 7420
1000 0000 0100 0100 2256 0000 44ac 0000
0200 1000 6461 7461 00c0 c900
Файл B ("Colors.wav") содержит этот заголовок. Это файл, который я загрузил из .mp3 в .wav-конвертер.
5249 4646 7c32 4a02 5741 5645 666d 7420
1000 0000 0100 0200 44ac 0000 10b1 0200
0400 1000 4c49 5354 5000 0000 494e 464f
4941 5254 0500 0000 466c 6f77 0000 494e
414d 0700 0000 436f 6c6f 7273 0000 4950
5244 0f00 0000 436f 6465 2047 6561 7373
204f 5031 0000 4953 4654 0e00 0000 4c61
7666 3537 2e32 362e 3130 3000 6461 7461
0032 4a02
Если это полезно, ниже выводится из программы, которую я написал.
File A
File Descriptor: RIFF
RIFF Chunk Size: 13221924
File Format: WAVE
fmt Chunk Descriptor: fmt
fmt Chunk Size: 16
Audio Format: 1
Number of Channels: 1
Sampling Rate: 22050
Byte Rate: 44100
Block Align: 2
Bits Per Sample: 16
Data Chunk Descriptor: data
Data Chunk Size: 13221888
File B
File Descriptor: RIFF
RIFF Chunk Size: 38417020
File Format: WAVE
fmt Chunk Descriptor: fmt
fmt Chunk Size: 16
Audio Format: 1
Number of Channels: 2
Sampling Rate: 44100
Byte Rate: 176400
Block Align: 4
Bits Per Sample: 16
Data Chunk Descriptor: data
Data Chunk Size: 38416896
Я попытался преобразовать гекс в ascii и нашел этот кусок 'LIST P'. Как бы то ни было, знаете ли вы, что это значит, или это пренебрежимо мало, как «ИНФО»? – Nogurenn