Demonstration Spectral Plugins (pvoc)  for VST (Windows, PowerMac) and DirectX (Windows)

Description and caveats.
 

Windows: Pentium Pro or better.

 

VST plugins.


These have no built-in GUI, but use the facilities of the host. each effect is implemented as a separate plugin.

Download pvplugswin.zip  (517K)

(You are recommended NOT to Bookmark this page - it will probably move soon, and this 'documentation' will get better!)

The zipfile contains all three example  plugins.  The files should be copied into the VST Plugins folder(s) of your VST host application(s).
 
 
 

NEW!!!!!   DirectX plugin "PVStream"

The plugin implements, and serves to demonstrate, a simple internal spectral plugin framework, enabling three slots to be occupied by any of the three supported effects.
Effects can be added/removed while the plugin is running.
It has been developed using the DirectX 7 SDK, and hence does not support DX8 automation, which is planned for a future release.
It has been tested in SoundForge, Cool Edit Pro, Cakewalk Pro Audio 9,  and Cakewalk SONAR, using a Pentium II 333MHz machine.

I hope to produce a VST version of this ere long, for both platforms.
 
 

View Screenshot.

Download pvstream_dx.zip (189K)
 

Standalone version.

If you do not have a suitable DX host application, you can download a standalone version of PVStream.
This functions similarly to the Windows MediaPlayer. It reads a mono soundfile from disk, and streams the audio to the soundcard via the pvoc plugin framework. By being based on a disk file, it offers one special experimental facility, to 'freeze' the audio at any point, while continuing to apply the effects. Looping playback is also supported. 

Download PVStream (Standalone) (257KB)
 
 
 
 

PPC Macintosh

These have been successfully tested (with the limitations described below) on a gratefully borrowed 64MB Green (Puce?) iMac coerced into running Cubase VST 4. demo version. I have had one report of a problem with a G4 running Logic.

Apologia:  I am not a Mac user, as such!
        you have to download each plugin separately, and they are not compressed (don't have Stuffit on this machine):

Download:
    pvaccu.hqx (483KB)     pvexag.hqx (419KB)     pvtransp(420KB)

It is very likely that updates to the Mac versions will lag behind the PC versions. That's just the way it is.
 

Sources.
NB: provisional release. Licensing for these sources is not resolved yet. It is best if they are treated as if being under the GPL.
See the file readme_src.txt for more information.
To build VST plugins, the Steinberg VST SDK is required. For best performance, the FFTW libraries must be used.

pvplug_src.zip (31KB)        pvpsrc.tar.gz (25KB)
 
 

What do they do?

The plugins are based on programs from the CDP system , developed by Trevor Wishart.

They are all strictly mono  only, so in Cubase VST, for example, they will have to be used as channel Inserts.
They have only been tested so far at the 44100 sample rate, and I fully expect them only to work at that rate. On a Pentium II 333MHz machine each plugin runs cleanly in real time, running around 40% to 50% CPU load. Your mileage may vary. There is no GUI - they use the default GUI provided by the host application.
 

PVACCU:  spectral accumulation. The most extreme effect of the three! Applies feedback echo to each analysis channel, with the possibility also to apply a pitch glissando up or down. Echo is amplitude dependent, so this effect is most apparent when applied to percussive sounds, or any sound with distinct changes.

PVEXAG: exaggerates the spectrum. Positive exaggeration will emphasize spectral peaks, eventually becoming distinct pitches. Negative exaggeration flattens peaks, and larger values will effectively generate  a granular noise. This can sometimes be effective for some percussive sounds, such as drum loops.

PVTRANSP: an unsophisticated pitch shifter, offering a range of one octave up and down. Really little more than a demo of the fact it can be done at all!
 

Implementation details.


The plugins are based on 'pvoc' from the CARL distribution, adapted to use the FFTW libraries, for a significant speed increase. All the plugins use a 1024-sample FFT, with a double-length analysis window. For PVACCU and PVEXAG the overlap is 256 samples, so that plugin processes some 344  FFT/IFFT pairs (analysis and resynthesis) per second at the 44100 sample rate. PVTRANSP uses a slighly small overlap of 160 samples, which offers a reasonable compromise between processing time and quality.
 
 

Richard Dobson
CDP
18th July 2001