tradsyn
Prev | Orchestra Opcodes and Operators | Next

## tradsyn

tradsyn — Streaming partial track additive synthesis

## Description

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.

## Syntax

    asig tradsyn fin, kscal, kpitch, kmaxtracks, ifn

## Performance

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

## Examples

Here is an example of the tradsyn opcode. It uses the file tradsyn.csd.

Example 922. Example of the tradsyn opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac     ;;;realtime audio out
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o tradsyn.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1

    ipch = p4
    ain  diskin2 "beats.wav", 1
    fs1,fsi2 pvsifd ain,2048,512,1		; ifd analysis
    fst  partials fs1,fsi2,.003,1,3,500	; partial tracking
    aout tradsyn fst, 1, ipch, 500, 1	; resynthesis
         outs aout, aout

    endin
    </CsInstruments>
    <CsScore>
    f1 0 8192 10 1

    i 1 0 2 1.5	;up a 5th
    i 1 + 2  .5	;octave down
    e
    </CsScore>
    </CsoundSynthesizer>

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

## Credits

Author: Victor Lazzarini
June 2005

New plugin in version 5

November 2004.

Prev | Up | Next
trandom | Home | transeg