PVTool v1.1 - Copyright 1996 Richard W.E. Furse (except MIT code)
- Introduction
This toolkit includes a simple wrapper for a C compiler to
manufacture programs which manipulate Csound Phase Vocoder
files. Included are a number of such programs containing some
basic manipulations.
The program is known to compile and run on Linux and IRIX. It
should also work on Sun but I've been unable to check this.
PVTool Installation:
- Directories: Create and Configure
The system needs a number of library files. These are kept in system library directory. On my machine this is /usr/local/lib/pvtool. If you do not have root access it is fine for the library directory to be within your user space.
Create the directory using the 'mkdir' instruction, and then change directory to 'src' and edit the first line in the 'makefile' to point to this directory.
The system also needs a binary directory to place the executable files. This directory should be on your path. On my machine this is /usr/local/bin, but again, this needs root access so you might choose a directory in your own space. Set this in the makefile also.
2.a Ordinary Compile for Users:
The simple way to do this is to change directory to 'src' and
type 'make'.
The default makefile sends email to pvtool@muse.demon.co.uk so
I can get an idea of how many people are using the
system. This is the only reason why. If you don't want to
be counted even so, feel free to remove the mail line in
the makefile.
2.b Compiling as Root:
If you are installing binaries or library files into system
directories as root, you may wish to put the main programs in
public directories but keep scripts local to individual users
so they can be changed (this is what I do.) If this is what
you want typing 'make' may cause problems with file
ownership, so instead:
1. Unpack the system in the user's directory,
2. Go to the 'src' directory and configure as normal,
2. Log in as root and type 'make rootinstall',
3. Log out and type 'make scripts' as the user.
You may also wish to place the corrected scripts and makepv.pl
somewhere public for other users to copy locally.
- Documentation
Once installed, type 'pvtool | more' to display documentation.
Installing PVTool Scripts:
I store PVTool scripts in a dedicated directory and compiled
scripts in another. Each script begins with a line
#!/usr/local/bin/pvtool
To tell the shell how to run it. If you have installed pvtool
somewhere different all these scripts will need to be changed
to correspond - this will happened automatically when you run
'make', 'make scripts' or 'make correct' from the 'src'
directory.
If you have Perl, then from the main directory you will be
able run 'makepv.pl' to generate fast versions of the scripts
provided in the 'scripts' directory. These are placed in the
'bin' directory included in the distribution. makepv.pl
examines file dates and should not recompile programs
unnecessarily.
If you don't have Perl then you can compile scripts by hand
using pvcom.
It is not necessary to store compiled versions of scripts and
you may not wish to as programs can take up considerable
space. When a scripts is run directly it compiles itself into
a temporary program that is removed on completion. Having said
this, the default makefile will run makepv.pl automatically so
you may wish to erase compiled scripts from the 'bin'
directory or change the makefile.
Standard PVTool Scripts:
Various basic scripts are included in the 'scripts' directory in
this distribution. If you are using 'makepv.pl' then you
probably want to put the 'bin' directory on your path, if not,
the 'scripts' directory. (This is in addition to ensuring that
the basic binary directory is on your path.)
The script 'pvresyn' may need changing on your system as it
currently produces .WAV files. If this doesn't suit you,
change the 'csound' call in the macro near the top of the
script so that it corresponds to the sound file type in use on
your system - for example if you want to use AIFF files,
change the -W to -A. Then (if appropriate) recompile using
pvcom or makepv.pl.
Compiler Errors and Temporary Files:
Running pvcom generates intermediate temporary files. If an error
occurs these are NOT removed. This means these intermediate
files can be examined and debugged. On my system temporary
files go in /tmp (This can be changed using environment
variables.) The /tmp area on many UNIX systems is cleared
automatically after a few days so leaving files here will not
waste space.
- Coding
This project has poor quality code + documentation coz it was
done in a hurry for me. Like it or lump it or fix it (please!)
Having said this, PVTool should compile and run on ordinary
32bit UNIX-like systems. It should work (in its way) on Linux,
IRIX and Sun, so please let me know if there are any changes
that should be made for other OS.
- Acknowledgements
The files 'pvoc.h' and 'pvoc.c' come from an official MIT
Csound distribution of late 1994 (though they've been
formatted a little more pleasantly...)
Thanks to Dylan Menzies-Gow and Tim Ward up at York for
testing.
- Me
I'm Richard Furse. I can most easily be contacted by email at
richard@muse.demon.co.uk.
