trscale
Prev | Orchestra Opcodes and Operators | Next

## trscale

trscale — Streaming partial track frequency scaling.

## Description

The trscale opcode takes an input containg a TRACKS pv streaming signal (as generated, for instance by partials) and scales all frequencies by a k-rate amount. It can also, optionally, scale the gain of the signal by a k-rate amount (default 1). The result is pitch shifting of the input tracks.

## Syntax

    fsig trscale fin, kpitch[, kgain]

## Performance

fsig -- output pv stream in TRACKS format

fin -- input pv stream in TRACKS format

kpitch -- frequency scaling

kgain -- amplitude scaling (default 1)

## Examples

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

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

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

    instr 1

    kpitch  = p4
    ain	diskin2	"fox.wav", 1
    fs1,fsi2 pvsifd	ain, 2048, 512, 1		; ifd analysis
    fst	partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
    fscl	trscale	fst, kpitch			; frequency scale
    aout	tradsyn	fscl, 1, 1, 500, 1		; resynthesis
            outs    aout, aout

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

    i 1 0 3 1.5	;up a 5th
    i 1 3 3 3	;two octaves higher
    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
February 2006

New in Csound 5.01

Prev | Up | Next
trmix | Home | trshift