Skip to main content

Topic: GXLame - Low-bitrate MP3 encoder. (Read 15069 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
GXLame - Low-bitrate MP3 encoder.
See below for latest versions with changelog(s).

See discussion thread if you would like to read up on GXLame, grab the latest version, or post your comments. GXLame is an MP3 encoder based off of LAME v3.98.4 and 3.99b0 optimized for high-quality, low-bitrate VBR encoding. It is similar in concept to other popular encoders at these bitrates such as the latest Nero release, Vorbis, and so forth at bitrates down to 56kbps. 

GXLame-t1 (very first release, see below for later versions):
Here's a very rough idea of what to expect:

Code: [Select]
On a continuous scale from V 0 (lowest bitrate) to V 100 (highest quality):
V 0:   64kbps
V 10:  84kbps
V 20:  96kbps
V 30:  112kbps
V 40:  120kbps
V 50:  128kbps
V 60:  164kbps
V 70:  175kbps
V 80:  192kbps
V 90:  210kbps
V 100: 240kbps
Ranges from 0-35 are the most interesting to me.

This is a continuous range. Note that automatic resampling will take place at quality level 5 with an accompanying bitrate drop; for this reason there is a sharp difference in bitrate between V6 (79kbps) and V5 (70kbps).

Usage: gxlame [options] input.wav output.mp3
Options include:
-V [0-100] : quality scale (see above chart), default 20.
-h : high quality mode. Slow as blazes, but more usable in ABR.
-f : fast mode.
- : Use instead of "input.wav" for standard input (this IS the home of the foobar2000 forum, and it'd be nice to use this with that excellent program to encode).
--abr [bitrate] or --preset [bitrate] : toggles ABR encoding at the specified bitrate. ABR has not been extensively tuned in GXLame-t1.
--help : Tells you these basics.

I'm sort of assuming everyone here has used LAME. If not, it's a wonderful open-source encoder, and it's very fast (unlike this thing here). It stands for "Lame Ain't an MP3 Encoder" (I'd say it should be called "LIME" because it is).

This is a very early test release. It is not completely tuned, stable, or optimized. I want to gather user feedback first.

PS: Lossy transcoding is an especially bad idea with GXLame. It relies so heavily on the psymodel and noise shaping that any artifacts present in the original--even inaudible--may rebound here with a great vengeance. You've been warned... 
  • Last Edit: 31 August, 2011, 08:20:01 PM by The Sheep of DEATH
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #1
Quick bugfix. Yes, this one improves quality (particularly in the case of the warbling, "underwater" artifacts in some samples).
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #2
GXLame-t2 released!

Changelog:
- Fixed a nasty bug with channel mapping under V30
- Tweaked the dynamic noise floor
- Reduced ringing
- Significant tuning
- Raised lowpass

I've tried to address the samples and artifacts people reported most. The result is (hopefully) much better quality across the board. Let me know if there are any regressions.

(I still need that bitrate test, people!  )
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

  • greynol
  • [*][*][*][*][*]
  • Global Moderator
GXLame - Low-bitrate MP3 encoder.
Reply #3
Please direct all discussion on this topic here.
13 February 2016: The world was blessed with the passing of a truly vile and wretched person.

Your eyes cannot hear.

GXLame - Low-bitrate MP3 encoder.
Reply #4
GXLame-t3.
Changelog:
- Slight tuning (some artifacts addressed)
- Improved high frequency handling (helps stabilize cases of fading backbeat, etc)
- Slight speedup

Discuss here!
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #5
GXLame-t4:
- Reworked ath system
- Lowpass raised (again) also at high bitrates (20.5Khz at V100)
- Tuning
- Changes in bitrate mapping as follows:

Code: [Select]
V0:   64kbps (resampling to 32Khz takes place at V5)
V10:  79kbps
V20:  85kbps
V30:  96kbps
V40:  112kbps
V50:  128kbps
V60:  146kbps
V70:  162kbps
V80:  185kbps
V90:  224kbps
V100: 256kbps


I addressed some problem samples (some more than others, for various reasons), but in general I think you'll find perceptual quality has increased tremendously with this release. Special attention was given to "cleaning" up the sound and reducing ringing in certain situations. V20 (85kbps) is now perfectly usable on my player while on the go. (Of course, a deafeningly noisy bus commute with my rather strange collection of music blaring through cheap headphones doesn't vouch for everyone).

This marks my first "alpha" release. Note that there is much left to be done. The new ath system has yet to mature and isn't yet used to its full potential. Also, abr (still) isn't tuned yet. Speed and stability have yet to be evaluated in the long haul. I recommend you use -f if things are moving too slowly for you, but speed tweaking isn't a priority now--the focus is on quality at very low bitrates (V10-V30 in particular).

Let me know of any regressions, no matter how obvious or obscure. Discuss here!

Cheers!

  • Last Edit: 09 May, 2010, 05:53:29 AM by The Sheep of DEATH
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #6
Tiny incremental update. Fixes warbling ("underwater noise") in many cases and slightly improves quieter samples. A bit of tuning under the reworked ath model. Call this 1.0 beta or RC or whatever you wish. It's fully useable, so test this thing out. It shouldn't crash. Same bitrate table as before. Actually had this for quite a while, but never got around to uploading it. This makes it, what, a year?

I stopped updating after t4 because the 80kbps test was canceled, and I'd initially wanted to prove how much this beast could do compared to other superior format specs and technologies, especially at bitrates supposedly "untouchable" by anything MP3. If there's still any interest after this, let me know.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #7
GXLame-t5:
- Synced (selectively) with LAME 3.99b0
- Small ath minval bugfix (introduced in t4)
- Normalization of quality between quiet and noisy audio (needs testing!)
- Fast mode (-f) is much faster (now on par with aotuv venc builds) with better quality approaching that of default mode
- Changes in low bitrate mapping to be more geometrically consistent and to take advantage of new quality normalization at lowest bitrates:
Quote
V100: 256kbps
V90:  224kbps
V80:  185kbps
V70:  162kbps
V60:  146kbps
V50:  128kbps
V40:  112kbps
V30:  96kbps
V20:  85kbps
V10:  75kbps
V0:    64kbps (actually 56kbps @ 32KHz
; auto resampling to 32Khz takes place at V5 and below)


GXLame-t4.5 is still the recommended version for actual use, while t5 is a new branch. Although t5 it is less mature than t4.5, it may produce better overall quality in some (few? most? 'all?') cases, but more testing is needed. It would be very helpful if you could compare it to t4.5 (or t3, for that matter). A comparison of average bitrates (at V20) between these versions would also be welcome. As usual, discuss in the main thread.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #8
GXLame-t5.1:

- Initial tuning (now seems to be on par with or better than t4.5, testing needed -- report regressions!)
- -f is even faster, quality unchanged
- V10 now maps to 74kbps average
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

GXLame - Low-bitrate MP3 encoder.
Reply #9
GXLame-t5.2:

- More tuning. Gently reduced a few of the most annoying artifacts (dropouts).
- Slightly modified high-frequency handling under new ATH model (all bitrates).
- Preliminary adaptation of LAME's new short block pre-echo control for GXLame
- Next: some cleanups and slight speedup.

GXLame-t5.3 is planned to be the end of the t5 series unless new issues or significant regressions are found.
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon

  • IgorC
  • [*][*][*][*][*]
GXLame - Low-bitrate MP3 encoder.
Reply #10
Hi, DS.

It will be interesting for me to explore your tunings but donĀ“t know when I will have free time to do it. But I will sooner or later. 
Hopefully other members will look into it. Short test of few samples can be helpful as well.
  • Last Edit: 11 May, 2011, 10:01:20 PM by IgorC

  • greynol
  • [*][*][*][*][*]
  • Global Moderator
GXLame - Low-bitrate MP3 encoder.
Reply #11
IgorC,

Please read my previous post in this discussion:
http://www.hydrogenaudio.org/forums/index....st&p=703034

This thread will close now.

@The Sheep of DEATH:
Please send a PM to an admin or moderator if you wish to add additional posts.
13 February 2016: The world was blessed with the passing of a truly vile and wretched person.

Your eyes cannot hear.

GXLame - Low-bitrate MP3 encoder.
Reply #12
GXLame-t5.3:

- Added more iterations to noise shaping loop; fractional bitrate reduction at all presets
- New optimizations (and updated 4.6.2 GCC compiler, for better or worse)
- Attempted to fix a very minor, very rare input handling bug
- Quality should be very similar to t5.2, bitrates very slightly lower (same general quality/preset mapping as t5.2)
- Speed is also very similar -- may be slightly better (slight optimizations) or worse (added noise shaping steps)
- Should be the final release in the GXLame-t5 series
- Recommended version (unless regressions appear relative to t5.2)

As always, I would appreciate any comments with regard to quality, especially compared to previous versions (such as t5.2).
Copy Restriction, Annulment, & Protection = C.R.A.P. -Supacon