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 -- 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.