----------========= FILE STRUCTURE AUDIO MPEG FILE ===========----------- CORRECTED BY FLAX / FUTURE CORPORATION ----------====================================================----------- file a file has one or more 'frames'. a frame has a 'frame header' and 'frame data' -------------------------------------------------------------------------- frame length the frame length depends on the format and can vary per frame. the frame ends before the next sync header (see frame header). -------------------------------------------------------------------------- frame header the frame header of an audio mpeg file consist of 4 bytes, which are at the beginning of a frame. They don't have to be the same for every frame. (p.e. the bit 'padding' can change per frame) byte 0 1 2 3 binary 11111111 111xabbc ddddeefg hhjjkmpp 1 - sync header x - mpeg 2 type a - version b - layer c - error protection d - bit rate index e - sample rate index f - padding g - extension h - channel mode j - mode extension k - copyright m - original p - emphasis -------------------------------------------------------------------------- 1 - sync header must be 11111111 111xxxxx -------------------------------------------------------------------------- x - mpeg 2 type 0 = mpg-2.5 1 = mpg-1 or mpg-2 -------------------------------------------------------------------------- a - version 0 = mpg-2 (x = 1) or 2.5 (x = 0) 1 = mpg-1 -------------------------------------------------------------------------- b - layer 0 = layer-1 3 = layer-2 2 = layer-3 -------------------------------------------------------------------------- c - error protection 0 = on 1 = off -------------------------------------------------------------------------- d - bit rate mpg-1 mpg-2 mpg-2.5 (hex) 32,44.1,48 kHz 16,22,24 kHz 8,11,12 kHz $0 0 0 0 $1 32 8 8 $2 40 16 16 $3 48 24 24 $4 56 32 32 $5 64 40 40 $6 80 48 48 $7 96 56 56 $8 112 64 64 $9 128 80 80 $a 160 96 96 $b 192 112 112 $c 224 128 128 $d 256 144 144 $e 320 160 160 -------------------------------------------------------------------------- e - sample rate mpg-1 mpg-2 mpg-2.5 0 = 44.1 kHz 22 kHz 11 kHz 1 = 48 kHz 24 kHz 12 kHz 2 = 32 kHz 16 kHz 08 Khz -------------------------------------------------------------------------- f - padding 1 = unused bits are filled (padding required) 0 = all bits in frame are used -------------------------------------------------------------------------- g - extension 0 = none 1 = private -------------------------------------------------------------------------- h - channel mode 0 = stereo 1 = joint stereo 2 = dual channel 3 = mono -------------------------------------------------------------------------- j = mode extension when encoding with joint stereo, this specifies to which freq.band it is bound. layer-1&2 layer-3 0 = 4 0 1 = 8 4 2 = 12 8 3 = 16 16 -------------------------------------------------------------------------- k - copyright 0 = no 1 = yes -------------------------------------------------------------------------- m - original 0 = no 1 = yes -------------------------------------------------------------------------- p - emphasis 0 = none 1 = 50/15 microseconds 3 = CITT j.17 --------------------------------------------------------------------------