mincer — Phase-locked vocoder processing.
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).
ifftsize -- FFT size (power-of-two), defaults to 2048.
idecim -- decimation, defaults to 4 (meaning hopsize = fftsize/4)
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.
Here is an example of the mincer opcode. It uses the file mincer.csd
Example 514. 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>