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).
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. 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)
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)
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!
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 2001, 2012