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: GXLame - Low-bitrate MP3 encoder. (Read 69798 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

GXLame - Low-bitrate MP3 encoder.

Reply #50
Short test.

10 first samples from last public test.
100 kbps test.

Codecs:
GXLAME 5.3 V35
GXLAME 4.5 V35
Apple AAC Constrained VBR 96 kbps high quality.

Both GXLAME 5.2 and 5.3 produce the same output for V35.


Code: [Select]
GXLAME 5.3   GXLAME 4.5     Apple AAC
3.00    2.50    4.50
1.50    1.50    3.00
3.70    3.00    3.50
2.50    1.70    4.50
1.70    1.60    3.30
1.90    2.00    5.00
2.00    2.20    4.00
1.60    1.50    4.60
1.30    1.40    4.50
2.40    2.20    4.60

% Codec averages:
% 2.16    1.96    4.15


Scoring:
GXLAME 5.3 - 2.16
GXLAME 4.5 - 1.96
Apple AAC  - 4.15

Not sure about the difference in quality between 5.3 and 4.5.

Final conclusion:
GXLAME has low quality at 96 kpbs.
It's not really news. The quality for MP3 begins from 128 kbps, not less.

GXLame - Low-bitrate MP3 encoder.

Reply #51
Excellent, this is what I was looking for! Thanks for doing some of your tests. I also find Apple AAC (one of the best AAC codecs at this bitrate) somewhat superior to gxlame, but I'm curious as to what particular sort of artifacts are most offensive to you.

Also, a test between GXLame and other encoders may be useful (such as GXLame V20 vs he-aac at 64kbps, or GXLame vs LAME at these or any bitrates).

I'm also curious about untrained listener response to bitrates as low as V20. This curiosity stems from the fact that GXLame "gets" the fact that it can't eliminate all artifacts, but tries to mask their severity as much as possible while preserving the full spectrum (up to 16KHz).

My own tests have shown GXLame produces tolerable quality down to V20 (85kbps) on most mainstream music samples. (And of course, killer samples will chip away at such a notion, but all the same.)
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.

Reply #52
This curiosity stems from the fact that GXLame "gets" the fact that it can't eliminate all artifacts, but tries to mask their severity as much as possible while preserving the full spectrum (up to 16KHz).

I'm not a developer but here is my opinion based on personal observations.

The preservation of the bandwidth is a good thing but  good encoder should have an optimal balance between the lowpass and amount of distortion in high frequencies.
LC-AAC can preserve the frequency up to 15.5-16 kHz at 100 kbps because it's more advanced.
LAME can reasonbly afford around 14.5 kHz at such bitrate.
GXLAME tries to handle 16-16.5 kHz while is running out of the bits.    That explain a lot of noise in high frequencies that I can hear with GXLAME (but not so much with LAME)
The good example of it is castanets sample (also pre-echo handling of GXLAME is very week).  I bet the the quality will be better if the lowpass will be set at 15 kHz (that could be already at high side though) and appropriate optimizations will be done. 

My 0.02$


GXLame - Low-bitrate MP3 encoder.

Reply #54
Another short test.
10 samples from the last public test (Samples 11-20)

Bitrate ~96 kbps.
GXLAME 5.3 -V 35
LAME 3.97 -V 7  (I prefer 3.97 for low bitrates.)


Link for audio files and results:
www.mediafire.com/?1nu52fvzego6plf

Code: [Select]
GXLAME_53    LAME_397
1.80    3.00
2.00    3.00
3.00    5.00
2.00    2.50
2.50    4.00
1.00    2.70
2.00    3.00
2.00    3.80
4.00    3.00
1.00    2.00

% Codec averages:
% 2.13    3.20


Bootstrap:
Code: [Select]
bootstrap.py --blocked --compare-all -p 100000 -s 100000 TOTAL_RESULTS.txt
bootstrap.py v1.0 2011-02-03
Copyright (C) 2011 Gian-Carlo Pascutto <gcp@sjeng.org>
License Affero GPL version 3 or later <http://www.gnu.org/licenses/agpl.html>

Reading from: TOTAL_RESULTS.txt
Read 2 treatments, 10 samples => 1 comparisons
Means:
GXLAME_53  LAME_397
   2.130     3.200

Unadjusted p-values:
          LAME_397
GXLAME_53  0.012*

LAME_397 is better than GXLAME_53 (p=0.012)

p-values adjusted for multiple comparison:
          LAME_397
GXLAME_53  0.011*

LAME_397 is better than GXLAME_53 (p=0.011)

GXLame - Low-bitrate MP3 encoder.

Reply #55
I thought that ABR is still preferrable for LAME at low bitrates...

"For very low bitrates, up to 100kbps, ABR is most often the best solution. Use --abr <bitrate> (e.g. --abr 80)" -- HA wiki.

GXLame - Low-bitrate MP3 encoder.

Reply #56
You're right.
ABR is recommended for LAME at low bitrates (wiki article)

I was just listening some samples encoded at V 5/6/7 and eventually  perfomed the test with V7. Even this way I think the results  are clear (GXLAME and LAME).

GXLame - Low-bitrate MP3 encoder.

Reply #57
You're right.
ABR is recommended for LAME at low bitrates (wiki article)

I was just listening some samples encoded at V 5/6/7 and eventually  perfomed the test with V7. Even this way I think the results  are clear (GXLAME and LAME).


Now that's certainly interesting. My results were almost the exact opposite. This means I certainly (highly) prefer subtle high frequency distortions over over aggressive lowpass and ringing. GXLame, to me, wins against LAME in almost every sample. Now things are certainly getting interesting. Do you happen to find tremendous lowpass preferable to slight high frequency distortion?
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon


GXLame - Low-bitrate MP3 encoder.

Reply #59
Do you happen to find tremendous lowpass preferable to slight high frequency distortion?

14.5 kHz is hardly can be named as tremendous lowpass.  LAME was tuned during several years and here a lot of good listeners  have helped to do it.
Even AAC can't preserve 16 kHz at 96 kbps.

It's not slight HF distortion of GXLAME. It's a severe distortion.  The difference is so big that GXLAME has no chance against LAME. (see the difference between scores).
I know GXLAME is your baby and I just try to help.

GXLame - Low-bitrate MP3 encoder.

Reply #60
Ahaha, thanks. I was thinking of V20, in the middle of GXLame's range of interest. LAME's lowpass is quite severe at these rates, for instance. (I do also consider 14.5KHz fairly brutal, but that's a preference). I also took a bit of a leaf out of HE-AAC's HF methodology (well, not really, but the metaphor is somewhat relevant) -- higher frequencies are least important to the ear, so more distortions can be present; in HE-AAC's case, frequencies above 11 or 12KHz are essentially discarded and/or 'guessed' (SBR). I did a very quick and dirty double-blind test today with some volunteers in my living complex pitting GXLame V20 and similar-bitrate LAME 3.98 V9.9 (upsampled appropriately) against the originals. With a few laptops and their cheap headphones, all 3 listeners couldn't easily distinguish between the original and GXLame (they're certainly not audiophiles, apparently, nor do they have 'golden ears'), but they easily could hear LAME's lowpass. When I later tried to point out a few artifacts in GXLame, the 1 person who could hear them said he "didn't care" and probably wouldn't notice during casual listening. I didn't tell him which codec was which at that time, either. This was almost exactly the result I'd hypothesized (and hoped for) based on the premise of my tunings. I know it doesn't count as a full-blown scientific survey, but perhaps it suffices as a sort of 'sanity test' to make sure I wasn't completely crazy. But it's certainly likely enough (low n value) that we actually are kind of crazy. Or the samples were too easy (it was some of their music), or some other confounding factors.

So again, this is quite curious. I will try to produce a slightly tweaked version with reevaluated lowpasses to see if it will suit your tastes better (perhaps in the meantime you can manually specify a lower lowpass -- the tunings probably won't be thrown off too terribly for a couple of KHz difference). Perhaps everyone will win in the end. Thanks for your continued interest!
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.

Reply #61
GXLame V20 and similar-bitrate LAME 3.98 V9.9


That's strange. According to my tests, the average bitrate for GXLame -V20 is 85 kbps, and for LAME 3.98.4 -V9.9 it is close to 36 kbps (with lowpass=4.4 kHz).

I can get ~85 kbps from LAME using the following settings:
-V 8.4: resamples to 32 kHz, lowpass=11.3 kHz
-V 8.5: resamples to 24 kHz, lowpass=11.0 kHz
--abr 85: resamples to 32 kHz, lowpass=13.5 kHz

GXLame - Low-bitrate MP3 encoder.

Reply #62
GXLame V20 and similar-bitrate LAME 3.98 V9.9


That's strange. According to my tests, the average bitrate for GXLame -V20 is 85 kbps, and for LAME 3.98.4 -V9.9 it is close to 36 kbps (with lowpass=4.4 kHz).

I can get ~85 kbps from LAME using the following settings:
-V 8.4: resamples to 32 kHz, lowpass=11.3 kHz
-V 8.5: resamples to 24 kHz, lowpass=11.0 kHz
--abr 85: resamples to 32 kHz, lowpass=13.5 kHz


They were both at 44.1KHz for consistency. I suppose I can re-do the LAME tests at V8.5 at 32KHz, but the music was a mix of metal, pop, and hip-hop, and LAME claimed a full 83kbps there -- very, very close to GXLame at V20.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon


GXLame - Low-bitrate MP3 encoder.

Reply #64
Nice encoder. I'm waiting for the lame_enc.dll version so i can test it out with streaming.

GXLame - Low-bitrate MP3 encoder.

Reply #65
This encoder is great. 
Sounds really good with high compression, it tames the most annoying artifacts. I simply couldn't do without it. Thank you very much.

GXLame - Low-bitrate MP3 encoder.

Reply #66
Firstly respect to you for coming out with such a thing, obviously it's the kind of thing some people might be a bit hostile to but I think it's great to have diversity and different approaches to things.

It makes me a bit more comfortable to say the following. I'm trying to encode at extremely low bit rates. Presently I'm doing 16kbps at 22khz in mono! I'd like to achieve something like FM radio quality only in mono. Sometimes I get very close. Obviously at such low rates anything that can give me the edge is very welcome!

I've just been trying ABR in lame, as that is supposed to be recommended for lower bitrates but I'm questioning if I wasn't getting better results with VBR and max_bitrate?

I'm wondering if GXLame might help? I notice that you are more looking at bitrates around 96kbps and 85kbps but I am working with mono and at only 22khz which might make things closer?

I'd love to hear if you have tried anything like this in GXLame and what the results were.

Also is GXLame only a windows thing? I'm doing Linux with gstreamer here...

Thanks for your help!

love

Freya

GXLame - Low-bitrate MP3 encoder.

Reply #67
Are you restricted to 16Kbps? MP3 will blow up at this bitrate.
Opus and HE-AAC might work okish at 16Kbps.

Edit: HE-AAC at 24Kbps is very much possible. Some online radio stations stream at that rate.

GXLame - Low-bitrate MP3 encoder.

Reply #68
Are you restricted to 16Kbps? MP3 will blow up at this bitrate.
Opus and HE-AAC might work okish at 16Kbps.

Edit: HE-AAC at 24Kbps is very much possible. Some online radio stations stream at that rate.


16kbps yes, 24 sometimes at a push.

I'm getting okish results now but a bit too much swirly on some things.
I just want to improve on things a little.
Don't forget this is mono and 22khz.

I think I was getting better results with vbr before but it might have been an older version of lame and all kinds of stuff.

It has to be .mp3 format I'm afraid, otherwise I might play with .ogg

Just wondering how to improve my encodings. Looks like adding a lowpass switch might help for instance.

Any suggestions for things I might try?

love

Freya

GXLame - Low-bitrate MP3 encoder.

Reply #69
Quote
It has to be .mp3 format I'm afraid, otherwise I might play with .ogg

You should be able to get better results with Ogg Vorbis. You might need to use the '--managed' switch to make sure it doesn't go above 16Kbit/s

Quote
Just wondering how to improve my encodings. Looks like adding a lowpass switch might help for instance.

Yes, you could try that. It might worsen or improve.

GXLame - Low-bitrate MP3 encoder.

Reply #70
Firstly respect to you for coming out with such a thing, obviously it's the kind of thing some people might be a bit hostile to but I think it's great to have diversity and different approaches to things.

It makes me a bit more comfortable to say the following. I'm trying to encode at extremely low bit rates. Presently I'm doing 16kbps at 22khz in mono! I'd like to achieve something like FM radio quality only in mono. Sometimes I get very close. Obviously at such low rates anything that can give me the edge is very welcome!

I've just been trying ABR in lame, as that is supposed to be recommended for lower bitrates but I'm questioning if I wasn't getting better results with VBR and max_bitrate?

I'm wondering if GXLame might help? I notice that you are more looking at bitrates around 96kbps and 85kbps but I am working with mono and at only 22khz which might make things closer?

I'd love to hear if you have tried anything like this in GXLame and what the results were.

Also is GXLame only a windows thing? I'm doing Linux with gstreamer here...

Thanks for your help!

love

Freya


For audiobooks, using --resample 16 -mm -V10 proved close to 16kbps. It's mono and around 16kbps, sounds great, but its at 16khz. You can try -V5 at 22KHz if you like, too -- results should be similar. Vorbis has actually not been very good with speech content, historically. Even if it is comparable at this rate, it is nowhere near as ubiquitous and can't be nearly as easily played/transfered/etc.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.

Reply #71
Is the source available for GXLame? I would like to compile it for use on my computer running the Ubuntu 12.04 OS.

GXLame - Low-bitrate MP3 encoder.

Reply #72
Downloaded gxlame.exe from the first post's attachment is identified by avast! as infected with Win32:Evo-gen [Susp]. Is this a false positive or..

GXLame - Low-bitrate MP3 encoder.

Reply #73
[Susp] probably means "suspicious".  GXLame is compressed/encrypted by PECompact, maybe Avast doesn't like it.

Thank you! This is a really good replacement for nero mp3!

Reply #74
I need music at extremely low bit-rates without the treble reduction of LAME codec.  So, I had been using alternatives that didn't actually make much smaller files (just slightly smaller). 

GXLame was really a shock to my system, and I've signed (first post) to thank you for it.  :D

First experiment with the foobar2000 example and .exe from post#1, I set to -V0 and tried "Beautiful Briny Sea" from the movie Bedknobs and Broomsticks.  Male voice was fine, but female voice blurred/overmod slightly. 

So, in foobar2000's processing, I added ResamplerPPHS set to 22050 ultra.  And the blurs were gone! 
Also the quality was easily as good as tape/fm.  Probably better than cassette tape set too hot.  Bitrate 25k to 46k and 22050 bit depth. 

The 25k bitrate  was a problem, so:  GXLame-t5.3.exe -S -b32 -F -V0 - %d
Now the bitrate ranges from 32k to 46k.  There are file sizes from 680k to 1 megabyte. 
Epic bandwidth savings.

At these small bitrates, hearing the '3d ambient cues' or sound-stage environment is really unexpected (and awesome).  Usually an advanced codec would flatten that or most mp3 would have treble cut and noise.  I had no such problems with GXLame. 
There was a cost--The file is louder with audio compression.  

Certainly, the file size vs quality was well beyond expectations.  So, I tried V1, similar, V2, similar, V3 slightly less severe loudness boost (v0 33k; v3 40k). . . V4 similar to V3, V5 similar, V6 similar, V10 similar, etc... no escaping the loudness boost.  But some settings are less severe on that peculiar cost.
Increasing too-quiet sounds for low bitrate may be necessary to get enough bits to represent them; however, it is Not necessary nor pleasant to increase the loudness of already-loud sounds (that is blare).

V6 does ~42k bitrate stereo @ 22k bitdepth in very good quality (maybe better than FM), except for loud sounds get louder (a little smashed and blare).  Can we have a switch/flag to regulate/reduce the loudness-compressor-booster function?    

Meanwhile, I will search for a foobar2000 gain-cut plugin...  The unwanted boost is linear and it shouldn't be linear (quiet sounds louder is pleasant, already-loud sounds louder isn't).  Halp?

P.S./Edit:  As usual for today, an audio thing doesn't have a gain control, but I stacked the equalizer plugin and cut every band by 2 notches (no mention of decibels).  That has halfway resolved the unnecessary volume boost.  It only dawned on me to try that after I found out that the boost was linear.  Without overmod distortion, bandwidth consumption fell to 40k bitrate for stereo, which is probably better quality than FM.  I still hear a rather clever audio compressor boost, just less often (but when it hits, still bracing).  Perhaps it would be good to have a switch/flag to set how much less loudness boost is desired, and perhaps nonlinear ratio of quiet verses loud (because already-loud sounds shouldn't be much louder)?  
I'd love this if you can cancel the air raid.