Gentoo Archives: gentoo-amd64

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-amd64@l.g.o
Cc: gentoo-user@g.o
Subject: [gentoo-amd64] Re: libmad sound artifacts
Date: Thu, 27 Mar 2008 02:25:08
Message-Id: pan.2008.03.27.02.22.30@cox.net
In Reply to: [gentoo-amd64] libmad sound artifacts by "Canek Peláez Valdés"
1 "=?UTF-8?Q?Canek_Pel=C3=A1ez_Vald=C3=A9s?=" <caneko@×××××.com> posted
2 ee2a916a0803261624o7f4d264ag4aed324956007d69@××××××××××.com, excerpted
3 below, on Wed, 26 Mar 2008 17:24:10 -0600:
4
5 > Finally, I was able to locate the problem: it's libmad, because madplay
6 > have the artifacts too.
7 >
8 > Everything that uses libmad sounds like crap, and I've recompiled the
9 > library with any option that it offers, but to no avail: the artifacts
10 > are still there (I can make them WORSE, with the default fixed point
11 > math). I see bug reports that *seems* to be similar, but for ppc and
12 > sparc, and those solutions didn't work for me.
13 >
14 > Other thing: if I decode the MP3 to a WAV file with madplay
15 > --output=wave:file.wav, the artifacts disappear.
16
17 Interesting, as I think wav is basic uncompressed PCM the same as what
18 would go direct to the speakers anyway. The difference then, isn't in
19 output, it's that the to-wav-file doesn't have to be processed as real-
20 time, while obviously sending it to the speakers does.
21
22 The strong indication is therefore that the problem isn't in the
23 processing per se, but that the libmad processing is either too CPU
24 intensive for your system config in real-time, or that it's defaulting to
25 an incompatible sampling rate for your system and/or soundcard, and
26 sending it to wav first uses a different process and/or sample rate.
27
28 From what you said, it /used/ to work fine. Assuming that's the case,
29 the problem may not be with libmad at all, but with recent kernel changes
30 and/or latency or priority changes on your system. It's a pretty big
31 field of possibilities to try to narrow down from, IOW.
32
33 Or, it could be the sampling rate, as I mentioned. I don't know, does
34 libmad allow fiddling with that? When was your latest upgrade and does
35 the changelog mention anything about new sampling defaults or the like?
36 (FWIW, here I'm no libmad-0.15.1b-r4, with the dates on the files
37 suggesting I last merged it on March 17, which would have been the emerge
38 -e world after I upgraded to gcc-4.3.0. I am however on ~amd64 with gcc
39 and binutils always unmasked to the absolute latest in-tree regardless of
40 keywording, and always emerge --upgrade --deep. If you are on stable and/
41 or don't regularly use --deep, you may have an earlier version; epkginfo
42 says -r2 is latest stable, but 0.15.1b is going to be the latest upstream
43 release.)
44
45 One thing to note is that libmad isn't the only mp3 decoder available.
46 ffmpeg (IIRC) handles mp3 as well, and I believe there's actually around
47 a half dozen different implementations. As such, especially where a
48 package has USE=mad instead of USE=mp3 controlling its dependency on
49 libmad, you likely have either a compile-time or run/config-time choice
50 as to its mp3 decoder. Thus, it's quite likely you can simply use
51 something other than libmad, and go about your business, altho it may
52 involve recompiling a few packages. Try equery depends libmad and see
53 what shows up and what USE flag controls that dependency, for starters,
54 keeping in mind that general file conversion isn't affected so letting
55 say k3b and streamripper, to name two apps I have installed with mad
56 support here, continue to use libmad isn't a problem. xine-lib, OTOH...
57
58 > I'm not using normal speakers;
59 > I'm using an old stereo system, plugging the output from my sound card
60 > to the video input of the stereo. But it sounds really nice if I'm not
61 > using libmad.
62
63 The following has nothing to do with your problem, and is just general
64 comments on using the stereo as a computer sound output device...
65
66 I have my stereo system hooked to my computer too. Way better sound that
67 way, IMO. Only I have a relatively new Onkyo 5.1 system, and run coax
68 pcm/digital-out computer -> Onkyo. I had it hooked up analog b4, but
69 prefer the digital, except now the sound card volume doesn't work, only
70 (on the apps that have it) individual application volume, on the
71 computer, and of course the stereo's volume. Someday I need to find
72 documentation on getting the multi-channel simulation on the computer to
73 work, as ideally, it should give me more control and options, but for
74 now, my sources are almost all simple stereo anyway, so I just send that
75 to the Onko over the digital/PCM interface and use its 5.1 simulation.
76
77 --
78 Duncan - List replies preferred. No HTML msgs.
79 "Every nonfree program has a lord, a master --
80 and if you use the program, he is your master." Richard Stallman
81
82 --
83 gentoo-amd64@l.g.o mailing list

Replies

Subject Author
Re: [gentoo-amd64] Re: libmad sound artifacts "Canek Peláez Valdés" <caneko@×××××.com>