[mythtv-users] Really bad sound quality from /dev/dsp1

jb17bsome jb17bsome at bellsouth.net
Wed Nov 26 00:28:26 UTC 2008


On Tue, 25 Nov 2008 15:58:10 -0800 (PST)
jimc at math.ucla.edu (Jim Carter) wrote:

> The Penguin is embarassingly losing a competition with Media Center
> Edition.  I think I've figured out all the configuration issues except
> for one, which is a showstopper: on NTSC channels the sound fades in
> and out: at its best its quality approaches (but does not reach) that 
> of the card's ALSA source, but most of the time it sounds like the
> actors smoke six packs per day and are speaking their lines
> underwater. They are not chipmunked, i.e. the sound frequency is
> right. On a VOIP connection I would start looking for a codec
> mismatch.
> 
> Hardware configuration:
> System: Dell Dimension 4600
> CPU: Pentium 4 at 2.4 GHz, hyperthread
> Memory: 256 Mb
> Chipset: ICH5
> TV Card: pcHD-5500 (Conexant CX23880/1/2/3 PCI Video and Audio
> Decoder) Sound: Intel Corporation 82801EB/ER (ICH5/ICH5R) AC'97 Audio
> Controller Graphics: nVidia Corporation NV18 [GeForce4 MX 440 AGP 8x] 
> 
> Software: 
> OpenSuSE 10.3, kernel 2.6.22.19-0.1-default (supports hyperthread)
> mythtv-{everything}-0.21-18 from Packman
> lame-3.98.2-0.pm.3 from Packman
> Modules are the ones included with the mainline kernel (not hacked).
> Modules loaded (edited): cx88xx cx8802 cx88_alsa cx8800 
> 	cx88_dvb snd_mixer_oss snd_pcm_oss
> 
> Myth configuration summary:
> Two capture cards are defined: DVB (the pcHD-5500's digital radio) and
> V4L (the NTSC radio). For the latter, the sound source is /dev/dsp1.
> The frontend sends sound to ALSA:default.  Recording profiles are
> mostly unchanged from installation except the sample rate is set to
> 48000Hz, video is compressed with MPEG-4 and audio with MP3 (lame).
> 
> Here's what I did to narrow down the problem area.  
> 1.  Authentic music played to the ALSA default sink (ICH5) sounds
> normal, proving that the speakers, headphones, sound card and ALSA
> library are functional.  
> 2.  When I play a NVU file with VLC the sound is equally bad, proving 
> that the frontend has no blame here.  
> 3.  Uncompressed audio sounds identical, proving that lame is not
> lame. 4.  Now with Myth stopped I did "ttv KCET" to make it tune a
> station. 5.  arecord -D hw:1,0 -f dat | aplay -f dat
> where dat means -f S16_LE -c 2 -r 48000.   This gives "perfect" sound.
> This is what I want to be listening to, and what MCE delivers most of
> the time.
> 6.  aplay -f U8 -c 2 -r 8000 /dev/dsp1 gives the same sound as the
> Myth backend is compressing into the NVU file, which pretty well lets
> the backend off the hook.  Myth is recording the sound it is given,
> which is bad.
> 7.  aplay -f U8 -c 1 -r 16000 /dev/dsp1
> Sounds a lot like -c 2 -r 8000, but there's a high-pitched crackly 
> overlay, not very loud.  
> 
> I copied a sound clip from /dev/dsp1 to a file using "dd", and looked
> with "od": it is definitely 8 bits per sample, and 16000 octets per
> second ("dd" does timing and reports this).  It's hard to tell by
> eyeball whether the sound is stereo or mono, but the Nyquist frequency
> is half the sample rate, and I can't believe stereo at 4kHz, so most
> likely it's mono.
> 
> Thinking that clipping might be the problem, I tried turning down the
> volume, both with "alsamixer -c 1" and with "v4lctl volume 50%" [etc.]
> Alsamixer's GUI showed volume changes on the capture device, and
> "v4lctl list" also showed volume changes, but no effect could be
> heard; the sound was equally loud and equally bad.  "v4lctl volume
> mute on" (or off) did mute/unmute the sound.
> 
> At this point I'm inclined to blame ALSA OSS emulation, saying that
> Myth is in a "garbage in, garbage out" mode.  I tried using aoss to
> run the backend, but it still opened /dev/dsp1 (seen
> in /proc/$PID/fd) and produced bad sound.  
> 
> According to the mailing list, and forum postings elsewhere, lots of
> other people can make MythTV work; some even report nearly "out of the
> box" results.  Can anyone suggest anything more I can do?  My thoughts
> have been along these lines:
> 
> 1.  Make the backend take sound from ALSA hw:1,0, the normal sound
> source for this TV card.  That would be best, as it's 16 bits per
> sample at 48000Hz.  NTSC sound is nowhere near this good, but 8 bits
> at 8000Hz stereo or 16000Hz mono seems kind of anemic.
> 
> 2.  Get the backend to actually use the OSS API rather than just 
> opening the raw device.  Then aoss could divert it to the ALSA device.
> But I have no idea how to use either the OSS or ALSA API, so hacking
> like this would be a long and frustrating process.
> 
> 3.  Figure out how to turn down the volume in the pcHD-5500, supposing
> that clipping is causing the problem (which actually I doubt because
> the sound sometimes is fairly good yet is equally loud as the bad
> majority).
> 
> 3.  Specify magic undocumented parameters to some ALSA component, to 
> make the OSS emulation better.  For example if you did a rate change
> from 48000Hz to 16000Hz by keeping every third sample you might get
> alias effects, which an exponential filter would suppress.  I 
> experimented with specifying a plug device, but couldn't make the rate
> and format changes happen.
> 
> James F. Carter          Voice 310 825 2897    FAX 310 206 6673
> UCLA-Mathnet;  6115 MSA; 405 Hilgard Ave.; Los Angeles, CA, USA
> 90095-1555 Email: jimc at math.ucla.edu  http://www.math.ucla.edu/~jimc
> (q.v. for PGP key) _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

For 1, Did you see the ticket for alsa sound capture?
http://svn.mythtv.org/trac/ticket/3405


More information about the mythtv-users mailing list