GEN43 — Loads a PVOCEX file containing a PV analysis.


This subroutine loads a PVOCEX file containing the PV analysis (amp-freq) of a soundfile and calculates the average magnitudes of all analysis frames of one or all audio channels. It then creates a table with these magnitudes for each PV bin.


f # time size 43 filecod channel


size -- number of points in the table, power-of-two or power-of-two plus 1. GEN 43 does not make any distinction between these two sizes, but it requires the table to be at least the fftsize/2. PV bins cover the positive spectrum from 0Hz (table index 0) to the Nyquist (table index fftsize/2+1) in equal-size frequency increments (of size sr/fftsize).

filcod -- a pvocex file (which can be generated by pvanal).

channel -- audio channel number from which the magnitudes will be extracted; a 0 will average the magnitudes from all channels.

Reading stops at the end of the file.

[Note] Note

if p4 is positive, the table will be post-normalised. A negative p4 will cause post-normalisation to be skipped.


f1 0 512   43  "viola.pvx" 1
f1 0 -1024 -43 "noiseprint.pvx" 0

This table can be used as a masking table for pvstencil and pvsmaska. The first example uses a 1024-point FFT phase vocoder analysis file from which the first channel is used. The second uses all channels of a 2048-point file, without post-normalisation. For noise reduction applications with pvstencil, it is easiest to skip table normalisation (negative GEN code).


Author: Victor Lazzarini