digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Audio Conversion (http://www.digitalfaq.com/archives/audio/)
-   -   Mp2 (toolame/mp2enc) vs ac3 (ac3enc) (http://www.digitalfaq.com/archives/audio/13660-mp2-toolame-mp2enc.html)

incredible 07-06-2005 09:54 AM

Mp2 (toolame/mp2enc) vs ac3 (ac3enc)
 
Things are packet for vacation so I shurely took some Minutes for doing a test wich was in my list already for some time.

As we all know its better to encode for instance a 2channel PCM Source better to mp2 instead of ac3 (using ac3enc/libavcodec) for later DVD authoring use cause of the known volume loss.

Now, lets see it not in an volume-issue spec. way, but also in a quality spec. way.

I did compare 4 audio encodings, resulted out of a raw PCM "pink noise" wav using besweet and softencode.

1. mp2, using the 2lame engine
2. mp2, using the mp2enc engine
3. ac3, using the ac3enc engine
4. ac3, using softencode

NO postprocessors or extra commandline OTA or whatever options where used!

Comparing 2lame with mp2enc in their freq.bandwith:

http://www.digitalfaq.com/archives/i.../2005/07/2.gif

As you see no big difference in the frequency range, but a "cut" at almost 15000Hz !!



Comparing these mp2 freq. outputs with the ac3 freq. result out of ac3enc.

http://www.digitalfaq.com/archives/i.../2005/07/3.gif


In here when using ac3enc, the full 20000Hz and even more bandwith is used.



Comparing ac3 freq. result out of softencode and ac3enc.

http://www.digitalfaq.com/archives/error.gif

All encodings where done at 192kbit Audiobitrate.
I think these cuts at 15000Khz is not mp2 based but encoding engine based.

8O

Dialhot 07-06-2005 10:52 AM

Re: mp2 (2lame & mp2enc) vs. ac3 (ac3enc)
 
Quote:

Originally Posted by incredible
I think these cuts at 15000Khz is not mp2 based but encoding engine based.

I'm really surprised. A cut in freq above 15 Kz is noticiable by any "normal" people. I never feel that and I'm sure that person like Karl or Jorel can't miss that. Are you sure about your results ? Or can you explain where I'm misunderstanding you ?

incredible 07-06-2005 11:00 AM

I tried to duplicate Stefan Ulrichs tests:
http://www.edv-tipp.de/dvd/047_dvd_sound07.htm

There you also see that phenomenom, maybe you can use an online translator to get it into english language.


Audition doesnt accept ac3 and doesnt decode mp2 properly.

So I did take the resulted mp2's and ac3's and decoded them again to wav 16bit/48000Hz using besweet incl azid or mp2decoder with no special settings.

Maybe it can be a DECODER bug, but as Stefan Ulrich is known for beeing a person with big skills, Im shure thats an issue.

You can do these tests using the freqAnalysis in CoolEdit or Audition (ex Cooledit)

Best would be generating a stream incl. several "single tones" using avisynth:

Code:

#-------- Generating The Video

v        = BlankClip(                \
          length        = 500,        \
          width          = 720,        \
          height        = 576,        \
          pixel_type        ="YUY2",\
          fps                = 25,        \
          audio_rate        = 48000,\
          stereo        = true,        \
          color                = $000000)

#-------- Generating AudioTone passages

a        = Tone(20.0, 8000, 48000, 2, "sine", 1.0)
res        = AudioDub(v, a).subtitle("this is 8000Hz",size=48,220,250)

a        = Tone(20.0, 10000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 10000Hz",size=48,220,250)

a        = Tone(20.0, 11000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 11000Hz",size=48,220,250)

a        = Tone(20.0, 12000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 12000Hz",size=48,220,250)

a        = Tone(20.0, 13000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 13000Hz",size=48,220,250)

a        = Tone(20.0, 14000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 14000Hz",size=48,220,250)

a        = Tone(20.0, 15000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 15000Hz",size=48,220,250)

a        = Tone(20.0, 16000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 16000Hz",size=48,220,250)

a        = Tone(20.0, 17000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 17000Hz",size=48,220,250)

a        = Tone(20.0, 18000, 48000, 2, "sine", 1.0)
res        = res + AudioDub(v, a).subtitle("this is 18000Hz",size=48,220,250)

return res

This AVS will be encoded to mv2 and the PCM Data will be safed as wav out of the avs using Vdub.
Then encoding that resulted wav at mp2 (gain the mp2 minus a few db for resulting same volume as the ac3!) and at ac3 (no gain etc).
Authoring a DVD where audio1 is the mp2 and audio2 is the ac3.

Hear that DVD on your DD Device where you can see on the TVscreen the actual Hz which is played back. Switch between the Audio Tracks and compare with "your" ears.

To clean up that: The graphs above are "theory", so a testing makes things clear if theres a bug or a reason why the graphs above dont get above 15000Hz in case of mp2 encoding.

incredible 07-06-2005 02:19 PM

Quote:

I'm really surprised. A cut in freq above 15 Kz is noticiable by any "normal" people.
Well .... hmmm I tested some tones using audition and its preview and ... I can differ up to 16000Hz and fromthen on: finito. On the Mediplayerclassic output of a resulted ac3 out that SAME tone bandwith I can differ up to 15000 ... hmmm .... some playback environments seem to treat Bitstreams very differently.

However, ... I used for listening a very good AKG Headphoneset, but on my Audio Home Cinema Device Setup. 15000Hz are out of the list. I think my Speakers practically (not theoretically ;) but these are not very high end ones) or the DD Decoder (a very good Denon, so he shouldnt be the "limiter") do reach the limits.

So if a "normal" person and his normal Setup will playback mp2 cutted at 15000Hz, I assume he wont notice it!?

AlexandreBH 07-06-2005 05:29 PM

i never use besweet.
could you try to encode the pink noise with HeadAC3he to compare please?

rds_correia 07-07-2005 05:23 AM

Quote:

Originally Posted by AlexandreBH
could you try to encode the pink noise with HeadAC3he to compare please?

Hi Alex :)
I don't think there's any point in doing that because both besweet and headac3he use the same engine: mp2enc.
Cheers

AlexandreBH 07-07-2005 10:03 AM

oi Rui :) (hy boy)

i download the new besweet1.5b30 and the HeadAC3he0.24a13.
inside besweet have mp2enc.dll 37Kb 23/5/2002
inside HeadAC3he is mp2enc.dll 108Kb 15/12/2004
differents versions(sizes and dates)
as i never use besweet,who knows,incredible can find another misterious results.
:wink:

Dialhot 07-07-2005 02:53 PM

Quote:

Originally Posted by AlexandreBH
inside besweet have mp2enc.dll 37Kb 23/5/2002
inside HeadAC3he is mp2enc.dll 108Kb 15/12/2004

My god, you're right ! 8O

incredible 12-09-2005 12:23 PM

Btw. I compared these two in their size differing dlls and the output was exactly the same, so the besweet one just seems to be upx'ed - "maybe" thats all.

rds_correia 12-09-2005 01:18 PM

Quote:

Originally Posted by incredible
Btw. I compared these two in their size differing dlls and the output was exactly the same, so the besweet one just seems to be upx'ed - "maybe" thats all.

Thanks for the feedback Andrej.
BTW, today I saw a thread @ D9 where someone was saying that the "low volume" issue when transcoding AC3 can be avoided using HeadAC3he 0.24a13 and using the GAIN 6 option.
Is this true?
Because I ran a test with that release with and without the GAIN and sure it does come out louder but it is still lower than my original AC3.
Any comments on that?
Cheers

Prodater64 12-09-2005 02:34 PM

Quote:

Originally Posted by rds_correia
Quote:

Originally Posted by incredible
Btw. I compared these two in their size differing dlls and the output was exactly the same, so the besweet one just seems to be upx'ed - "maybe" thats all.

Thanks for the feedback Andrej.
BTW, today I saw a thread @ D9 where someone was saying that the "low volume" issue when transcoding AC3 can be avoided using HeadAC3he 0.24a13 and using the GAIN 6 option.
Is this true?
Because I ran a test with that release with and without the GAIN and sure it does come out louder but it is still lower than my original AC3.
Any comments on that?
Cheers

Does anybody find out a way to deal with that low volume?
Why boost (BeSweet) is not a good option?

incredible 12-09-2005 03:37 PM

Its not the problem that the Volume isnt loud enough when the bitstream gets into the ac3enc.dll, ... the problem is that ac3enc does treat the bitstream in a wrong way while doing the conversation.

rds_correia 12-09-2005 03:56 PM

Well but Ligh at the german D9 forum said that HeadAC3he 0.24a13 with Gain=6 would do the job properly.
But since my tests didn't work out well and since you also use to check that forum and since you are also very much into AC3 I thought you would know something more about it than I do.
So with Gain=6 or without it we still have that issue to solve right?
BTW are there any commercial audio encoding utilities that can transcode AC3 without that issue that you would know?
Cheers buddy

incredible 12-09-2005 05:52 PM

a) Scenarist Ac3encoder
b) Softencode

and maybe some Nuendo, etc HQ Audio appl.

The code of ac3enc.c is just a "reverse" approach out of an ac3 decoder based on the a52 specs, thats why its called a "simple" ac3 encoder.

For my taste the less volume is not "such a" problem as about 50% of my original dvds got such a less volume in their ac3 audio tracks.

I think noone will get into ac3enc.c to fix that cause the whole world is now focussing the faac.c developement.

rds_correia 12-09-2005 05:58 PM

I see.
BTW any good guide you could advise on SoftEncode?
Cheers

Prodater64 12-09-2005 09:45 PM

What about boost???

rds_correia 12-09-2005 11:13 PM

Well, since both HeadAC3he and BeSweet use ac3enc.dll for dealing with AC3 stream and since ac3enc.dll has major bugs I really don't see how Gain or Boost can help.
I just don't understand why LigH said that Gain would do the trick...
Cheers

incredible 12-10-2005 12:56 PM

A Gain maximiser already pushes the amplitude to its limits, applying a boost on such a signal woudl cause clipping/distortion.

I could encode using libavcodecs ac3enc an ac3 which results in the same volume like if using mp2enc, but the result would be distorted.


All times are GMT -5. The time now is 06:51 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.