Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Lossy multiencoding (Read 2870 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Lossy multiencoding

Hi.

Today I finished an interesting test (in Russian, also see Google-translated), which shows how audio changes during sequential reencoding (encoding/decoding). I've analyzed bitrate, peak level, and perceptual quality level (superficially of course).




Now I have many question. For example: why VBR V2 quality becames stable after 15 iterations? Why 100 reencodings to QAAC VBR 200 kbps don't give any audible artifacts (and bitrate/level changes too), while for Vorbis and Opus they do?

I know that here some detailed understanding of encoding algorithm is needed. But maybe someone of experts could give some understandable explanations?

Thanks.
🇺🇦 Glory to Ukraine!

Lossy multiencoding

Reply #1
It probably depends on the exact transform lengths used and if the encoder/decoder are gapless.  If you can manage to feed in the data such that each sample is put into the same transform block each time, the generational loss may be very small. 

I bet if you play with the encoder flags you can probably swap which format works best.

Lossy multiencoding

Reply #2
It would be interesting to see 2 more AAC tests:

a) reencoding with FhG AAC in Winamp (or via fhgaacenc)
b) fhgaacenc -> qaac -> fhgaacenc -> qaac -> ...

Lossy multiencoding

Reply #3
It probably depends on the exact transform lengths used and if the encoder/decoder are gapless.


Encoding-decoding was completely gapless.

Quote
It would be interesting to see 2 more AAC tests:

a) reencoding with FhG AAC in Winamp (or via fhgaacenc)
b) fhgaacenc -> qaac -> fhgaacenc -> qaac -> ...


Ok, I'll try it.
🇺🇦 Glory to Ukraine!

Lossy multiencoding

Reply #4
The volume drop of CBR 128 caught my eye. It's as if LAME is running with --scale 0.98 every time.

Lossy multiencoding

Reply #5
It would be interesting to see 2 more AAC tests:

a) reencoding with FhG AAC in Winamp (or via fhgaacenc)
b) fhgaacenc -> qaac -> fhgaacenc -> qaac -> ...


The results for FhG are quite similar to QAAC's:



The quality is also constantly 5.0.

Then I tried this:

Code: [Select]
     fhgaacenc --vbr 5 ~temp.wav ~temp%%i.m4a
     qaac -D -b 24 ~temp%%i.m4a -o ~temp.wav
     qaac -V90 ~temp.wav -o ~temp%%iqaac.m4a
     qaac -D -b 24 ~temp%%iqaac.m4a -o ~temp.wav


It introduced some tendences:



The resultant quality is something like this:



One encoding means reencode to FhG or QAAC, pass means wav->FhG->QAAC.
🇺🇦 Glory to Ukraine!