from pathlib import Path
import struct,json
r=[]
for p in Path(__file__).parent.glob('*.wav'):
 b=p.read_bytes();o=12;v=None
 while o+8<=len(b):
  k=b[o:o+4];n=struct.unpack_from('<I',b,o+4)[0]
  if k==b'fmt ':v=struct.unpack_from('<HHIIHH',b,o+8)
  o+=8+n+n%2
 assert v is not None;r.append({'file':p.name,'format_code':v[0],'rate':v[2],'container_bits':v[5]})
assert sorted((v['format_code'],v['container_bits']) for v in r)==[(1,16),(1,24),(3,32)]
print(json.dumps(r,indent=2))
