import json,sys,numpy as np,soundfile as sf
from pathlib import Path
sys.path.insert(0,str(Path.home()/"Projects/AutoRemaster/tools"))
from automaster_app.pipeline.reference_engine import third_octave_spectrum_db,THIRD_OCTAVE_HZ
import pyloudnorm as pyln
a,sr=sf.read(sys.argv[1],always_2d=True); p=json.loads(Path(sys.argv[2]).read_text()); m=pyln.Meter(sr); l=m.integrated_loudness(a); n=a*10**((-14-l)/20); spec=np.array(third_octave_spectrum_db(n,sr)); ref=np.array(p["third_octave_db"]); hz=np.array(THIRD_OCTAVE_HZ);
for h,x,r in zip(hz,spec,ref):
    if 50<=h<=16000: print(f"{h:7.0f} {x-r:+7.2f} cand={x:7.2f} ref={r:7.2f}")
