trcross — Streaming partial track cross-synthesis.


The trcross opcode takes two inputs containg TRACKS pv streaming signals (as generated, for instance by partials) and cross-synthesises them into a single TRACKS stream. Two different modes of operation are used: mode 0, cross-synthesis by multiplication of the amplitudes of the two inputs and mode 1, cross-synthesis by the substititution of the amplitudes of input 1 by the input 2. Frequencies and phases of input 1 are preserved in the output. The cross-synthesis is done by matching tracks between the two inputs using a 'search interval'. The matching algorithm will look for tracks in the second input that are within the search interval around each track in the first input. This interval can be changed at the control rate. Wider search intervals will find more matches.


fsig trcross fin1, fin2, ksearch,kdepth[,kmode] 


fsig -- output pv stream in TRACKS format

fin1 -- first input pv stream in TRACKS format.

fin2 -- second input pv stream in TRACKS format

ksearch -- search interval ratio, defining a 'search area' around each track of 1st input for matching purposes.

kdepth -- depth of effect (0-1).

kmode -- mode of cross-synthesis. 0, multiplication of amplitudes (filtering), 1, subsitution of amplitudes of input 1 by input 2 (akin to vocoding). Defaults to 0.


Example 464. Example

ain inch 1                  ; input signals
ain inch 2
fs1,fsi2 pvsifd ain,2048,512,1 ; ifd analysis
fst  partials fs1,fsi2,.003,1,3,500  ; partial tracking
fs11,fsi12 pvsifd ain,2048,512,1 ; ifd analysis (second input)
fst1  partials fs11,fsi12,.003,1,3,500  ; partial tracking \(second input
fcr trcross fst,fst1, 1.05, 1 ; cross-synthesis (mode 0)
      aout  tradsyn fcr, 1, 1, 500, 1 ; resynthesis of tracks
out aout

The example above shows partial tracking of two ifd-analysis signals, cross-synthesis, followed by the remix of the two parts of the spectrum and resynthesis.


Author: Victor Lazzarini;
February 2006

New in Csound5.01