pvsynth — Resynthesise using a FFT overlap-add.
Example 857. Example (using score-supplied f-table, assuming fsig fftsize = 1024)
; score f-table using cubic spline to define shaped peaks f1 0 513 8 0 2 1 3 0 4 1 6 0 10 1 12 0 16 1 32 0 1 0 436 0 asig buzz 20000, 199, 50, 1 ; pulsewave source fsig pvsanal asig, 1024, 256, 1024, 0 ; create fsig kmod linseg 0, p3/2, 1, p3/2, 0 ; simple control sig fsigout pvsmaska fsig, 2, kmod ; apply weird eq to fsig aout pvsynth fsigout ; resynthesize, dispfft aout, 0.1, 1024 ; and view the effect
Here is an example of the pvsynth opcode. Play pvsynth.csd
Example 858. Example of the pvsynth 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 ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o pvsynth.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 ;; example written by joachim heintz 2009 instr 1 ifftsize = 1024 ioverlap = ifftsize / 4 iwinsize = ifftsize iwinshape = 1 ; von-Hann window Sfile = "fox.wav" ain soundin Sfile fftin pvsanal ain, ifftsize, ioverlap, iwinsize, iwinshape; fft-analysis of the audio-signal aout pvsynth fftin; resynthesis outs aout, aout endin </CsInstruments> <CsScore> i 1 0 3 e </CsScore> </CsoundSynthesizer>