SDIF: Sound Description Interface Format: Original Home Page

This is the original SDIF home page, retained for historical interest. If you want the latest on SDIF, visit the current home page.

Welcome to the home page for the SDIF standards effort. We look forward to your feedback and participation.

What's in a Name?

The "S" in SDIF now stands for "sound" rather than "spectral", reflecting changes to make the format more general and able to represent sound in non-spectral as well as spectral domains.

SDIF used to be called SDIFF (Interface File Format). The word "file" was removed because Internet applications demand sound descriptions as "streams". The SDIF standard now addresses three contexts in which sound descriptions are commonly used:

SDIF Documents and Resources

  • Specification (concise) under construcation
  • Narrative (informal)
  • Goals of SDIF
  • Registered data chunks
  • Source code
  • Tools
  • Narrative

    History

    This effort was suggested by Xavier Rodet of IRCAM. Discussions with scholars and vendors at the 1995 ICMC confirmed the need for this standard in the academic and commercial communities . Adrian Freed coined the name and invited ICMC delegates to participate in the development work. Discussions over the months led to new requirements for the standard particularly in the area of internet applications. Also, although originally conceived of as a portable (and not necessarily efficient) interchange format, CNMAT has decided to use it as the primary working format for its sound analysis and synthesis tools. This has resulted in a standard grounded in real needs and field tested.

     

    Definition

    Example Sound Descriptions

    Interchange

    SDIF is an interchange format so portability is very important. To facilitate portability SDIF adopts the following existing conventions and standards:

    Embedding

    To faciliated embedding of SDIF data in other files or data streams, an IFF chunk is used to encapsulate SDIF data. IFF is the parent of several important standards AIFF and RIFF.

    Streaming

    To facilitate streaming applications, SDIF files consist of a contiguous sequence of time stamped data frames sorted in ascending temporal order.

    A departure from IFF conventions has been made to support streaming applications. The size value after the "FORM" id may contain the value hex ffffffff when the size of succeeding data is unknown when the header is generated. Programs reading such SDIF streams or files are expected to use the "out of band" end of file indication provided by the operating system or network services to signal the end of SDIF data.

    Efficiency

    The IFF standard requires padding so that data elements are on short word boundaries (16-bit). SDIF continues in this tradition requiring padding to (32-bit) word boundaries. Padding is rarely required since most SDIF elements are 32 or 64 bits.

    File Name Convention

    UNIX, MAC, NT, etc. :*.sdif

    DOS: *.sdf

    Syntax

    An SDIF chunk contains four elements:

    SDIF frames are themselves chunks. Every frame consists of

    Arrangement and interpretation of frame data is specific to each frame type. However, most frame data will consist of a single matrix of data.

    Matrix data consists of

    Semantics

    This table describes the interpretation of matrix frame data for some SDIF frame types:

     Function Tag ID

     Row

    Interpretation

     Col 1  Col 2  Col 3  Col 4
     Pitch  '1PCH '  Pitches  Pitch (Hz)  Confidence (%)  
     Peaks  '1PIC' Peaks   Frequency (Hz)  Phase (radians) Amplitude  Confidence (%)
     Tracks  '1TRC'  Tracks  Index (1++)  Frequency (Hz) Phase(radians)  Amplitude
    STFT   '1STF''  Bins  Real Imaginary    
    Resonances   '1RES'  Resonances  Frequency (Hz)  Amplitude  Bandwidth (Hz) Saliance (0..1)
    Sound   '1SND'  Sample  Channels (ordered:left right, front, back)

    Note that SDIF frame type tags all start with 1. This corresponds to the version number of the SDIF spec. and will be used to create future derivatives.

    The 1++ notation indicates the tracks are numbered from 1. The notation 0..1 indicates the closed unit interval.

     

    Example

     

    Under Construction

     

    Resources

     

    Audio file formats: ftp://ftp.cwi.nl:/pub/audio/