AFopenWrite
Routine
-
AFILE *AFopenWrite (const char Fname[], int Fformat, long int Nchan,
double Sfreq, FILE *fpinfo)
Purpose
-
Open an audio file for writing
Description
This routine opens an audio file for writing. This routine sets up the audio
file parameters to write data of the given format to the audio file. After
writing data to the file, the routine AFclose should be called to update the
file header information and close the file.
By default, information consisting of the date, the user and the program
creating the file is written to the audio file header or trailer. The
routine AFsetHInfo can be called before calling this routine to specify
additional information to be written to the file.
This routine can write AU audio files, AIFF-C files, WAVE files, and
headerless audio files.
-
AU audio file:
-
8-bit mu-law, 8-bit A-law, 8-bit integer, 16-bit integer, 24-bit integer,
32-bit integer, and 32-bit IEEE floating-point, and 64-bit IEEE
floating-point data formats are supported.
-
WAVE file:
-
8-bit mu-law, 8-bit A-law, offset-binary 8-bit integer, and 16-bit integer,
24-bit integer, 32-bit integer, 32-bit IEEE floating-point, and 64-bit IEEE
floating-pont data formats are supported.
-
AIFF-C file:
-
8-bit mu-law, 8-bit A-law, 8-bit integer, 16-bit integer, 24-bit integer,
and 32-bit integer, 32-bit IEEE floating-point, and 64-bit IEEE
floating-point data formats are supported.
-
Headerless file:
-
8-bit mu-law, 8-bit A-law, offset-binary 8-bit integer, 8-bit integer,
16-bit integer, 24-bit integer, 32-bit integer, and 32-bit floating-point,
64-bit floating-point, and text data formats are supported. A text format
file has the data in character form, one value to a line.
For the fixed point file data representations, input values in the following
ranges will be converted without clipping.
data format allowed values
8-bit mu-law - [ -32636, +32636 ]
8-bit A-law - [ -32768, +32768 ]
8-bit integer - [ -16384, -16383 ]
16-bit integer - [ -32768, +32767 ]
24-bit integer - [ -32768, +32768 )
32-bit integer - [ -32768, +32768 )
For AU and WAVE files containing floating-point data, values are scaled
by 1/32768 before being written to the file. For data values between
[-32768, +32768], the file data will lie in the range [-1, +1]. For
headerless files of any data format, the values are scaled by unity.
Parameters
-
<- AFILE *AFopenWrite
-
Audio file pointer for the audio file
-
-> const char Fname[]
-
Character string specifying the file name. The file name "-" means
standard output.
-
-> int Fformat
-
Audio file format code, evaluated as the sum of a data format code and a
file type,
Fformat = Dformat + 256 * Ftype
Dformat: data format
FD_MULAW8 = 1, mu-law 8-bit data
FD_ALAW8 = 2, A-law 8-bit data
FD_UINT8 = 3, offset-binary 8-bit integer data
FD_INT8 = 4, two's-complement 8-bit integer data
FD_INT16 = 5, two's-complement 16-bit integer data
FD_INT24 = 6, two's-complement 24-bit integer data
FD_INT32 = 7, two's-complement 32-bit integer data
FD_FLOAT32 = 8, 32-bit floating-point data
FD_FLOAT64 = 9, 64-bit floating-point data
FD_TEXT = 10, text data
Ftype: file type
FTW_AU = 1, AU audio file
FTW_WAVE = 2, WAVE file
FTW_AIFF_C = 3, AIFF-C audio file
FTW_NH_EB = 4, Headerless file (big-endian byte order)
FTW_NH_EL = 20, Headerless file (little-endian byte order)
FTW_NH_NATIVE = 36, Headerless file (native byte order)
FTW_NH_SWAP = 52, Headerless file (byte-swapped byte order)
-
-> long int Nchan
-
Number of channels
-
-> double Sfreq
-
Sampling frequency
-
-> FILE *fpinfo
-
File pointer for printing audio file information. If fpinfo is not NULL,
information about the audio file is printed on the stream selected by
fpinfo.
Author / revision
P. Kabal
/ Revision 1.72 2001/10/14
See Also
AFclose,
AFwriteData,
AFsetHinfo
Main Index libtsp