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: Lame 3.98 wastes bits, esp. at V0 (Read 36440 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Lame 3.98 wastes bits, esp. at V0

Reply #25
So, I'm glad to know about the new development with Lame 3.99 alpha 2.

In fact, LAME 3.98.x branch was changed too.

Lame 3.98 wastes bits, esp. at V0

Reply #26
@lvqcl - thanks for pointing out the Lame-dev thing that I'd missed earlier in the thread.

The problem doesn't come with modern versions of WMP (I tested 11 and 12), but rather with mplayer2 (the "hidden" WMP v.6.4 in XP) which uses the l3codecx.ax DirectShow decoder.

However, the problem appears a lot more limited than the solution. While mplayer2 on my XP machine does mess up with the original blackbird 3.97 sample, it has no problem with other files that theoretically should cause problems. I have not been able to produce any problem using mplayer2 to play Lame 3.96 or 3.97 high-bitrate V0 files (that contain lots of 320kbps frames), or with 3.98 high-bitrate V0 files which I have substantially compressed using MP3packer (so basically removing the bloat that results from --strictly-enforce-iso switch, as V0 files from 3.96 and 3.97 can almost never achieve any compression with MP3packer.
So I've wondered if the higher-bitrate bloat (and/or inefficiency with problem samples that are already maxed out at 320kbps for some frames) is extended further than is necessary for player compatibility.

So, I'm glad to know about the new development with Lame 3.99 alpha 2. Thanks to robert and the lame devs for continuing to work on this!


Interesting.

I have a Windows 2000 machine, and bringing up mplayer2 on it (verifying it was version 6.4.09.1129), it plays that blackbird397 sample perfectly fine.

However, I did install the latest K-Lite Codec Pack on that machine, so that likely replaced the l3codecx DirectShow filter with either a newer version, or is using a 3rd party one that doesn't have the problem.


Lame 3.98 wastes bits, esp. at V0

Reply #27
If you want to reproduce the problem, simply use Graphedit to build a DirectShow filter graph, using Fhg's l3codecx.ax.

Lame 3.98 wastes bits, esp. at V0

Reply #28
I have 2 FhG decoders in my system:
1) c:\Windows\System32\l3codecx.ax (ver. 1.5.0.50)
2) c:\Program Files\K-Lite Codec Pack\Filters\l3codecx.ax (ver. 1.9.0.311)

The former doesn't play blackbird397, the latter does.

WonderSlug, if your system uses l3codecx from k-lite folder, run "regsvr32.exe c:\Windows\System32\l3codecx.ax" and try again.


Lame 3.98 wastes bits, esp. at V0

Reply #30
That's the plan.

Lame 3.98 wastes bits, esp. at V0

Reply #31
Wonderful.
lame3995o -Q1.7 --lowpass 17

Lame 3.98 wastes bits, esp. at V0

Reply #32
I don't think theres much hope on those situations. At least those situations are rare, unless the user is a huge fan of: electronic music, castanets, drums / cymbals (at low bitrates) and Kraftwerk.

The timing resolution on the Mp3 specs limit completely shrinks the "room for improvement" for Mp3. IMO it's the best you can ever get out of Mp3 with critical pre-echo samples, while AAC still has some room for improvement.


I have plenty of electronic music in my collection like Kraftwerk, Aphex Twin, Autechre etc. What would be the best way to encode these?

Lame 3.98 wastes bits, esp. at V0

Reply #33
Assuming you want to use LAME, you seem to have two options A: wait for the next version, which will address the issue; or B: encode some examples with 3.98, and test whether or not you hear anything undesirable.

Lame 3.98 wastes bits, esp. at V0

Reply #34
I have plenty of electronic music in my collection like Kraftwerk, Aphex Twin, Autechre etc. What would be the best way to encode these?


Sadly a lot of electronic music contains a lot of sharp transients, which can produce artifacts know as pre-echo. Which is a major problem with Mp3.

I would recommend doing an ABX test with some of Kraftwerk's tracks such as: The Robots, Spacelab, The Man Machine, Computer World 2, Tour De France (1983 version), Boing Boom Tschak and the most hard to encode Kraftwerk track IMO would be Musique Non Stop. If you are sensitive to pre-echo you will likely to be able to ABX most of those tracks effortlessly with any Mp3 encoder at around 192kbps - 320kbps.

If you managed pass a ABX test with most of those tracks, i then would recommend trying out AAC if you have an iPod or a player that supports AAC. From my personal ABX tests, i find most of those tracks sound acceptable or better then Mp3 with Nero's AAC encoder at -q 0.50 (175kbps) while sounding horrid with LAME, even at 320kbps.

Also Musepack is worth trying out with electronic music.
"I never thought I'd see this much candy in one mission!"


Lame 3.98 wastes bits, esp. at V0

Reply #36
I have plenty of electronic music in my collection like Kraftwerk, Aphex Twin, Autechre etc. What would be the best way to encode these?


Sadly a lot of electronic music contains a lot of sharp transients, which can produce artifacts know as pre-echo. Which is a major problem with Mp3.

I would recommend doing an ABX test with some of Kraftwerk's tracks such as: The Robots, Spacelab, The Man Machine, Computer World 2, Tour De France (1983 version), Boing Boom Tschak and the most hard to encode Kraftwerk track IMO would be Musique Non Stop. If you are sensitive to pre-echo you will likely to be able to ABX most of those tracks effortlessly with any Mp3 encoder at around 192kbps - 320kbps.

If you managed pass a ABX test with most of those tracks, i then would recommend trying out AAC if you have an iPod or a player that supports AAC. From my personal ABX tests, i find most of those tracks sound acceptable or better then Mp3 with Nero's AAC encoder at -q 0.50 (175kbps) while sounding horrid with LAME, even at 320kbps.

Also Musepack is worth trying out with electronic music.


I have iPod/iTunes so I could encode electronic stuff as AAC. Is this a problem only with purely electronic music, or do for example hip-hop beats, some of the more electronic Radiohead songs or the quick silent/loud dynamics of the Elbow track "Starlings" cause the same kind of artifacts? And is hand clapping of an audience still a problem for MP3?

Lame 3.98 wastes bits, esp. at V0

Reply #37
Surely you won't know until you test for yourself? No one else has your ears.

Lame 3.98 wastes bits, esp. at V0

Reply #38
This discussion about encoding at AAC is not on-topic.  Please start a new topic if you wish to discuss this further.  Continuation of this conversation in this thread will result in binned posts and warnings issued.


 

Lame 3.98 wastes bits, esp. at V0

Reply #40
Thank you, robert and john33 (and whoever else contributed), for the new version.

sfb21 bitrate bloat has decreased (for the samples I tested) - very welcome. No need any more for my usual lowpass at 16.7 kHz.
What changed for sfb21 behavior?
lame3995o -Q1.7 --lowpass 17

Lame 3.98 wastes bits, esp. at V0

Reply #41
What changed for sfb21 behavior?
Actually nothing. The reason for the bloating was solely the limitation of audio-data-size / bitreservoir-usage, as an attempt to circumvent the FhG decoder problem.

@timcupery: let's discuss your topic in the other thread, started by NIN9.

Moderation: Posts moved to said discussion:
http://www.hydrogenaudio.org/forums/index....showtopic=79059


Lame 3.98 wastes bits, esp. at V0

Reply #43
As I'm going to reencode that part of my collection for which I use mp3:

I don't care about 30 kbps or so, but like the best quality for 250 kbps or so on average even in worst case scenerios.
-V0 is the best VBR quality level, and to have an even more demanding setting I think using a negative value for the --ns-xxxxx options can do the job.
After some trials I ended up with -V0 --ns-alto -6 --ns-treble -3 -Y which yields 256 kbps for my standard test set.
--ns-treble has a more serious impact on bitrate than --ns-alto. That's why there are different values for the two options.  --ns-treble unfortunately covers sfb21, that's why I also use -Y.

Any experience with settings like this making -V0 more defensive?
lame3995o -Q1.7 --lowpass 17

Lame 3.98 wastes bits, esp. at V0

Reply #44
http://support.microsoft.com/kb/2115168/en-us
MS10-052 Vulnerability in Microsoft MPEG Layer-3 codecs could allow remote code execution

L3codecx.ax was updated to ver. 1.6.0.52 (date=15-Jun-2010). This version is able to play BlackBird_lame3.97.mp3