AFopenWrite

AFopenWrite(3tsp)                                            AFopenWrite(3tsp)



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/16/24/32-bit integer, and 32/64-bit
           IEEE floating-point data formats are supported.
       WAVE file:
           8-bit mu-law, 8-bit A-law, offset-binary 8-bit integer,
           16/24/32-bit integer, and 32/64-bit IEEE floating-point, data
           formats are supported.
       AIFF sound file:
           8/16/24/32-bit integer data formats are supported.
       AIFF-C sound file:
           8-bit mu-law, 8-bit A-law, 8/16/24/32-bit integer, and 32/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/16/24/32-bit integer, 32/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 with 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: output file type
             FTW_AU        = 1,      AU audio file
             FTW_WAVE      = 2,      WAVE file (auto extensible format)
             FTW_WAVE_NOEX = 2 + 16, WAVE file (no extensible format)
             FTW_AIFF_C    = 3,      AIFF-C sound file
             FTW_NH_EB     = 4 +  0, Headerless file (big-endian byte order)
             FTW_NH_EL     = 4 + 16, Headerless file (little-endian byte order)
             FTW_NH_NATIVE = 4 + 32, Headerless file (native byte order)
             FTW_NH_SWAP   = 4 + 48, Headerless file (byte-swapped byte order)
             FTW_AIFF      = 5,      AIFF sound file
        -> 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.74  2003/01/30

See Also
       AFclose, AFwriteData, AFsetHinfo, libtsp



                                TSP (libtsp/AF)              AFopenWrite(3tsp)