I tried using the oss and the alsa plugins for libao and I only got hissing noise. For music which starts out quietly, the sound distortion appears to grow from nothing to complete noise in the first half-second of playing. For music with a definite beat, the beat is distinguishable in the hissing noise. But I can't use shell-fm on my iMac because shell-fm depends on libao working. Older versions of shell-fm supported writing to /dev/audio (OSS) directly and that worked, so I'm convinced the error is in libao not respecting char-signedness or something ABI-specific like that. My situation appears to be the same as that described at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=265344 and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=267621 .
Hm, debian bug reports were closed with fixed upstream, but it's hard to say what fixed this... https://trac.xiph.org/log/trunk/ao
It appears that https://trac.xiph.org/ticket/1397 is related.
The upstream ticket was closed as fixed. Try libao-1.0.0, now in portage.
(In reply to comment #3) > The upstream ticket was closed as fixed. Try libao-1.0.0, now in portage. OK, I tried with libao-1.0.0. I'm not sure if anything changed anywheres or not, etc., but I installed vorbis-tools and noticed that ogg123 doesn't exhibit this issue. This probably means that the issue is with shell-fm. I pulled shell-fm's git source and running make without any special arguments produced a shell-fm that still spurted out noise. Recompiling with the below command produced a working shell-fm, however: $ CPPFLAGS=-DWORDS_BIGENDIAN=1 make clean all -j2 As shell-fm's build system seems to expect the user to determine the bitiness of his system, I guess the shell-fm ebuild will have to figure out if it should add -DWORDS_BIGENDIAN to CPPFLAGS or not.
Fixed in CVS, thanks for figuring out what the problem was. I added the flag WORDS_BIGENDIAN=1 whenever the arch is ppc.