import math,wave,struct,json,hashlib
from pathlib import Path
d=Path('.');d.mkdir(parents=True,exist_ok=True)
seq=[60,60,64,67,67,64,62,60];rate=44100
for label,amp in [('reference',.4),('quiet',.004)]:
 samples=[]
 for pitch in seq:
  for i in range(10584):
   t=i/rate;env=max(0,min(1,t/.01,(.18-t)/.02))
   samples.append(round(32767*amp*env*math.sin(2*math.pi*440*2**((pitch-69)/12)*t)))
 with wave.open(str(d/(label+'.wav')),'wb') as f:f.setparams((1,2,rate,len(samples),'NONE','not compressed'));f.writeframes(struct.pack('<'+'h'*len(samples),*samples))
