pvsynth

pvsynth — Resynthesise using a FFT overlap-add.

Description

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 862. 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 863. 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>


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.