Request for Comments

This document represents IRCAM's proposal concerning the SDIFF format. It was conceived by Xavier Rodet, Rolf Woehrmann and Dominique Virolle and written down by Rolf Woehrmann.

SDIFF as an IFF File Type

Datatypes

The FORM Chunk

The standard IFF form chunk.

ChunkID char[4] 'FORM'
ChunkDataSize int32
FormType char[4] 'SDIF'

The Infotable Chunks

"Window Size" "512"
"Window Hop" "64"
"Window Type" "Hamming"

ChunkID char[4] 'SITC'
ChunkDataSize int32
InfotableName string for ex. 'General' or 'Additive'
InfotableData string see above
ZeroPadding byte[n] n bytes for padding to a 64bit limit in respect to the beginning of the file.

The Stream ID Information Chunk

ChunkID char[4] 'SSIC'
ChunkDataSize int32
StreamIDInfo string see above
ZeroPadding byte[n] n bytes for padding to a 64bit limit in respect to the beginning of the file.

The Time Table Chunk

The Dataframe Chunk

64-bit Alignment

Restricting Datatypes of the Fields in the Dataframes

Wrapping All Dataframes in One Big IFF Chunk

Non-Defined Values

The Frame Structure

DataFrameChunk := ChunkHeader ( DataFrameHeader ( Matrix )+ )+

The chunk header

ChunkID char[4] 'SDFC'
ChunkDataSize int32

The dataframe header

FrameType char[4] Four characters: the first as the ASCII version number, the pending three as the ASCII frame type name. Ex. '1HMM' or '2CRL'
FrameSize float32 The total size in bytes of the dataframe.
MatrixCount float32 The number of matrixes.
StreamID float32 The stream ID number.
Time float64 The time of the data frame.

The matrix structure

MatrixType char[4] Four characters: the first as the ASCII version number, the rest of three as the ASCII matrix type name. Ex. '1FFT' or '2FZ0'
MatrixDataType float32 The type code of the matrix data. Currently 1 for float32 and 2 for float64.
RowCount float32 The number of rows in the matrix.
ColumnCount float32 The number of columns in the matrix.
MatrixData float32 or float64 The matrix data itself.
OptionalBytePadding byte[4] Optional four padding bytes in order to align the total frame size to a multiple of 64bits.