Open jjau opened 2 years ago
One difficulty here is that the time base for all transformations is not necessarily the same, e.g.
[pitch]
windows.n=5
...
[stretch]
windows.n=6
One default behaviour could be that values at finer-grained breakpoints are interpolated from their original breakpoints, depending on the ramp/square setting of the corresponding transform.
Filenaming conventions:
chain = [pitch, stretch]
pitch/
folder, files are file001_pitch.wav
and file001_pitch.txt
(as is)stretch/
folder, files are file001_pitch_stretch.wav
; file001_pitch_stretch.txt
should be the merged bpf file (ready for revcor app); file001_stretch.txt
should be the stretch only bpf
When several audio transformations are chained (e.g. [pitch, gain]), cleese generates several folders of output files, corresponding to all successive nested transformations (e.g. /pitch and /pitch_gain). The BPF files associated with each of the output files in the outermost transformations (i.e. here /pitch_gain) only give parameters for the last-in-chain transformation (i.e. here, gain).
This behaviour is not optimal when the output files are used as stimuli in reverse correlation experiments, because we need to keep track of all the transformation parameters involved in generating the file (i.e. pitch and gain).
One fix would be to automatically merge the metadata file of each output file to include parameters for all transformations involved, as in the code below