After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 789795 - mp3 encoding quality slider is misleading
mp3 encoding quality slider is misleading
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
HEAD
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-11-02 00:13 UTC by gkrithi8
Modified: 2018-03-16 08:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description gkrithi8 2017-11-02 00:13:24 UTC
Rhythmbox -> Preferences -> Music:

Preferred Format: MPEG Layer 3 Audio
                  Variable bit rate
                  Quality range: 0.0 to 9.9

The general assumption here is that 9.9 is the best quality, and 0.0 is the lowest quality. But, when this is directly passed to the underlying mp3lame library it is reversed. 0 is best quality for mp3lame, 9 is the lowest quality. So, a mp3 encoded with 9.9 produces lowest quality ( 8 kbps ).
Comment 1 gkrithi8 2017-11-02 00:21:03 UTC
VBR encoding for a sample track in Rhythmbox/gstreamer/mp3lame on quality values 0.0, 1.0, 2.0, 4.0. Output mp3 file details are displayed below.

[Quality: 0.0]
0:00:30.119799469 21162 0x5614dbadc9e0 INFO              lamemp3enc gstlamemp3enc.c:912:gst_lamemp3enc_setup: lame encoder setup (target quality, quality 0.000000, bitrate 320, 44100 Hz, 2 channels)
44100 Hz 256kbps  16.0 MB (1,60,14,995 bytes)

[Quality: 1.0]
0:03:00.780930317 21162 0x5614db6e69e0 INFO              lamemp3enc gstlamemp3enc.c:912:gst_lamemp3enc_setup: lame encoder setup (target quality, quality 1.000000, bitrate 320, 44100 Hz, 2 channels)
44100 Hz 224 kbps 13.9 MB (1,38,58,151 bytes)

[Quality: 2.0]
0:04:26.701611427 21162 0x5614dcc949e0 INFO              lamemp3enc gstlamemp3enc.c:912:gst_lamemp3enc_setup: lame encoder setup (target quality, quality 2.000000, bitrate 320, 44100 Hz, 2 channels)
44100 Hz 224 kbps 12.0 MB (1,19,77,201 bytes)

[Quality: 4.0]
0:05:48.668195221 21162 0x5614dcc94990 INFO              lamemp3enc gstlamemp3enc.c:912:gst_lamemp3enc_setup: lame encoder setup (target quality, quality 4.000000, bitrate 320, 44100 Hz, 2 channels)
44100 Hz 160 kbps 9.7 MB (96,79,925 bytes)
Comment 2 Jonathan Matthew 2017-11-04 08:49:09 UTC
This is just how lame works, and people familiar with using the command line lame tool will probably know that.  I think the only reasonable thing to do is invert the range, so 0.0 is shown on the right (in LTR locales).

commit de6cd999b allows properties to be inverted (see gtk_range_set_inverted) and commit 32097f428 applies it to the quality property for lamemp3enc.
Comment 3 gkrithi8 2017-11-04 12:09:06 UTC
Sorry, but this is quite confusing. This would be perfectly fine if the slider doesn't have any text indicating the quality value.
Comment 4 gkrithi8 2017-11-04 12:20:54 UTC
On a second note, I just noticed that the inverted slider bar was reducing as it's moved to the right. I wonder if any gnome user has seen such behavior. This is more confusing.

The normal slider UI which was before, was just fine. The "quality:inverted" is perfectly fine too. But the mapping has to be internal, based on the inverted boolean flag. Something like.

if ( inverted ) {
    val = max - val; // [ 3.5 -> 6.4 [ max ( 9.9 ) - selected (3.5) ]
}
Comment 5 Jonathan Matthew 2017-11-05 02:33:13 UTC
no, I'm not going to make it map or modify the value in any way.
Comment 6 gkrithi8 2017-11-05 06:10:55 UTC
do you see any issues with mapping ?
Comment 7 gkrithi8 2017-11-05 17:47:58 UTC
One other option is to have 2 labels on either side of the scale as below:

                              0.5
Quality:  worst ===============@--------------- best


and flip the labels if 'inverted' is true.
Comment 8 28872d13 2018-03-16 08:12:24 UTC
I just hit this trying to find out why the transcoded MP3 files on my player were sounding horrible.
Please reopen this, the inverted slider is confusing as hell. You don't have to map the value, but "worst" and "best" labels would *really* help.