This is Version 0.01 of Patel, a simple chip/analogue-style AM+FM soft-synth,
written and copyrighted by me, Tom Barnes-Lawrence in 2005.
It is named after "Synthesizer Patel" from the TV series "Look Around You" :)

Important note first: Patel is **not** finished, do not complain if things
don't work or it's hard to use, because I'm well aware of that.

Initial prototype version reads instrument defs and music description
from a line-oriented text file (in a format I dubbed "PPF"), and then
renders the music described to a WAV file.

Later versions are expected to be in the form of a library, with output
to various different targets (primarily sound cards), for the use of
numerous types of program on various platforms. I already have plans for
various things that could use Patel as a library and I imagine other
people could too.
The website for Patel is currently
 http://www.angelfire.com/super2/duologue/software/patel.html

This version of Patel also has the "libPPF" library bundled with it to help
with processing PPF files; in future, Patel will eventually stop using PPF
files for input, and as I figure that PPF might be useful format for *other*
things, I might well end up distributing that library separately.

Currently, Patel uses libsndfile to output WAV files. It uses a handwritten
parser to read the PPF-based music descriptions. The synthesizer code, such
as it is, is my own. Patel is distributed under the terms of the GNU
Lesser General Public License, as published by the FSF (included as LGPL.txt).

----

The out-of-date and inaccurate explanation of how Patel synthesizes sound
is now given in the file "Synthesis.txt". There are various files in the
"docs" directory that are purely *notes* made in the course of designing
and programming, rather than user documentation. You might well want to
read the FAQ though.

-----

Building Patel:
-First, download and install libSndfile; If there are prebuilt packages for
your platform (eg: Debian, Red Hat, etc), you'd probably do well to install
those, as long as you get the *development* library packages.
Otherwise, you will have to download and compile the source from
 http://www.mega-nerd.com/libsndfile/

-Now, examine the Makefile for Patel, to see if anything needs changing.
If you don't know, it's probably Ok.
-Finally enter "make", and you should end up with an executable being built
under the name "protopatel"; this is the prototype version of Patel, if you
hadn't guessed.

You can also build libPPF (in the libPPF directory) if you want to, but it
currently isn't used.

-----
Usage:
The prototype reads PPF data from standard input, and writes a file
"synthoutput.wav". So you will probably do something like
 ./protopatel <mytune.ppf
where "mytune.ppf" is the PPF file you made.

If you have any questions, read the FAQ. If your question isn't in there,
you could ask me by email, at:  tomble@usermail.com
If however you have no idea whatsoever about *any* of this, it's quite
probable that this synthesizer isn't going to be the sort of thing you're
after, and maybe you should look for something else instead.
