from pathlib import Path
import wave,json
def readpcm(path):
 with wave.open(str(path),'rb') as w:
  rate=w.getframerate();n=w.getnframes();width=w.getsampwidth();b=w.readframes(n)
 return rate,[int.from_bytes(b[i:i+width],'little',signed=True)/(2**(width*8-1)-1) for i in range(0,len(b),width)]
p=Path(__file__).parent;_,a=readpcm(p/'positive.wav');_,b=readpcm(p/'negative.wav');_,s=readpcm(p/'sum.wav');r=max(abs(x+y) for x,y in zip(a,b));assert r==0 and max(map(abs,s))==0;print(json.dumps({'aligned_sum_peak':r,'sum_file_peak':max(map(abs,s)),'track_peak':max(a)},indent=2))
