3 ms·
Speculation on my part: Let's assume an MP3 stores 8 sample Fourier transforms, overlapping via windowing. 1: Start with 8 16-bit samples. (For a total of 128
by gwbas1c 2y ago
Speculation on my part:
Let's assume an MP3 stores 8 sample Fourier transforms, overlapping via windowing.
1: Start with 8 16-bit samples. (For a total of 128 bits from the original CD)
2: Convert to 32 bit float
3: Run a forward Fourier transform
4: Now you're in the frequency domain
5: Keep the amplitude for the 0th frequency bucket. Quantize at 8 bit with companding. (This keeps mid-range frequencies, where the ear is most sensitive, generally lossless.)
6: Apply an exponential function to the higher frequencies amplitude (slots 1, 2, 3, and 4) so that very quiet highs are discarded. Then quantize the highs at 6 bit.
7: We will ignore the phase. Remember that slots 5-7 are just copies of 1-3
8: Now, with slot 0 at 16-bit, and slots 1-4 at 6-bit, the window is a total of 32 bits.
Because of windowing, each Fourier transform is crossfaded. (Basically, the first 8-sample transform is at sample 0, the next is at sample 4, the next is at sample 8, and each is cross-faded.) This means that each the ratio of bits is (32 + 32) / 128: 0.5. Further compression (by storing the difference between windows) can probably get to around 0.25