Skip to content

pvsynth

Resynthesise phase vocoder data (f-signal) using a FFT overlap-add.

Syntax

ares pvsynth fsrc, [iinit]

Performance

ares -- output audio signal

fsrc -- input signal

iinit -- not yet implemented.

Examples

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. It uses the file pvsynth.csd.

Example of the pvsynth opcode.
<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>

See also

Tools for Real-time Spectral Processing (pvs opcodes)

Credits

Author: Richard Dobson
August 2001

New in version 4.13

February 2004. Thanks to a note from Francisco Vila, updated the example.