/ Data / Fundamentals / Production / Tutorials / Software / Home
2.1.6 Speech Files: The Sof Format
Section 2.1.6: ISIP's Sof Format
An Sof file is nothing more than an index, which provides information about the location of each object stored in the file, and the corresponding object data. Sof transparently supports two basic storage formats: text (useful for building human readable files such as parameter files) and binary (useful for sampled data). Sof also transparently converts binary data between different architectures by performing the appropriate byte transformations as needed.

Sof is used by all data objects in the ISIP environment to unify and simplify I/O. An index is maintained pointing to all objects within the file, but all data is left on the disk until needed. Sof deals with both text and binary files. Binary files inherently handle machine architecture differences with automatic byte transformations. User input parameter files in the ISIP environment are text Sof files, but binary mode is typically used for large quantities of data for the obvious efficiency gains. Since Sof is at the base of all ISIP software, it has to be very efficient. To accomplish efficiency, the objects are stored in a binary tree and a symbol table is used to hold the object class names.
Section 2.1.6: ISIP's Sof Format
An Sof text file is a fairly simple format that consists of object names and tags, followed by the object data. An example of such a file can be viewed by clicking on Sof text file. At the top of the file, you will see an line:
    @ Sof v1.0 @
that identifies the version of the software and the type of file. Beyond that, objects are identified through their name and tag, delimited by "@" (which is user-definable). In this case, we have four objects: Float, VectorFloat, VectorLong, and AudioFile. Each of these objects has been written to this file using a text formatting. This format is inefficient for binary data, such as audio data, but extremely convenient for representing files that contain configuration of parameter information. The contents of each object is explained in detail in our foundation class documentation.

Binary files are somewhat more complicated and consist of three parts. An example of a complete Sof file is shown below:

Section 2.1.6: Sof Binary File

First, there is a header that contains various fixed format information about the format and location of key structural information in the file. Next, there are the objects themselves - data written in a binary format defined by each class. Finally, there is an object index that contains the names and locations of all objects in the file. For more information about Sof files, see our on-line documentation.
   
Table of Contents   Section Contents   Previous Page Up Next Page
      Glossary / Help / Support / Site Map / Contact Us / ISIP Home