resyn
Prev | Orchestra Opcodes and Operators | Next

## resyn

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

## Description

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.

## Syntax

    asig resyn 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 resyn opcode. It uses the file resyn.csd.

Example 901. Example of the resyn 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 resyn.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

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

    instr 1

    ktracks = p4
    ain	diskin2  "fox.wav", 1, 0, 1
    fs1,fsi2 pvsifd  ain, 2048, 512, 1		; pvsifd analysis
    fst	partials fs1, fsi2, .1, 1,3, 500	; partial tracking
    aout	resyn    fst, 1, 1.5, ktracks, 1	; resynthesis (up a 5th)
    	outs	 aout, aout

    endin
    </CsInstruments>
    <CsScore>
    ;sine
    f1 0 4096 10 1

    i 1 0 2.7 500
    i 1 3 2.7 10	;non-linear filtering effect

    e
    </CsScore>
    </CsoundSynthesizer>

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

## See also

Tools for Real-time Spectral Processing (pvs opcodes)

## Credits

Author: Victor Lazzarini
June 2005

New plugin in version 5

November 2004.

Prev | Up | Next
resonz | Home | return