pvsfreeze — Freeze the amplitude and frequency time functions of a pv stream according to a control-rate trigger.
This opcodes 'freezes' the evolution of pvs stream by locking into steady amplitude and/or frequency values for each bin. The freezing is controlled, independently for amplitudes and frequencies, by a control-rate trigger, which switches the freezing 'on' if equal to or above 1 and 'off' if below 1.
fsig -- output pv stream
fsigin -- input pv stream.
kfreeza -- freezing switch for amplitudes. Freezing is on if above or equal to 1 and off if below 1.
kfcf -- freezing switch for frequencies. Freezing is on if above or equal to 1 and off if below 1.
Warning | |
---|---|
It is unsafe to use the same f-variable for both input and output of pvs opcodes. Using the same one might lead to undefined behavior on some opcodes. Use a different one on the left and right sides of the opcode. |
Example 832. Example
asig in ; input ktrig oscil 1.5, 0.25, 1 ; trigger fim pvsanal asig1, 1024, 256, 1024, 0 ; pvoc analysis fou pvsfreeze fim, abs(ktrig), abs(ktrig) ; regular 'freeze' of spectra aout pvsynth fou ; pvoc synthesis
In the example above the input signal will be regularly 'frozen' for a short while, as the trigger rises above 1 about every two seconds.
Here is an example of the use of the pvsfreeze opcode. Play pvsfreeze.csd
Example 833. Example of the pvsfreeze 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 ; Audio out Audio in -odac ;;;realtime audio out ; For Non-realtime ouput leave only the line below: ; -o pvsfreeze.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 ;; example written by joachim heintz 2009 seed 0 instr 1 ifftsize = 1024 ioverlap = ifftsize / 4 iwinsize = ifftsize iwinshape = 1 ; von-Hann window Sfile1 = "fox.wav" ain soundin Sfile1 kfreq randomh .7, 1.1, 3; probability of freezing freqs: 1/4 kamp randomh .7, 1.1, 3; idem for amplitudes fftin pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of file freeze pvsfreeze fftin, kamp, kfreq; freeze amps or freqs independently aout pvsynth freeze; resynthesize outs aout, aout endin </CsInstruments> <CsScore> r 10 i 1 0 2.757 e </CsScore> </CsoundSynthesizer>