## Telecommunications & Signal Processing Laboratory

### AFsp Programs and Routines

The AFsp package provides audio file utility programs and a library of routines for reading and writing audio files.

#### Audio File Utilities:

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 or select samples from multi-channel files.
FiltAudio
  Filter audio files. This program filters an audio file with an FIR, IIR or all-pole filter. This program can be used with an appropriate filter for sample rate conversion. The AFsp package includes a number of filters from the ITU-T Software Tool Library (G.191) in a form that can be used directly with the FiltAudio program.
GenNoise
  Generate noise. This program generates an audio file containing Gaussian white noise.
GenTone
  Generate a sinusoid. This program generates an audio file containing a sine wave of a given amplitude and frequency.
InfoAudio
  Display information about an audio file.
LPanal
  Demonstration program: LPC analysis on a speech file.
LPsyn
  Demonstration program: 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).

#### Audio File Library Routines:

The audio file open routine automatically senses the input file type. The data format for the file is passed to the audio file reading routines. The audio file reading routine does byte swapping and format conversion on the fly as the file is read. The user sees floating-point data without needing to worry about the underlying data format.

Once a file is opened for writing, the user calls routines which take the user's data and do byte swapping and format conversion of the data transparently.

The library routines supplied in AFsp package form part of the libtsp signal processing library. These routines are written in C.

AFclose
  Close an audio file
AFdReadData
  Read data from an audio file (return double values)
AFdWriteData
  Write data to an audio file (double input values)
AFfReadData
  Read data from an audio file (return float values)
AFfWriteData
  Write data to an audio file (float input values)
AFopnRead
  Open an audio file for reading
AFopnWrite
  Open an audio file for writing
AFsetFileType
  Explicitly set the input audio file type
AFsetInfo
  Set the audio file information string
AFsetNHpar
  Set defaults for headerless audio files
AFsetSpeaker
  Set defaults for loudspeaker spatial positions

#### Audio File Formats:

The following file formats are supported for reading.

- Headerless audio files
- AU audio files
- WAVE files
- AIFF/AIFF-C audio files
- NIST SPHERE audio files
- IRCAM soundfiles
- INRS-Telecom audio files
- CSL NSP files
- ESPS sampled data feature files
- Comdisco SPW Signal files
- Text audio files

The following file formats are supported for writing.

- Headerless audio files (including text data)
- AU audio files
- WAVE files
- AIFF or AIFF-C audio files

#### Audio File Data Types:

The following (uncompressed) data types are supported.

- 8-bit µ-law and A-law
- 8-bit signed and unsigned fixed-point
- 9-bit to 32-bit signed fixed-point
- 32-bit floating-point
- 64-bit floating-point
- text data