June 2006

Audio File Programs and Routines
  The AFsp package contains audio file utility programs and a library of
  routines for reading and writing audio files.

Audio File Utility Programs:
  InfoAudio - display information about an audio file.
  CompAudio - compare audio files, producing statistics and signal-to-noise
              ratio figures.
  CopyAudio - copy audio files.  This program combines samples from input audio
              files (an arbitrary linear combination) and writes them to the
              output file in a user selectable format.  One application is to
              provide format conversion for an audio file; another is to
              combine samples from multi-channel files.
  FiltAudio - filter audio files.  This program filters an audio file with an
              FIR, IIR or all-pole filter.
  GenNoise  - generate noise.  This program generates an audio file containing
              Gaussian white noise.
  GenTone   - generae a tone.  This program generates an audio file containing
              samples from a sinusoid.
  LPanal    - demonstration program to do LPC analysis on a speech file.
  LPsyn     - demonstation program to do LPC synthesis from a residual file.
  PQevalAudio - Perceptual evaluation of audio quality
  ResampAudio - resample data from an audio file.  This process involves
              interpolating between the samples in the original file to create
              a new sequence of samples with a new spacing (sampling rate).

Windows:
  A MS Visual C project and executables for use under Windows (command line)
  are included in the distribution (directory MSVC/bin).

Filters:
  The package includes the filters from the ITU-T Software Tool Library
  (G.191) in a form that can be used directly with the FiltAudio program.

Audio File I/O Routines:
  The library supports reading and writing of audio files.  The routines have
  been designed to be easy to use, yet provide transparent support the reading
  of several audio file formats.  The audio file open routine automatically
  senses the input file type.  Based on the file format, the audio file reading
  routine does byte swapping and format conversion on the fly as the file is
  read.  The user sees float data without needing to worry about the underlying
  data format.

Audio File Formats:

  The following file formats are supported for reading.
  - Headerless audio files
  - AU audio files
  - WAVE files
  - AIFF/AIFF-C sound files
  - NIST SPHERE audio files
  - IRCAM soundfiles
  - INRS-Telecom audio files
  - ESPS sampled data feature files
  - CSL / NSP audio files
  - Text audio files (NATO/ESPRIT CD-ROM format)

  The following file formats are supported for writing.
  - Headerless audio files (including text files)
  - AU audio files
  - WAVE files
  - AIFF sound files
  - AIFF-C sound files

The AFsp routines are covered by copyright, see the file "Copying" for details
of the distribution conditions.

AFsp-v8r2.tar.gz
http://www.TSP.ECE.McGill.CA/MMSP/Documents/
or ftp://ftp.TSP.ECE.McGill.CA/TSP/AFsp

=============
Changes in v8r2
- User identity in Information fields has been removed
Changes in v8r1
- FiltAudio and ResampAudio use double precision internally
Changes in v8r0
- Add PQevalAudio
Changes in v7r2
- Internal changes, fix documentation on GenTone/GenNoise to reflect
  new normalization.
Changes in v7r1
 - Fix for Compaudio for multi-channel files
Changes in v7r0
 - Support for double (and float) buffers (new open and read routines)
 - Standard normalization for data is now -1 to +1.  The old open and read
   routines are still supported, giving the old normalization (returned data
   values between -32768 and +32767).
 - Audio programs now use the standard normalization.  This change is mainly
   transparent to users, though the output printout for CompAudio now gives
   both absolute and normalized values.
Changes in v6r8
 - Default scaling for headerless files changed
Changes in v6r7a
 - Support for writing AIFF (in addition to AIFF-C) files
 - Support for writing WAVE files that do not use the extensible data types
Changes in v6r6a
 - Fix for mu-law and A-law multi-channel WAVE files (fact chunk value
   is now samples per channel)
 - All utility programs report "samples" (meaning samples per channel)
   instead of "frames" for multi-channel files
 - Fix incomplete struct definition (AFheader.h)
Changes in v6r5a
 - FiltAudio updated (new behaviour for even length symmetric filters)
Changes in v6r4
 - Plug a memory leak (Thanks to RS @ FhG)
 - More type casts for fussy compilers
Changes in v6r3
 - Support for CSL / NSP files
 - Support for WAVE extended files (more than 2 channels, speaker positions)
Changes in v5r2
- Non-PCM WAVE file headers are "more" compliant
- FiltAudio supports subsampling for all filter types
Changes in v4r3
- Microsoft Visual C project files included
Changes in v4r2
- Audio utilities: output file type taken from the file name extension
- Source files compile with MS Visual C
- ANSI C source code
- Fix to AIFF-C COMM chunk size
- Extra information written to WAVE files
- Support for 24-bit and 32-bit data types
- On non-Unix systems, WAVE files are the default output file type
Changes in v4r0
- Windows executables
- ITU filter coefficients
- Utility routines support multi-channel data
- CompAudio implements the ITU-T speech voltmeter (speech activity factor)
- InfoAudio prints header information fields
Changes in V3R2
- ConcatAudio eliminated; CopyAudio can do concatenation
- Output file can be standard output
Changes in V3R1b
- Identify various unsupported formats
- Support for Comdisco SPW files
- Support for 64-bit float data type
- SunAudioPort, SunPlay added
Changes in V2R2
- Revised default data types
Changes in V2R1a
- Support for 8-bit data (Sun, WAVE, AIFF-C files)
Changes in V2R0
- ResampAudio
- Numerous support routine changes

=============
Peter Kabal
Electrical & Computer Engineering    McGill University
+1 514 398-7130   +1 514 398-4470 Fax
kabal@ECE.McGill.CA

$Id: README.txt 1.77 2006/06/06 AFsp-v8r2 $
