trmix — Streaming partial track mixing.


The trmix opcode takes two inputs containg TRACKS pv streaming signals (as generated, for instance by partials) and mixes them into a single TRACKS stream. Tracks will be mixed up to the available space (defined by the original number of FFT bins in the analysed signals). If the sum of the input tracks exceeds this space, the higher-ordered tracks in the second input will be pruned.


fsig trmix fin1, fin2 


fsig -- output pv stream in TRACKS format

fin1 -- first input pv stream in TRACKS format.

fin2 -- second input pv stream in TRACKS format


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

Example 1152. Example of the trmix opcode.

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

; 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 trmix.wav -W ;;; for file output any platform

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

instr 1

ain	diskin2	"fox.wav", 1
fs1,fsi2 pvsifd ain, 2048, 512, 1		; ifd analysis
fst	partials fs1, fsi2, .003, 1, 3, 500	; partial tracking
fslo,fshi trsplit fst, 1000			; split partial tracks at 1000 Hz
fscl	trscale	fshi, 1.3			; shift the upper tracks
fmix	trmix	fslo,fscl			; mix the shifted and unshifted tracks
aout	tradsyn	fmix, 1, 1, 500, 1		; resynthesis of tracks
	outs    aout, aout

f1 0 8192 10 1	;sine wave

i 1 0 3

The example above shows partial tracking of an ifd-analysis signal, frequency splitting and pitch shifting of the upper part of the spectrum, followed by the remix of the two parts of the spectrum and resynthesis.

See also

Tools for Real-time Spectral Processing (pvs opcodes)


Author: Victor Lazzarini
February 2006

New in Csound 5.01