tradsyn — Streaming partial track additive synthesis


The tradsyn opcode takes an input containg a TRACKS pv streaming signal (as generated, for instance by partials),as described in Lazzarini et al, "Time-stretching using the Instantaneous Frequency Distribution and Partial Tracking", Proc.of ICMC05, Barcelona. It resynthesises the signal using linear amplitude and frequency interpolation to drive a bank of interpolating oscillators with amplitude and pitch scaling controls.


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

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


Author: Victor Lazzarini;
June 2005

New plugin in version 5

November 2004.