[mythtv-users] Shuttle SK41G sound problem

Steven Marcotte sdmarcotte at comcast.net
Sun Dec 21 23:15:54 EST 2003


On Sun, 2003-12-21 at 07:42, Joseph A. Caputo wrote:

> > OK, if I open xawtv and enter the command 'aplay /dev/dsp' and adjust
> > the levels in aumix as follows:
> > 
> > Volume: 70
> > PCM: 70
> > CD: 100
> > IGain: 100
> > 
> > The volume level is fine, there is no distortion, and there are two
> > audio tracks.  If I set the CD input to 0, one audio track goes away and
> > I am left with on audio track slightly out of sync.
> > 
> > If I quit aplay, aumix, and xawtv and start MythTV with the same levels,
> > I get the same result, loud and distorted.  I can adjust the audio
> > levels down, and the volume will get lower, but the distortion remains. 
> > In fact if I set the levels in aumix as follows, the sound is very quiet
> > but still distorted.
> 
> What do you mean 'the same levels'?  Depending on your settings, mythfrontend 
> may adjust your audio output levels on startup.

What I mean is, prior to starting mythfrontend, the levels are set in
aumix the same as the xawtv/aplay experiment, VOL=70, PCM=70, IGain=100.
Once I start watching live TV, mythfrontend sets the levels according to
my MythTV preferences, VOL=40, PCM=40, IGain=100.  Sorry I didn't make
that too clear.

> > 
> > Volume: 20
> > PCM: 20
> > CD: 0
> > IGain: 2
> 
> PCM & IGain are most likely to affect distortion.
> 
> > 
> > I can play music from Myth Music with the same levels as the xawtv
> > experiment, and it plays fine.  
> > 
> > ALSA registers two DSP devices for my via82xx sound card, /dev/dsp and
> > /dev/adsp.  I reran the xawtv experiment with for /dev/adsp, with the
> > following levels:
> > 
> > Volume: 70
> > PCM: 70
> > CD: 100
> > IGain: 100
> > 
> > The output is loud and distorted, there is too much distortion to tell
> > if there is two audio tracks.  If I set the IGain level to 0 the
> > distortion goes away and you get a normal sound output in real-time from
> > the CD channel.  
> > 
> > I thought this is great, finally I'm able to reproduce the problem
> > outside of MythTV.  The first thing I did was double check to make sure
> > that neither the Myth front-end or back-end was configured to use
> > /dev/adsp.  But as luck would have it, MythTV was configured to use
> > /dev/dsp for capture and playback; lsof verified that this was the case.
> > 
> > The via82xx chipset is suppose to support full-duplex mode.  I have run
> > the gamut of related module parameters with no success.  But shouldn't a
> > TV recording be fine regardless of weather or not my soundcard supports
> > full-duplex?  lsof reports that the only process accessing /dev/dsp is
> > the MythTV back-end, and that is in read-only mode.
> 
> Is this while watching LiveTV?  If so, mythfrontend should also have /dev/dsp 
> open; if it doesn't, then are you sure* that mythfrontend is configured to 
> use /dev/dsp for TV playback?  There are 2 places in the frontend setup where 
> this is configured -- 1 for mythmusic & one for TV playback.  When changing 
> settings you must continue through all the screens until the end, or the 
> changes do not get applied.  Based on your observations above, it sure sounds 
> like mythfrontend is playing through /dev/adsp.

Sorry if I wasn't clear.  When I am watching live tv, lsof shows that
mythbackend is reading from /dev/dsp and mythfrontend is writing to
/dev/dsp.  No other processes are accessing /dev/dsp or /dev/adsp.

# lsof | grep dsp
mythbacke 377 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 409 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 410 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 411 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 412 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 413 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 414 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 415 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 416 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 417 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 418 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythfront 426 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythfront 440 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythfront 473 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythbacke 474 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 475 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 476 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 477 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythbacke 478 mythtv 22r   CHR       14,3     144369 /dev/dsp0
mythfront 479 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythfront 480 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythfront 481 mythtv 15w   CHR       14,3     144369 /dev/dsp0
mythfront 482 mythtv 15w   CHR       14,3     144369 /dev/dsp0

When I am just recording a show, lsof shows that mythbackend is the only
process reading from /dev/dsp.  

# lsof | grep dsp
mythbacke 377 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 409 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 410 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 411 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 412 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 413 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 414 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 415 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 416 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 417 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 418 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 497 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 498 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 499 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 500 mythtv   18r   CHR     14,3     144369 /dev/dsp0
mythbacke 501 mythtv   18r   CHR     14,3     144369 /dev/dsp0

There are no other processes reading or writing to either /dev/dsp or
/dev/adsp.  I verified that the recording is bad by transcoding it and
playing it on another computer.

Just to triple check the settings, I dumped the database and everything
is in fact configured to use /dev/dsp.

I don't know why this is so difficult.  Everything seems to be
configured correctly, but it still sounds like I have a blown speaker
(even though I don't).  :|  

Quattro





More information about the mythtv-users mailing list