GNOME Bugzilla – Bug 426976
muddy sound on some mp3s
Last modified: 2007-04-10 15:09:11 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
What mp3 decoder plugin are you using? Use gst-launch -v playbin uri=... and paste the console output to get an idea.
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
> 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).
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>
> 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.