Reply 2040 of 3388, by kolano
- Rank
- Oldbie
wrote:Think of it this way: If you try to divide 24 by 10, you get 2.4. BUT, if you're working strictly with integers, you can't have […]
wrote:OK, but how would 16-bit mixing improve the sound quality if the samples are only 8-bit?
Think of it this way: If you try to divide 24 by 10, you get 2.4. BUT, if you're working strictly with integers, you can't have a decimal value, so you'd end up with 2 or possibly 3 instead.
If all you're doing is mixing samples with no regards to pitch or volume, then 16-bit mixing isn't a factor (technically, though it is because of something else I talk about further down) because all the math involved would be addition or subtraction. The moment you want to alter the volume of a sample or the pitch of a sample, multiplication and division come into play, which means having better granularity of the values will result in more accurate manipulation of the sound.
If you have one spot in an 8-bit waveform with a value of 24 and you're dividing the volume down to 10%, with 8-bit mixing that spot in the waveform will now have a value of 2 or 3, not 2.4. If you're doing 16-bit mixing, 24 becomes 6144, 10% of which will be 614 or 615, either of which will be much more accurate than an 8-bit 2 or 3 which would be 512 or 768 if bumped up to 16-bit.
True, most people aren't going to notice stuff like this, at least, not if the channels count is low. The thing with doing accurate mixing at the software level is that the more channels you have, the quieter everything needs to be by default to avoid distortion, in which case it becomes even more important to be doing 16-bit mixing over 8-bit.
Thanks for the accurate description of why 16 bit mixing makes sense for 8 bit samples. I wanted to respond there but didn't want to bother with the description of such. I recall this being a big deal for most early sampled music (mod, s3m, etc), where 8 bit samples were used to cut down on file size, but 16 bit mixing allowed for better sound. The thing to remember is that even though they were 8 bit samples, to account for different tones with the one sample involved slowing/speeding the sample, which without 16 bit mixing resulted in problematic losses.