Falls numSampleFrames im CommonChunk einen Wert größer 0 enthält, muß genau ein Sound Data Chunk mit folgendem Aufbau im Form Chunk enthalten sein:
typedef struct { ID ckID; /* = 'SSND' */ long ckSize; unsigned long offset; unsigned long blockSize; unsigned char soundData[]; } SoundDataChunk;Die ersten Abtastwerte der numChannels Kanäle werden direkt hintereinander in soundData abgelegt, gefolgt von den Abtastwerten des nächsten Zeitpunkts. Die einzelnen Abtastwerte bestehen aus 1 bis 4 Bytes je nach Angabe in sampleSize. Bei sampleSize Angaben, die keine Vielfachen von 8 sind, werden die Bits links angeordnet, und die unteren fehlenden Bits mit Nullen aufgefüllt.
Mit offset und blockSize kann erreicht werden, daß die Abtastwerte in soundData an festen Blockgrenzen ausgerichtet werden, um eventuell eine höhere Verarbeitungsgeschwindigkeit zu erreichen. offset gibt dabei die Anzahl zu überspringender Bytes in soundData vor dem ersten Block an, blockSize die Größe eines Blocks in Bytes. Falls keine Blöcke verwendet werden, ist offset und blockSize 0.