Open jjau opened 2 months ago
Note another possibility is to force using
time_points = np.array([0.027, 0.634, 1.137, 1.647, 2.185, 2.649, 3.181]) # values found in audacity
num_points = len(time_points)
bpf = PhaseVocoder.create_BPF(
'stretch',config_file,time_points,num_points,0)
but that generates random values too
Up until at least v2.3.2, CLEESE assumes a slightly different format for bpfs when they are passed directly with the
bpf=BPF
keyword, compared to when they are generated autonomously by the system. When generated by the system, bpfs can be made assquare
orramp
, depending on theBPFtype
parameter in the config file. When custom bpfs are passed directly however, that parameter is ignored (issue), and whatever bpf values are passed are automatically interpolated linearly between time points, as if it was a ramp. So, if a square bpf is expected, one has to prepare the custom bpf before passing it tocleese.process_data
so that its linear interpolation generates thesquare
bpf that we eventually want the function to use - basically copying the same code operation that creates square bpfs inengines/phase_vocoder/bpf.py
:This should probably be fixed, so that the behaviour is consistent with that used in random generation.