that does not make sence!
ok lets look at audio using binary as everything in computing is based on binary.
lets for a moment assume the following binary is a wave file.
original wave = 101001000011110100101010010011010101001010
i understand that its way too small to be a wave file but lets just say it is for a moment!
after compression lets assume the following is the mp3 binary
compressed mp3 = 1010010
this should then leave you with the following leftover wave binary
leftover or disgarded wave information = 00011110100101010010011010101001010
why is it not possible to add the mp3 binary with the disgarded wave to recreate the original file again? like so
1010010 + 00011110100101010010011010101001010
no subject
Date: 2008-05-03 11:22 am (UTC)I'll just keep FLACS, and transcode
to MP3 when I want to listen to
the file on my cheap MP3 player.
(the one I just ordered)
Why bother with a difference file?
no subject
Date: 2008-05-04 04:45 am (UTC)no subject
Date: 2008-05-04 04:51 am (UTC)I always thought it was just lossless compression.
(and for lossless compression, it works pretty well,
anywhere from about 25-75% of the original size.)
no subject
Date: 2008-05-04 04:57 am (UTC)FLAC chops the audio up into blocks, and then finds a mathematical function which closely approximates the content of each block. To oversimplify a bit for sake of example, say I had a sine wave -- instead of storing each individual point in the sine wave, for a total of thousands of bytes, FLAC will just store a few bytes meaning "sin(x)" or whatever.
However, you're not going to find a simple function which exactly represents the original waveform, so FLAC finds the difference (called the "residual") between its approximation and the actual data, and stores that as well, so when you decompress your FLAC you get the exact original signal back. That's the difference data that I'm talking about.
There's technical documentation on the FLAC website and probably on Wikipedia explaining this in more detail, if you're interested.
no subject
Date: 2008-05-04 05:06 am (UTC)This part of the page and the next few paragraphs provide an overview of how the codec works. Basically:
Step 1: Chop up the audio stream into blocks that are easier to handle and transport.
Step 2: Find anything which is duplicated on both the left and right channels (in the "center channel") and discard the duplicated information. This is typically done by converting the audio from a left-right channel representation into a representation of the "center" channel and the difference between the left and right channels.
Step 3: For each block, pick an algorithm which closely approximates the content of the block. This information can then be stored as just a few bytes, representing the identity of the algorithm chosen and the coefficients to plug into it.
Step 4: Find the difference between the real signal and the approximation made in step 3 and store this in a simpler compressed form which is somewhat similar in technique to the compression used in, say, a zip file.
no subject
Date: 2008-05-03 01:07 pm (UTC)no subject
Date: 2008-05-04 04:48 am (UTC)Yeah, one nybble per sample
That was really bad
They used this sort of half-assed dithering thing to try and upconvert to 8-bit for output but it wound up sounding worse than if they had just padded the samples out with zeroes because the random number generator they were using for the dithering had periodic components
hope you like random ringing sounds
no subject
Date: 2008-05-04 06:13 am (UTC)dithering only particularly helps when downconverting
no subject
Date: 2008-05-04 04:43 am (UTC)no subject
Date: 2008-05-03 02:04 pm (UTC)no subject
Date: 2008-05-04 04:04 am (UTC)Lets say mp3 converts the time series of the original wave file into the coefficients of some basis, and then takes the most significant basis elements, and writes out their coefficients in some compressed manner. All the user appears to be asking for is a second file which stores the coefficients for the dropped (i.e. insignificant) basis elements in a compressed manner. And, of course, this would only work if there were a program to take two compressed files of basis element coefficients, and combine them into one file of basis element coefficients (possibly converting the signal back into the time series domain in the process). Whether or not the user is under the delusion that concatenating these compressed basis element coefficient files would give back the original time series wave data is another question altogether, but one can easily imagine a tool to do what the user, presumably, wants.
This makes 100% perfect sense to me.
no subject
Date: 2008-05-04 04:05 am (UTC)Correct me if I'm wrong...
no subject
Date: 2008-05-04 04:36 am (UTC)no subject
Date: 2008-05-04 04:19 am (UTC)What you're describing makes perfect sense (except for the minor detail that storing the coefficients for the information you've dropped is, to use the technical term, Really Hard, which is kind of why they've been dropped in the first place), but it's unfortunately not what anyone in that thread is actually suggesting (and not quite how MP3 works, but that's beside the point).
The main problem with the idea in general is some pretty basic information theory shit: The information that was discarded in compression in the first place has a really, really high degree of entropy -- that's why it was discarded. MP3 discards a little more than just really-entropic information, because it is psychoacoustically conscious and attempts to throw away any information at all that it expects you wouldn't be able to hear, but the main problem is that entropic information which was thrown away, both perceptible and imperceptible. Shannon shows that storing that entropy is going to cost us A Whole Lot of Bits. There exists, of course, lossless signal compression which stores the signal as predictive/redundant and residual/entropic components, but that's totally different, because we're talking about a system which was designed that way from the ground up, as opposed to bolting some kind of weird-ass functionality onto MP3.
There is also the fact that all MP3 decoders produce different output complicating matters further. MP3 quantization is weird in more ways than I care to explain, and the frequency-domain representation basically makes you guess the phase of any given component.