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