View Full Version : Audio Generation Loss
bxyhxyh
21st December 2015, 13:23
If I convert 128 kb/s mp3 to 256 kb/s aac via avisynth, will generation loss still happen?
Ghitulescu
21st December 2015, 14:12
Any change of format when using lossy codecs will induce a generation loss.
However, in some cases, there have been a lot lost during the first encoding, like in your case, so it may not be needed to throw anything else (supplementary).
kypec
21st December 2015, 16:39
Converting 128 kbps MP3 into 256 kbps AAC seems plain stupid to me, sorry. Maybe the other way round it would make a bit of sense (256 kbps MP3 -> 128 kbps AAC)...
Groucho2004
21st December 2015, 17:10
If I convert 128 kb/s mp3 to 256 kb/s aac via avisynth, will generation loss still happen?
Yes, but the loss would be very small compared to the loss that occurred when the original (presumably high quality) audio was converted to 128Kbps mp3.
You should only do that conversion if for some odd reason the mp3 audio is incompatible with the playback device. And even then, I'd stick with 128Kbps max.
bxyhxyh
21st December 2015, 17:48
Ok. Thank you for answers.
I do this because I need to add segments from another audio.
I thought of encoding other audio to mp3 and cut-merging them.
But cut mp3s give me artifacts.
So I decided to re-encode it with minimal loss.
LoRd_MuldeR
31st December 2015, 02:51
I think the important thing to consider here is that lossy audio compression causes a certain deviation (error) with respect to whatever the encoder's input was.
In the first encoding pass, there will be some error with respect to the uncompressed original. In the second encoding pass, there will be some (additional) error with respect to the output of the first encoding pass. That's because, in the second encoding pass, the encoder has absolutely no idea how about the original audio! Actually, in the second encoding pass, the encoder assumes that it's current input (i.e. output of the first encoding pass) is the "original" audio. And so on.
Simply put, if x is the original, then x' = x + e1 is the compressed audio after the first compression pass, where e1 is some error introduced by the lossy compression. Now, if you compress this once again, then you will get x'' = x' + e2, where e2 is the error introduced by the second compression pass. Consequently, what you actually got is: x'' = x' + e2 = (x + e1) + e2 = x + e1 + e2. And, after a third compression you'd get: x''' = ((x + e1) + e2) + e3 = x + e1 + e2 + e3.
This means that the deviation (error) will add up with each encoding pass. It results in a "generation loss", very similar to what happens when you JPEG-compress a photo many times in a row:
https://upload.wikimedia.org/wikipedia/commons/9/9a/JPEG_Generation_Loss_rotating_90_%28stitch_of_0%2C100%2C200%2C500%2C900%2C2000_times%29.png
tl;dr: Converting from 128 kbps MP3 to 256 kbps does cause an additional quality loss (although it may be relatively small) and, at the same time, doubles the file size. Don't do it, unless you absolutely require AAC format ;)
roo1234
31st December 2015, 03:23
The 2nd encode might waste bits to accurately reproduce errors/noise from the 1st encode. This, and adding its own lossy artifacts.
I do reencodes only to severely reduce bitrate, ie. 192k mp3 to 24k heaacv2, where the 1st artifacts are dwarfed by the process.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.