Trying it out
The function memcof, which this program uses, is defined in the file memcof.c. This, in turn, refers to a utility file nrutil.c. Thus, to compile lpcana.c, it is also necessary to compile memcof.c and nrutil.c, and then link all three object files together, as follows:
gcc –c nrutil.c
gcc –c memcof.c
gcc –c lpcana.c
gcc –o lpcana.exe nrutil.o memcof.o lpcana.o
The program lpcana.exe can be used to generate a file of coefficients and the corresponding error signal. For instance, lpcana joe.dat joe_err.dat joe_coeffs.dat generates the error signal shown in figure 5.6 (b) . Then, lpcsyn joe_err.dat joe_coeffs.dat joe_syn.dat will generate a synthetic reconstruction of joe.dat.
It is instructive to listen to these signals. joe_lpc.dat , while not identical to joe.dat , is a close copy. There may be a somewhat “bubbly” or “burbling” quality to it, because of inaccuracies in the prediction. The residual, joe_err.dat , is also intelligible, though it is a very rough, whispery version of the original input.
Email: enquiries@phon.ox.ac.uk | Tel: +44 1865 270444 | Fax: +44 1865 270445
Disclaimer