binit — PVS tracks to amplitude+frequency conversion.


The binit opcode takes an input containg a TRACKS pv streaming signal (as generated, for instance by partials) and converts it into a equal-bandwidth bin-frame containing amplitude and frequency pairs (PVS_AMP_FREQ), suitable for overlap-add resynthesis (such as performed by pvsynth) or further PVS streaming phase vocoder signal transformations. For each frequency bin, it will look for a suitable track signal to fill it; if not found, the bin will be empty (0 amplitude). If more than one track fits a certain bin, the one with highest amplitude will be chosen. This means that not all of the input signal is actually 'binned', the operation is lossy. However, in many situations this loss is not perceptually relevant.


fsig binit fin, isize


fsig -- output pv stream in PVS_AMP_FREQ format

fin -- input pv stream in TRACKS format

isize -- FFT size of output (N).


Example 52. Example

ain inch 1                  ; input signal
fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
fbins binit  fst, 2048 ; convert it back to bins
      aout pvsynth fbins ; overlap-add resynthesis
out aout

The example above shows partial tracking of an ifd-analysis signal, conversion to bin frames and overlap-add resynthesis.


Author: Victor Lazzarini;
February 2006

New in Csound5.01