It happens that I was able to fix somehow this problem.
I ran gstreamer-properties
and noticed that the default output plugin was set on "autodetect". I looked at the available plugins and closed the gstreamer-properties
windows while "autodetect" was still chosen as the default output plugin. When I ran Banshee, the sound was then identical to the one produced by either Rhythmbox or Totem.
In order to try to reproduce and understand the previous problem, I successively chose, as default output plugins, ALSA, ESD and PulseAudio Sound Server. In all cases, the sound between the three applications was strictly identical.
Calling gstreamer-properties
seems to have fix this problem.
Just so we're talking on the same page, the pipeline used by this encoding target looks like the following on my system:
audio/x-raw-int,rate=44100,channels=2 ! lamemp3enc name=enc target=0 quality=6 ! xingmux ! id3v2mux
You can learn about each of the elements in the pipeline with the gst-inspect-0.10
tool. For example, to learn about the MP3 encoder used here, you could run:
gst-inspect-0.10 lamemp3enc
Among other things, this will tell you about the various properties supported by the element and their defaults. This tells me:
- encode using variable bit rate (
cbr=false
from defaults)
- the encoder has been set to optimise for quality rather than a target bitrate (
target=0
)
- uses a VBR quality setting of 6 (
quality=6
)
- uses the standard quality of the LAME engine (
encoding-engine-quality=standard
from defaults)
So you should already be getting VBR output from that pipeline. If you want higher quality, lower the 'quality=' number (0-10, 0 is the highest quality) and perhaps add encoding-engine-quality=high
.
Best Answer
Already reported bug: http://launchpad.net/bugs/945987