«ChunkSize» в файлах WAV - PullRequest
0 голосов
/ 26 мая 2018

В настоящее время я просматриваю следующую информацию о WAV-файлах и наткнулся на «ChunkSize» WAV-файла, включенного в его заголовок.Однако я не могу понять, как рассчитывается значение ChunkSize.Согласно

http://tiny.systems/software/soundProgrammer/WavFormatDocs.pdf

    36 + SubChunk2Size, or more precisely: 
                           4 + (8 + SubChunk1Size) + (8 + SubChunk2Size) 
                           This is the size of the rest of the chunk  
                           following this number.  This is the size of the 
                           entire file in bytes minus 8 bytes for the 
                           two fields not included in this count: 
                           ChunkID and ChunkSize.  

Я смотрел на это примерно 40 минут и не понимаю, откуда пришли цифры.Например, откуда взялись «4» и «8», которые добавляются?

1 Ответ

0 голосов
/ 26 мая 2018

Согласно первой диаграмме в вашей ссылке WavFormatDocs , ChunkSize - это общее количество байтов в полях Format, SubChunk1ID + SubChunk1Size + SubChunk1 и SubChunk2ID + SubChunk2Size + SubChunk2:

Format:                              4 bytes
SubChunk1ID + SubChunk1Size: 4 + 4 = 8 bytes
SubChunk1:                           <SubChunk1Size> bytes
SubChunk2ID + SubChunk2Size: 4 + 4 = 8 bytes
SubChunk2:                           <SubChunk2Size> bytes
                                     ---------------------------------------------------
                                     4 + (8 + SubChunk1Size) + (8 + SubChunk2Size) bytes

Чанк fmt имеет фиксированный размер:

SubChunk1ID:   4  bytes 
SubChunk1Size: 4  bytes 
SubChunk1:     16 bytes
               --------
               24 bytes

Так что ChunkSize это:

Format:         4 bytes 
fmt chunk:     24 bytes 
SubChunk2ID:    4 bytes 
SubChunk2Size:  4 bytes
SubChunk2:     <SubChunk2Size> bytes
               ---------------------
               36 + <SubChunk2Size> bytes
...