1 from gmisclib import cache
2 from gmisclib import gpkmisc
3 from gpk_voicing import percep_spec as PS
4
5 ROOT = '/tmp/cached_percep_spec'
6
7 -def perceptual_spec(data, dt, Dt, bmin=PS.CBmin, bmax=PS.CBmax, db=PS.BBSZ,
8 do_mod=0, do_dissonance=False, PlompBouman=True,
9 do_peakalign=False, e=None, cache_info=None):
10 ci = None
11 if cache_info is not None:
12 ci = cache_info.addinfo(dt, Dt, bmin, bmax, db, do_mod, do_dissonance,
13 PlompBouman, do_peakalign, e, 'percep_spec', mod=PS)
14 try:
15 return ci.load()
16 except ci.Errors:
17 pass
18
19 bctrs, neural, t0 = PS.perceptual_spec(data, dt, Dt, bmin=bmin, bmax=bmax, db=db,
20 do_mod=do_mod, do_dissonance=do_dissonance,
21 PlompBouman=PlompBouman,
22 do_peakalign=do_peakalign, e=e)
23 if ci is not None:
24 ci.bg_dump((bctrs, neural, t0))
25 return (bctrs, neural, t0)
26