mincer

mincer — Phase-locked vocoder processing.

Description

mincer implements phase-locked vocoder processing using function tables containing sampled-sound sources, with GEN01, and mincer will accept deferred allocation tables.

This opcode allows for time and frequency-independent scaling. Time is controlled by a time index (in seconds) to the function table position and can be moved forward and backward at any chosen speed, as well as stopped at a given position ("frozen"). The quality of the effect is generally improved with phase locking switched on.

mincer will also scale pitch, independently of frequency, using a transposition factor (k-rate).

Syntax

asig mincer atimpt, kamp, kpitch, ktab, klock[,ifftsize,idecim]
      

Initialization

ifftsize -- FFT size (power-of-two), defaults to 2048.

idecim -- decimation, defaults to 4 (meaning hopsize = fftsize/4)

Performance

atimpt -- time position of current audio sample in secs. Table reading wraps around the ends of the function table.

kamp -- amplitude scaling

kpitch -- grain pitch scaling (1=normal pitch, < 1 lower, > 1 higher; negative, backwards)

klock -- 0 or 1, to switch phase-locking on/off

ktab -- source signal function table. Deferred-allocation tables (see GEN01) are accepted, but the opcode expects a mono source. Tables can be switched at k-rate.

Examples

Here is an example of the mincer opcode. Play mincer.csd

Example 618. Example of the mincer opcode.

<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 mincer.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

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

instr 1

idur  = p3
ilock = p4
ipitch = 1
itimescale = 0.5
iamp  = 0.8

atime line   0,idur,idur*itimescale
asig  mincer atime, iamp, ipitch, 1, ilock
      outs asig, asig

endin
</CsInstruments>
<CsScore>
f 1 0 0 1 "fox.wav" 0 0 0

i 1 0 5 0	;not locked
i 1 6 5 1	;locked

e

</CsScore>
</CsoundSynthesizer>


Credits

Author: Victor Lazzarini
February 2010

New plugin in version 5.13

February 2005.