Количество каналов - это двухбайтовое целое число в позиции 0x16 в заголовке RIFF, поэтому вы можете просто прочитать его напрямую:
import struct
with open(file1, 'rb') as f1:
header_beginning = f1.read(0x18)
num_channels_file1, = struct.unpack_from('<H', header_beginning, 0x16)
Если вы заинтересованы в поддержке файлов WAV с прямым порядком байтов (что, я думаю, необычно), вы можете обнаружить их, прочитав первые четыре байта файла («RIFF
» или «XFIR
» для little-endian, и «FFIR
» или «RIFX
» для big-endian). Затем для файлов с прямым порядком байтов переключитесь с '<H'
на '>H'
при чтении количества каналов.