resyn — Streaming partial track additive synthesis with cubic phase interpolation with pitch control and support for timescale-modified input


The resyn opcode takes an input containg a TRACKS pv streaming signal (as generated, for instance by partials). It resynthesises the signal using linear amplitude and cubic phase interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls. Resyn is a modified version of sinsyn, allowing for the resynthesis of data with pitch and timescale changes.


asig resyn fin, kscal, kpitch, kmaxtracks, ifn


asig -- output audio rate signal

fin -- input pv stream in TRACKS format

kscal -- amplitude scaling

kpitch -- pitch scaling

kmaxtracks -- max number of tracks in resynthesis. Limiting this will cause a non-linear filtering effect, by discarding newer and higher-frequency tracks (tracks are ordered by start time and ascending frequency, respectively)

ifn -- function table containing one cycle of a sinusoid (sine or cosine)


Example 397. 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
      aout  resyn fst, 1, 1.5, 500, 1 ; resynthesis (up a 5th)
out aout

The example above shows partial tracking of an ifd-analysis signal and cubic-phase additive resynthesis with pitch shifting.


Author: Victor Lazzarini;
June 2005

New plugin in version 5

November 2004.