OK, this might be getting confusing. Just a summary for people who are
new to this bug, and some suggestions for future directions:

- People initially filed this as a sound-juicer bug, while *at that time*, it 
was actually a gstreamer bug; the "lame" element, which was responsible for 
encoding mp3 files by interfacing with the LAME mp3 library, was misbehaving.
- Rather than attempting to fix the "lame" element, which was entirely based on 
incorrect assumptions, Sebastian Dröge created a brand new LAME interface named 
"lamemp3enc", which is simple to use and in line with the LAME developer's UI 
guidelines.
http://lame.sourceforge.net/lame_ui_example.php
Around that time, I stopped following this bug, assuming that it would be fixed 
soon (I'm using RubyRipper with standalone lame for my own CD ripping purposes 
so I'm not directly affected).
- Now, more than a year later, "lamemp3enc" is indeed in 
gstreamer0.10-plugins-ugly-multiverse (which is good), but sound juicer still 
calls the obsolete and buggy "lame" element instead of "lamemp3enc" (which is 
inane).
- So, what we're looking at *right now* is a sound juicer bug (yes I consider a 
default setting that results in "data loss" - quality loss actually - a bug), 
and what we need is suggestions for default gstreamer pipe lines for 
sound-juicer.
- A good starting point for this would be hydrogeaudio.org - the guys over 
there are digital audio professionals and enthusiasts and they have done an 
incredible amount of ABX blind testing and debating to come up with 
recommendations for using lame.
http://wiki.hydrogenaudio.org/index.php?title=LAME
    * For what most people would call "CD quality", they recommend VBR 
qualities 0,1,2 or 3 (according to taste).
    * For "portable mp3 player quality", they recommend VBR qualities 4, 5 or 6
    * For "voice quality" they recommend ABR with a target bitrate lower than 
100. The current juicer presets join the channels to mono when voice is 
selected, so in that case, a target bit rate of 56 seems sensible (ie. 
"lamemp3enc name=enc target=1 bitrate=56 mono=true" , thus mimicking  "--preset 
voice" of standalone lame).
- How to implement this all depend on how much of these internals one would 
want to expose to the user. While I myself would very much enjoy juicer giving 
me the option to choose between VBR and ABR and set the quality/bitrate myself 
(as FiloSottile seems to suggest), juicer's design philosophy seem to be to 
keep it simple and stupid. In that case picking one "CD quality" preset, one 
"portable mp3 player" preset, and one "voice" preset would be the way to go.
- Finally, the sound juicer devs (or whoever makes up these defaults) seem to 
be biased towards lower bitrates/qualities; the current "CD quality" preset 
attempts to use VBR quality 6, in which most people could clearly hear the 
artifacts giving good enough listening conditions.
- Anyway, to stay totally in line with juicer's design philosophy (however 
objectionable this may be), my final recommendation would be to use 
FiloSottile's "audio/x-raw-int,rate=44100,channels=2 ! ... ! xingmux ! 
id3v2mux" with the following lamemp3enc lines:
"CD quality": lamemp3enc name=enc target=0 quality=2
"portable mp3 player quality": lamemp3enc name=enc target=0 quality=6
"voice quality": lamemp3enc name=enc target=1 bitrate=56 mono=true

PS: I don't know why it would be needed to specify name=enc but it won't
hurt and a lot of people are doing it, so it might be good for
something.

-- 
Sound Juicer - MP3 quality doesn't change
https://bugs.launchpad.net/bugs/195483
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is a bug assignee.

-- 
desktop-bugs mailing list
desktop-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to