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 426976 - muddy sound on some mp3s
muddy sound on some mp3s
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: dont know
0.10.10
Other All
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-04-06 16:20 UTC by Mark McCorkle
Modified: 2007-04-10 15:09 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16



Description Mark McCorkle 2007-04-06 16:20:38 UTC
Please describe the problem:
Listen to Star Salzman's remix of Chrono Trigger's "Black Wind Rising" from
ocremix.org (or email me and I'll provide the mp3).  At around 1:00 - 1:09 and
again at 1:20 - 1:35 there is an obvious "muddy" sound coming both out of my
speakers (USBed in Logitech Z-10s) and out of their built in earphone port if I
plug in my standard Sony earbuds.

I loaded the same mp3 into xmms and played it back with no muddy sound.  With
that said, I can see (and hear) a little bit of clipping during the same area
in xmms (via the little spectrum analyzer it comes with).

Steps to reproduce:
1. download the same mp3 from ocremix.org
2. Play it raw via  
gst-launch-0.10 playbin uri="file:///home/mccorkle/mp3/ocremix/Chrono_Trigger_Black_Wind_Rising_OC_ReMix.mp3"
3. listen for the first minute or two with good speakers of earphones.  


Actual results:
You will just hear a muddy underlying sound

Expected results:
The same output that I get from xmms on this laptop.

Does this happen every time?
yes

Other information:
My first report was at songbird: http://bugzilla.songbirdnest.com/show_bug.cgi?id=2899

I am using a Sony Vaio PCG-7A2L with a set of Logitech z-10 USB speakers and a Intel sound chip on board.  The muddiness happens both with the sound device on board and with the sound device built into the speakers.

LSPCI for my internal sound card:
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)

If you guys can't reproduce it there, I will attach my line-out to a line in on another machine and send you a FLAC or WAV of what I hear.  

::Mark
Comment 1 Wim Taymans 2007-04-10 10:04:04 UTC
What mp3 decoder plugin are you using? Use gst-launch -v playbin uri=... and paste the console output to get an idea.
Comment 2 Mark McCorkle 2007-04-10 13:54:59 UTC
First time I've seen this output, but if I read it right, the decoder is "flump3dec0.sink".  Assuming that is the decoder, I'm just guessing that this is the file that provides that decoder: "/usr/lib/gstreamer-0.10/libgstflump3dec.so".  A quick strings on the file gives me miles of output but I don't think it yielded me a solid version number, but I did see this:
  Fluendo MP3 decoder
  0.10.2

The file is 134892 large and its md5sum is 59641e227f835bb9f3ef5a5fdf90905d.  I'm running Ubuntu 6.10 with the Automatix2 repos in my apt source's list.  

Below is the raw output of the gst-launch -v just in case I guessed wrong on the decoder:

Setting pipeline to PAUSED ...
/playbin0/decoder/typefind.src: caps = application/x-id3
/playbin0/selector_audio_src0: active-pad = "sink0"
Pipeline is PREROLLING ...
/playbin0/decoder/id3demux0.sink: caps = application/x-id3
/playbin0/decoder/flump3dec0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3
/playbin0/decoder/flump3dec0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/selector_audio_src0.sink0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/decoder.src0: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/decoder.src0.proxypad1: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/selector_audio_src0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/preroll_audio_src0.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/preroll_audio_src0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/aconv.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/aconv.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin.sink.proxypad3: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/aresample.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/aresample.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/volume.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/volume.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/audiosink/audiosink-actual-sink-alsadmix.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/audiosink.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/audiosink.sink: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
/playbin0/abin/audiosink.sink.proxypad2: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)16, depth=(int)16, rate=(int)44100, channels=(int)2
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: audioclock0
Comment 3 Tim-Philipp Müller 2007-04-10 14:06:48 UTC
>   Fluendo MP3 decoder
>   0.10.2
> I'm running Ubuntu 6.10 ...

This is a fairly old and known-to-be-buggy version of flump3dec, please try a newer version and see if that fixes your issues (or uninstall it and use 'mad' from gstreamer0.10-plugins-ugly instead).
Comment 4 Mark McCorkle 2007-04-10 14:32:34 UTC
After removing package "gstreamer0.10-fluendo-mp3", my gstreamer did default back to the mad decoders and it cleared up the audio muddiness.  Thanks for help debugging this.  Now, next stupid question is why does Ubuntu 6.10 have a fairly old and known-to-be-buggy version of flump3dec.  I'm off to the Ubuntu bug report page now.  Thanks for the help.  

::Mark

mccorkle@ashleigh:~$ dpkg --search /usr/lib/gstreamer-0.10/libgstflump3dec.so
gstreamer0.10-fluendo-mp3: /usr/lib/gstreamer-0.10/libgstflump3dec.so
mccorkle@ashleigh:~$ sudo apt-get remove gstreamer0.10-fluendo-mp3

gst-launch-0.10 -v playbin uri="file:///home/mccorkle/mp3/ocremix/Chrono_Trigger_Black_Wind_Rising_OC_ReMix.mp3"
<SNIPPED>
/playbin0/decoder/mad0.sink: caps = audio/mpeg, mpegversion=(int)1, layer=(int)3
/playbin0/decoder/mad0.src: caps = audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int)44100, channels=(int)2
<SNIPPED>
Comment 5 Tim-Philipp Müller 2007-04-10 15:09:11 UTC
> Now, next stupid question is why does Ubuntu 6.10 have a
> fairly old and known-to-be-buggy version of flump3dec. 

I'd guess it was the latest at the time they froze packages for edgy; when I said known-to-be-buggy I meant now of course, not back then :)


> I'm off to the Ubuntu bug report page now.  Thanks for the help.  

Feisty should have a version that doesn't have these issues.