[mythtv] Quiet, cheap, simple - but crappy audio
mythtv-dev at snowman.net
mythtv-dev@snowman.net
Sun Jan 12 05:48:12 EST 2003
I see a lot of questions about building a mythtv box
so I thought I'd document my experience and maybe solicit
some help.
What I wanted was a box that was quiet, cheap, and simple.
In that order, but still able to do 480x480 with deinterlace.
I have most of this information on
http://lloyd.dyndns.org/index.php?MythTV%20Page
Some highlights of what follows:
Using a PCChips M841L (SIS740) Chipset
Using btaudio
Crappy sound
I put my first mythtv box together from some old
leftover parts to see how it worked.
The system:
Red Hat 7.3
K2-6-500
256MB
WinTV-GO
20 GB Disk
Aureal 8830 soundcard (yeah, that hurt)
The first time I tried it, I ran into a bunch of
problems like illegal instruction and so on.
I figured it was RedHat and so I was going to do
another debian install after 5 years. Instead, I
waited and Robert updated the HOWTO with a RH8
section. (Thanks!)
>From there I did the dance of perl package installs
with XMLTV and finally got the system to run.
I could only get 320x240, but it worked! Now
I had to have more. I set about trying to put
together a fast, quiet system.
Here is what I ended up with:
$189 Athlon XP 1800+ Barebones http://www.outletpc.com/c4015.html
($169 PCChips M841
now) Integrated SIS 740 Chipset
Video
Sound
LAN
$50 WinTV-GO Card (The cheap one.)
$32 Zalman Quiet HeatSink
$?? A QUIET old 275W ATX PS - (I hear the Seasonic SS-300FS is good for
$30)
$20 256 MB PC133 RAM
$?? The same old 20GB Disk
This path was a little more expensive because I had to
toss the 450W PS and Heatsink that came with the barebones
system. I'm sure it could be put together for less if
one person assembled the components.
I thought I was hosed until I found the kernel params
to enable the integrated chipset to work. I'm using
RedHat 8.0 and I boot with grub. So I just edit grub.conf
and reboot. The kernal params to add are:
pci=bios,biosirq idebus=66
Now everything boots, but I have to get alsa loaded so
I can use the sound card. The alsa module is snd-intel8x0.
Just find a general modules.conf for alsa and change the
sound driver module to this value.
I set all the configuration values and viola, Mythtv
is working! Unfortunately the sound is really bad.
It mostly is very hissy and a little distorted like it
is over-driven. I check the levels and it gets a little
better, but I'm never able to get it right. I figure I
need to get the data directly from the capture card.
Believe them when they tell you that getting btaudio
working is hard. Here are the two things that threw me.
1. It matters what order you load the modules in, no matter
what is in modules.conf. You should load the output
sound driver first. (The one you put your speakers on.)
This will grab /dev/dsp.
2. When you load btaudio, It takes the next two devices
and uses them. That would be /dev/dsp1 and /dev/dsp2.
People with a standard RH8 install will notice that there
is no /dev/dsp2 and that MAKEDEV doesn't know how to make one.
Thanks to these guys- http://dab.cs.tum.edu/README
Here are the commands to make more dsp and mixers nodes:
mknod /dev/dsp1 c 14 19
mknod /dev/dsp2 c 14 35
mknod /dev/dsp3 c 14 51
mknod /dev/dsp4 c 14 67
mknod /dev/mixer1 c 14 16
mknod /dev/mixer2 c 14 32
mknod /dev/mixer3 c 14 48
mknod /dev/mixer4 c 14 64
Okay, now I'm loading btaudio (after my alsa driver)
and I have /dev/dsp1 (digital stereo) and /dev/dsp2 (analog).
Now I run Kmix and I get two mixers. One for the alsa
driver for the integrated audio, and another for the
btaudio driver. I find that the line2 input is the signal
I need to use for the tuner.
The easiest way to test the audio was to run xawtv to bring
up a channel and then pipe the output of one dsp into the
other like so.
sox -r 32000 -c 1 -t ossdsp /dev/dsp2 -t ossdsp /dev/dsp
This still sounded crappy and now I'm noticing that the
sampling rates are not as requested. It turns out the sampling
rate of the audio chip on the WinTV-GO (bt878) is 448000.
Yes, the extra zero is right. So I try this:
sox -r 448000 -c 1 -t ossdsp /dev/dsp2 -t ossdsp /dev/dsp
Sounds great!
Now here is my problem. How do I get mythtv to downsample the
really high audio rate so my sound is good.
Chuck
More information about the mythtv-dev
mailing list