Go Back   Cockos Incorporated Forums > Projects > Deprecated REAPER issue tracker > Closed Issue

Rework the LAME MP3 encoder settings GUI Issue Tools
issueid=1624 11-30-2009 06:06 AM
Human being with feelings
Rework the LAME MP3 encoder settings GUI

Current design of the LAME MP3 encoder settings GUI is confusingł that can lead to using wrong settings or to get wrong results!

LAME User Interface Guidelines:

You should try to provide an user interface as simple as possible, avoiding too many options.

* "target" bitrate/quality allows choice betwen VBR or CBR/ABR. According to selection, CBR/ABR or VBR options should be grayed out.
* "encoding engine quality" allows 3 choices: fast, standard or high. This option is not mandatory.
* a checkbox allows to encode in mono (LAME will downsample). There is no choice between different stereo modes, as the default mode should be optimal. Other modes are likely to decrease quality.
* CBR/ABR: a slider allows bitrate selection. LAME will use CBR only if the specific checkbox is selected. Default mode when targetting a specific bitrate whould be ABR, as it provides better quality than CBR.
* VBR: a slider allows quality selection between 10 and 100. This slider is specifically aligned with the CBR/ABR one in order to give a visual indication of the resulting bitrate of the different VBR quality levels.
A menu is allowing choice between the two VBR modes of LAME 3.x.
* A small note is indicating that the encoder used is LAME (as required by the LGPL license). If the name "LAME" is problematic by itself, something similar to "encoding technology by Mp3Dev.org" could also be suitable, although specifically mentionning LAME is prefered.

In most cases, there should be no need to provide other options. The ones offered in this example screen should already provide optimal results in the vast majority of situations.

Why so complicated in REAPER? They key in the LAME guidelines is to gray out and disable irrelevant options depending on the user selected settings.
This issue is closed. No more replies may be made.
Issue Details
Issue Type Closed Issue
Project Deprecated REAPER issue tracker
Category GUI and graphics
Status Implemented
Priority 5 - Medium
Affected Version 3.1415
Closed Version 3.35
Yes votes 10
No votes 0
Assigned Users (none)
Tags (none)

11-30-2009 06:29 AM
Human being with feelings
02-22-2010 12:17 AM
Human being with feelings
3.32pre1 almost has it!

Still some open things:

1. Why do we need the separate "Mono" checkbox for MP3 encoding? Isn't that specified in the global "Channels" checkbox already? Should be removed in my opinion (for less confusion).

2. The VBR bitrate approximation is wrong (reversed). The quality settings goes from best (10) to worst (100). Shouldn't this be the other way round? Then the approximation would be correct I guess. FIXED (3.32pre2)

Why not even use "0" to "9" (matching the "V0" to "V9" quality terms)? This way I wouldn't have to think much when trying to render a "VBR V2" file for example.

3. There are still strange differences between a VBR V2 file from REAPER and foobar2000 (LAME.exe): http://www.outburst-audio.com/maik/vbr-v2.rar (11.6MB)

REAPER's result is almost 0.5 MB larger than foobar2000's!?

foobar2000 commandline: "-S --noreplaygain -V 2 --vbr-new - %d"

foobar2000 V2 overall bitrate result: 187 kbps
reaper V2 overall bitrate result: 202 kbps

Any idea? The only idea I have is that it's because foobar2000 just feeds the decoder with 24bit. But I'm not sure ...
02-22-2010 06:02 AM
The quality scale and bitrate approximations are taken straight from http://lame.sourceforge.net/lame_ui_example.php .
02-22-2010 08:21 AM
Human being with feelings
I know. But I don't think we have to follow that 1:1. Don't you agree with a 0-9 range being more practical? "0" would give "V0" (best VBR) quality. "9" would give "V9" (worst VBR) quality.

At the moment the bitrate approximation it's definitely wrong when using the "Target quality (VBR)" setting:

"Quality 10" -> "Bitrate 64" approximate => "VBR V0"
"Quality 100" -> "Bitrate 256" approximate => "VBR V9"

Approximations are wrong in this case.

That's how it should be:

"Quality 10" -> "Bitrate 256" approximate => "VBR V0"
"Quality 100" -> "Bitrate 64" approximate => "VBR V9"

Or as I said:

"Quality 0" -> "Bitrate 256" approximate => "VBR V0"
"Quality 9" -> "Bitrate 64" approximate => "VBR V9"

would be even better.

FIXED (3.32pre2)

Another small addition:

"kbps" (without quotes) should be added next to the Bitrate dropdown!

DONE (3.32pre2)
02-22-2010 08:55 AM
Confirmed the quality scale is backwards. But, we will keep the scale direction of 10 (worst) - 100 (best), because anything else will be exactly counterintuitive for anyone who isn't intimately familiar with mp3 encoding internals. We can write (worst) and (best) on the ends of the scale for clarity.
02-22-2010 09:03 AM
Human being with feelings
Ok. What about the file differences between REAPER and foobar2000? Any idea?
02-23-2010 07:29 PM
Human being with feelings
No idea schwa? I'm still getting bigger V2 MP3s with REAPER 3.32pre2 (than with foobar2000) :(

Please have a look at a MP3 from REAPER in a hexeditor:

Doesn't that look strange? Why this repeating section?

Also why did you add that "Mono" checkbox? For all other formats there's no Mono checkbox. So why do we need it for MP3? Please remove it.

In the project settings the "Bitrate" dropdown box isn't drawn properly (missing bottom edge):
02-23-2010 08:59 PM
I think the repeated header tag information might be coming from the particular version of LAME that you have, I'm only seeing the expected single tag with LAME 3.93. What build of LAME are you using?

[edit] Also not seeing repeated tags with LAME 3.98 from RareWares. What settings are you using in this case?

[edit] The repeating section in your screenshot is not even a well-formed tag, it's just garbage, essentially. The encoder writes the header, not Reaper.
02-23-2010 09:15 PM
Human being with feelings
LAME 3.98.2

Bundle compiled with Intel Compiler 11.1.046.

from http://rarewares.org/mp3-lame-bundle.php

What about the "Mono" checkbox?
02-23-2010 09:21 PM
Human being with feelings
Same with

LAME 3.98.2

Bundle compiled with VC6/Intel Compiler 9.1 - intended for older Windows OSs.

from http://rarewares.org/mp3-lame-bundle.php

It doesn't happen with short files it seems.

Reproducing steps:

-> 48kHz project
-> timeselection lenght = 4:25.253
-> render timeselection to 48kHz stereo MP3 VBR with Quality 80

=> Now that stuff happens
02-23-2010 09:23 PM
I just downloaded that build, just now, rendered stereo VBR quality 70 (in the Reaper dropdown), normal header. What settings are you using?

[edit] same results with 5 minute render, 48k, VBR 80.

02-23-2010 09:25 PM
Human being with feelings
Originally Posted by schwa
I just downloaded that build, just now, rendered stereo VBR quality 70 (in the Reaper dropdown), normal header. What settings are you using?


Originally Posted by Dstruct
It doesn't happen with short files it seems.

Reproducing steps:

-> 48kHz project
-> timeselection lenght = 4:25.253
-> render timeselection to 48kHz stereo MP3 VBR with Quality 80

=> Now that stuff happens
02-23-2010 09:36 PM
I just noticed your screenshot is not from the start of the file at all. I believe your screenshot is normal/correct encoding for a bunch of empty (silent) frames.
02-23-2010 09:45 PM
Human being with feelings
The screenshot is from the REAPER encoded file found in http://www.outburst-audio.com/maik/vbr-v2.rar

The foobar2000 (lame.exe) file is much smaller.

Both VBR V2.
02-23-2010 10:27 PM
The foobar MP3 is 7% smaller than the Reaper one.

The settings written into the LAME tag (quality, encoding flags, etc) are exactly identical between foobar and Reaper except that the foobar has the "unwise" bit set. LAME sets this bit when certain parameters are overridden by the caller. One override that triggers the bit is "short blocks forced" which might explain why the foobar MP3 is somewhat smaller.

Anyway, there's no bug here. Closing the ticket, further discussion can happen in the user forum.

Issue Tools
Subscribe to this issue

All times are GMT -7. The time now is 02:01 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.