DonationCoder.com Forum

Main Area and Open Discussion => Living Room => Topic started by: mouser on November 04, 2006, 12:10 PM

Title: What's better: modern built-in motherboard sound chip or old sound card?
Post by: mouser on November 04, 2006, 12:10 PM
Any thoughts on this issue?
I have a 1yt old motherboard with built-in sound, and a 5-10 yr old pci creativelabs lowend sound card.
Which is likely to be better?
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: tinjaw on November 04, 2006, 12:49 PM
It depends on the sound chips involved. The one on the mobo is probably just as good if not better.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: vegas on November 04, 2006, 02:36 PM
Instinct would say the newer onboard sound is better.  But you could just install them both (without conflict hopefully) and see which one sounds better.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 05, 2006, 09:19 AM
Onboard sound seems to have become pretty nice in the recent years - intel seems to have been doing a lot of nice work there.

Main problem with onboard sound is that it can be pretty noisy because of EMI... dunno if they've been able to fix that. I wouldn't mind getting rid of my Audigy next time I upgrade, creative aren't known for doing the best drivers in the world...

perhaps I shoudl just get a decent DAC and use digital out from my mobo, no noise there :)
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: Josh on November 05, 2006, 09:26 AM
What sound card do you have to throw in there and what is the onboard audio that is on the board? It all depends. I have an on-board audio chipset that rivals my SB Audigy 2 ZS. The quality, at least to me, is unnoticably different
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 05, 2006, 10:41 AM
For generic stereo sound, the sound on the motherboard may be the best choice from a high-speed interface design prospective.  The "internal" PCI bus on the motherboard can have better throughput (perhaps even be 66 MHz instead of 33 MHz) than going through an actual PCI connector.  Also, the more cards you plug into the PCI bus, the more you digitally load that bus (which also increases the noise generated on the bus).

When laying out the motherboard, routing restrictions are placed on the analog/linear signal traces so they aren't running parallel to any digital traces.  That's why all the linear chips are grouped away from the digital chips.  I would agree some noise does creep in, but a real effort is made to minimize this with appropriate routing and layout.

In commercial instrumentation (such as the VXI instrument bus), the entire analog portion of the card is shielded with aluminum housing.  But VXI cards cost $2000 each and the digital noise must be kept to a minimum.  In the National Instruments SCIX bus, we place the analog cards (carrying mV signals) in an entirely separate subchassis from the host (digital) computer, which is the best solution.

If you're assembling a home entertainment center with 5.1 channels of sound, then you'll need a separate sound card.  In this case, try plugging the sound card as far away as possible from the other digital cards.  Use common sense when arranging the cards in your computer.  Your high speed DMA cards (SATA, SCSI, etc interfaces) should be placed in the fastest PCI slots closest to the RAM chips.  Any analog/linear cards should be placed as far away as possible from these high-speed cards to reduce switching noise from creeping into them.

Also remember, the filter capacitors in your power supply aren't getting any bigger as you add more cards to your computer.  As you load the power supply, its ability to filter noise will be reduced unless you install a bigger supply (with bigger capacitors).
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: dk70 on November 05, 2006, 01:32 PM
I think card should be placed in the slot which suits motherboard the best. Even if irq sharing is less a problem today you cant always pick and chose.

Anyway, when I had Realtek 650 onboard plus SBlive I had both enabled and in games there were not so much difference. With music SBlive were clearly better. Probably also in games but depends on setup. Some games might give problems with cpu use for onboard. Since Realtek 650 is kind of old, yours could be newer and so likely better, and your Creative card is ancient, SB10?, then I would put money on onboard being the better choice.

A really good onboard chip running as hardware not software is Creative Live! 24-bit chip. Why I bought my particular motherboard. I also have Audigy 2, very hard to give thumbs up or down to any of them. Audigy have better drivers for newer games though. That Live chip also comes on external card which should be cheap and may be worth to consider if you have sensitive ears/good speakers and onboard dissapoints.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: mouser on November 05, 2006, 01:43 PM
i really appreciate all the replies!   :up: :up: :up:
i learned some interesting stuff too.  i guess all things considered i'll just leave it with the onboard sound unless it comes up particularly noisy for some task.

i thought i was going to get a reply saying that the onboard sound is a big cpu drain and so for games and stuff i should avoid it at all costs.  it's nice to know they've improved onboard sound to the point where it's not such a big deal anymore.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: dk70 on November 05, 2006, 01:52 PM
They still can be - depends on each game and drivers and also on how much you ask. Even my old Realtek could imitate EAX, yeah right.. Worked much better with simple 2 speaker and no effects. I doubt any onboard can compete with latest higher end audio cards - not in combination with good speakers and latest games. Could be whatever dusty onboard is "ok" at a higher level than you expected. Equalizer can do wonders. If you have Creative SB10 onboard got to be better, SBlive is way better.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 05, 2006, 03:11 PM
Thanks for the in-depth info, superticker!

I wonder how the (recent) onboard sound chipsets handle things like EAX effects. Certainly wasn't good some years back, I got BSODs if I enabled EAX in some games with onboard sound (and my terratec xfire had buggy drivers as well). It sounds like intel takes onboard sound pretty seriously (http://www.intel.com/design/chipsets/hdaudio.htm).
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: dk70 on November 05, 2006, 05:53 PM
Nvidia Soundstorm was very very good and yet they took it out for some reasons not known to normal humans/buyers. Were there not talk about Nvidia getting into sound card market? Soundstorm just too good, several years old now. Big mistake to think we get the best of what is available.

I read a review of Intels HD audio, more or less concluded it was about marketing with higher numbers than before. Not really that relevant to majority of users. But worked as promised. Think they rated it on level with Audigy not Audigy 2 - not too bad for something you get for free. Or will there be premium price for HD audio? If thrown around like cheap Realtek chips product is very nice no matter marketing. Creative still score many points thanks to game developers who optimize for their drivers. Will be hard to beat as long as they rule market.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: Groetje on November 06, 2006, 11:39 AM
I have considered ditching add-on sound card but sound quality in games deteriorates with onboard audio even with basic EAX 2.0 standard. Actually this is for sure the case with HD Audio from Realtec according to some research done by company called Analog Devices as reported by Techreport:
http://www.techreport.com/etc/2006q4/onboard-eax/index.x?pg=1

Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: mouser on November 06, 2006, 11:46 AM
thanks for the great link Groetje, that's very useful.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: Lashiec on November 06, 2006, 11:52 AM
Yes, if you're a bit of an audiophile or a gamer, a separate card is always better. With the onboard sound chips you're playing the Russian roulette, you can have good results or you can end with a terrible sound as it happened to a couple of friends.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 06, 2006, 05:05 PM
Yes, if you're a bit of an audiophile or a gamer, a separate card is always better. With the onboard sound chips you're playing the Russian roulette, you can have good results or you can end with a terrible sound as it happened to a couple of friends.

Are you sure that goes for an audiophile with Intel HD audio? I've only read the specs, but those do seem pretty good (8 channels at 192KHz/32bit, Dolby Pro Logic IIx...). Might not have super EAX support for the gamerz, but (at least on paper  :-\ ) it seems decent enough.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superboyac on November 06, 2006, 06:06 PM
In recent years, I've always noticed that the built-in motherboard sound is pretty good.  I'm a musician, so I have different needs, namely, ASIO support (for those that are familiar).  I actually have two pci soundcards on my computer, the turtle beach for regular stuff, and the ASIO one for pro-level musician stuff.  What I like about this setup is that I can control the volume from my mixer rack separately...so mp3's and internet audio won't affect the settings on my keyboard playback sounds.  Actually, I think that with some better equipment, you can control all volumes with a single soundcard, but I'm not that sophisticated.

So, to answer your question, the motherboard is probably fine.

PS  Remember back in the day (early 90's) when there was a huge difference between onboard sounds and sound blaster sound?  My parents never let me get a soundcard, but a family friend snuck one to me once...and I was blown away by the difference, it was crazy!  The kids these days, they don't appreciate what they have.  sigh.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 06, 2006, 06:16 PM
I have owned a full-length gravis ultrasound (max? can't remember) - not when it was new and fancy, though. Biggest ISA card I've ever seen. Was a pretty damn cool card, in comparison the SB16 sounds pretty bleep-blop :)

Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 06, 2006, 07:02 PM
... [3D] sound quality in games deteriorates with on-board audio even with basic EAX 2.0 standard. This is for sure ... from Realtek according to ... Analog Devices as reported by Techreport:  http://www.techreport.com/etc/2006q4/onboard-eax/index.x?pg=1
Gee, I didn't even know what EAX-2.0 3D sound was until I read that very interesting article.  Your ears do tell you direction.  For example, if you're out hunting, and you hear a shot, you know which direction it came from if you were paying attention.

As the article points out, though, they can't say whether the failure of the Realtek-based solutions to support EAX occlusions and obstructions correctly is the fault of the Realtek sound chip or its driver.  (EAX occlusion effect is where the sound of a source in the 3D field diminishes when another 3D object passes in from of it.)  My guess is that this is a problem with its driver.  The driver isn't scheduling service of all the 3D effects as it should.

If you have a motherboard with a Realtek sound chip, I would go to their website and download their latest driver if your 3D game isn't behaving right.  Understand, manufactures are under pressure to get their latest technology out the door, so PC hardware typically ships with partially functioning drivers.  I think this audience already knows that.

Yes, if you're a bit of an audiophile or a gamer, a separate card is always better.  With the on-board sound chips you're playing the Russian roulette, you can have good results or you can end with a terrible sound ...
Are you sure that goes for an audiophile with Intel HD audio? I've only read the specs, but those do seem pretty good (8 channels at 192KHz/32bit, Dolby Pro Logic IIx...). Might not have super EAX support for the gamerz, but it seems decent enough.

There's nothing wrong with the specs.  In fact, the spec are soooo good that engineers laugh at them.  Think about 32-bit sound for a moment.  10*log10(2^32)= 96 dB.  Ha, ha, now tell us your $4000 sound system can reproduce 96 dB correctly.  I would be impressed if it could reproduce 50 dB successfully (30 dB would be more realistic).  An analog FM radio station is limited to 15 dB per channel by the FCC; otherwise, it hogs the broadcast spectrum.

What the specs don't tell you about the motherboard (or daughter sound card)--and perhaps they should--is how much of that 96 dB is digital noise from the host computer.  If your motherboard's audio circuits are laid out correctly, noise won't appear until the 50 dB level, and your 30 dB sound system won't know the difference.  If the audio circuits are laid out poorly, noise might appear at the 30 dB level and a $2000 sound system will hear that.

When you build your system, always shoot for a balanced design.  If you spent thousands on your audio system, then why do any A/D conversion inside the host computer?  Will you hear a difference if you take the audio conversion outside "the box"?  Probably not, but your ears might be better than mine.  It's really about doing a balanced design; remember a chain is only as strong as its weakest link.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: cranioscopical on November 06, 2006, 09:02 PM
The kids these days, they don't appreciate what they have.
And those damned policemen keep getting younger, too!
I'm using on-board sound with the machine I'm running now.  It's the first time I've not installed a separate sound card:
C-Media CMI9880 High Definition Audio solution with
7.1-channel CODEC
1 x Coaxial S/PDIF out port
1 x Optical S/PDIF out port
Supports Dolby® Digital Live™ Technology
Suits me fine for sound from a computer. Game sound is satisfactory. If I want to sit and really listen to music there are other systems for that. 
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 07, 2006, 08:56 AM
superticker: remember that digital output is supported; I doubt that you'd get much surround sound without digital out anyway? The amount of noise on analog out is still interesting though, for hooking up headphones without a long cable going next room to the amp :)

For the Realtek chips, the EAX stuff is very likely solved in driver software, since it seems to be a pretty dumb chip. Would be nice knowing if the intel HD audio supports EAX, how well it supports it, and if it's done in hardware or software.

My next system will most likely be core2duo based, with intel HD audio - and it would be nice knowing if I can scrap my Audigy card and use onboard, or if I'll just do as usual and disable onboard audio.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: Carol Haynes on November 07, 2006, 09:30 AM
My next system will most likely be core2duo based, with intel HD audio - and it would be nice knowing if I can scrap my Audigy card and use onboard, or if I'll just do as usual and disable onboard audio.

You can always use both and have 14.2 surround sound ;)
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: skywalka on November 09, 2006, 11:07 AM
Onboard sound is more prone to stuttering when the CPU is busy.  I've managed to improve performance on one motherboard by downloading a driver from the chip manufacturer, even though the MB manufacturer still provides new drivers.

Onboard sound is so common that U will probably have to get it anyway.  If you are not satisfied, then, you can worry about getting a card.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 09, 2006, 12:02 PM
On-board sound is more prone to stuttering when the CPU is busy.
Whether your sound stutters or not has little to do with the hardware and everything to do the how the sound driver schedules its completion routines (driver scheduling).  Remember, Windows is not a real-time OS (RTOS); therefore, it lacks the proper multi-tiered driver model of a regular RTOS such as VxWorks, Nucules, MQX, etc.  To get around this shortcoming, Windows has a special encoder/decoder driver-level process for the real-time post-processing of the video and audio stream.  If you have stuttering and jitter, start by deleting the codecs you don't need or update them.  Chances are your codec mix is incompatible and/or their relative priorities are set wrong.  Set their priorities such that the fastest and most robust ones get chosen first.

If you have an early version of your sound driver, you should also update it.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: skywalka on November 09, 2006, 04:34 PM
OK, I've reread your post a couple dozen times & I'm beginning to understand... ;D

Thanx superticker.  Do you know how to set these priorities?
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 09, 2006, 05:22 PM
superticker: I'd say that hardware has a good deal to do with it, once we deal with stuff more advanced that dumb raw audio playback (and even there, issues like IRQ/DMA effiency and DMA buffer sizes might say a tiny bit, on older hardware anyway).

But once you start taking audio mixing, effects etc. into account, there's bound to be some difference between (simplistic) onboard audio and a "real" board - how much is done in hardware, how much is done in (possibly CPU-expensive?) driver software, etc...
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 09, 2006, 05:37 PM
OK, I've reread your post a couple dozen times ...
My explanation isn't complete if you're not familiar with OS internals, and that discussion is really a separate thread.  Briefly, every OS has two schedulers, one for the application layer and another for the driver layer.  For Windows, the scheduler for the application layer time slices around every 200mS, and that's just too slow for real-time scheduling, so--in contrast to a regular real-time OS--nothing real-time can be scheduled by the Windows or Unix application scheduler.  So we turn to the driver scheduler instead.

The driver schedule in Windows is really stupid (not resource aware), and it has only one priority.  (Regular real-time OSes have 64 at the driver level.)  We're pretty limited there too.  But Microsoft makes due with a single driver process that performs real-time de-compression of audio and video when you provide the codec plug-ins.

However, some codec plug-ins are more powerful (and slower) than others.  What you would like to do is select the simplest, fastest one that provides the sound/video quality you need.  I would schedule the fastest one first, but if your audio player wants more sound quality than this codec can deliver, then the de-compressor engine needs to pick the next slower one down on the priority chain.

So at the top of the codec priority chain is the highest-speed quality-limited codecs and at the bottom of the chain are the slow-speed high-fidelity codecs.  You want the de-compressor engine to pick the fastest, simplest one--but not too simple, otherwise, your sound quality will suffer.

Thanx superticker.  Do you know how to set these priorities?
That's the easy question.  The hard question is how do you decide on these selection priorities such that the trade-off between performance and sound/video quality is best determined?  That's well outside the scope of this thread.  What sound card and multimedia application players do is provide the codecs as a "kit" with their priorities setup for you.  What end-users do is install multiple kits for WMA, WinAmp, RealPlayer, etc such that these kits and their priorities conflict with each other.  Now you got a mess because a codec that WinAmp might rate as a 4 in its kit might be rated as a 6 in ATI's Multimedia player.

Also, some of the better (more expensive codecs) are smarter and faster with higher sound quality.  Sorting through this incompatibility mess is also beyond this thread.

Anyway, from an Administrator account, open up the sound control panel and click on the hardware tab.  That should show you the codec kits.  Open up a given kit; for example, open Audio codecs.  Inside that kit is a listing of individual codecs.  Double-click on one to show its properties and which priority it is, which you can change or disable.  Now I've given you just enough information to be dangerous.  I'm not responsible for what happens after this.

I would suggest you find another website of audiophiles that have spent hours playing with different codecs to determine how to balance the priorities within your own codec kits.

For me, I just disable everything except just what my system needs.  That makes my system very deterministic as far as codec selection goes.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 09, 2006, 06:10 PM
superticker: I'd say that hardware has a good deal to do with it, once we deal with stuff more advanced than dumb raw audio playback
I agree, but if I'm understanding the original post correctly, this user is getting stutters with a single-stream playback.  That's caused because the input FIFO buffer into the sound chip ran dry before the driver could fill it again.

As far as fancy effects, that all must be done in hardware--for Windows.  Even the driver layer isn't fast enough to assemble real-time effects on the fly.  However, even though the hardware is doing the effects, the driver is still responsible for keeping the chip's FIFO buffers full.  You'll get stuttering if those buffers run dry regardless of the hardware you're using.

A software interrupt in the Windows driver layer can take as much as 50mS to get service from the OS.  An application running at the highest priority can take as long as 250mS to get service.  Some might find this funny, but counting the mouse pulses actually gets more priority than servicing software interrupts. :-)   I think that's pretty sad.

Don't move your mouse if you're recording something really important on Windows.  :D    Edit: BTW I'm joking, the A/D converters (on the sound chip) have big enough output buffers to handle the 50mS delay for driver service, but if you really moved that mouse ... that 50mS might get stretched some. (And that's not a joke.)
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 10, 2006, 09:26 AM
Hrm, are "mS" referring to mili- or microseconds?

Your above post on scheduling etc. doesn't really sound like the Windows NT I'm familiar with, and described in "Inside Windows 2000" (think it's been renamed to "Windows Internals" for the XP+ version).
Title: Real-time OS drivers and their scheduling
Post by: superticker on November 10, 2006, 10:51 AM
Hrm, are "mS" referring to mili- or microseconds?
That would be in milliseconds.  Microseconds would be uS.  To clarify, what I'm saying here is that you may have to wait up to 50mS for someone else's drive to finish service before Windows gets to yours.  If your driver was the only driver in the system, you wouldn't have to wait this long.  In other words, you're not waiting on the OS (as you're thinking), but rather on another driver to complete service.  The point is: Microsoft cannot guarantee how long someone else's driver will take to complete; whereas, in a real-time driver there is a guarantee because of the tiered driver design.  What does this mean?

A conventional OS is only able to service about 30 interrupts a second before context switch overhead brings it to its knees.  In contrast, a real-time OS (RTOS) commonly does 3000 interrupts a second and the service latency can be as short as 50uS with RTOSes such as ThreadX.  RTOSes can achieve this because their driver model is designed differently.  For example, the first tier of interrupt service is done strictly in hardware.  The hardware interrupt is thrown, the modern-day processor grabs the status register of the device that threw it and pushes it onto the stack (That occurs automatically in some modern processors.). It may also stash (and set a point to) the data if there are any. The only software operation is the scheduling of a software interrupt and its priority (for later service) to service the data coming in.

In contrast, a conventional OS (like Windows) would now try to service the data on the hardware interrupt.  That means daisy-chained services (devices sharing that interrupt) will not have any service requests honored until that driver finishes servicing the data--and who knows how long that could take?  If that happened in a real-time application, your cruse missile would hit a tree.

What we try to do with OSes like Windows is nest the system design such that the RTOS is out front of the host OS.  The RAID disk controller on your system is an example of this.  When you flash the firmware on your RAID controller, you're updating its RTOS and its application layer that handles controlling the disk arrays.  The host OS only directs disk activity; whereas, the RAID RTOS is in charge of the actual real-time disk operations.  SCSI disks also work this way.

Your above post on scheduling etc. doesn't really sound like the Windows NT I'm familiar with, and described in "Inside Windows 2000" (think it's been renamed to "Windows Internals" for the XP+ version).
Microsoft sells a product called Real-time Windows NT, which is a "scalable" version of their Windows product, but the term "real-time" is a misnomer in this context.  For an OS to be real-time in the computer-science sense, it has to garanttee service times--which includes deadline scheduling, and the Windows scheduler doesn't do any of that.  Moreover, there's way too much context switch overhead to ever make Windows a real-time OS, and you wouldn't want to either.

Remember, we design the scheduling of a conventional OS to maximize application layer efficiency (average service time)--which is the correct goal.  In contrast, we design the RTOS for deterministic scheduling where a hardware servicing operation must complete within 3mS otherwise the disk head will miss the targeted sector.  One design goal is mutually exclusive of the other.

We can talk more about RTOSes, but we should start a different thread.  You can also find more about them if you Google "embedded systems design".  Warning, this is a popular topic.  :)
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: f0dder on November 10, 2006, 04:51 PM
I know NT isn't real-time, but 50ms for an IRQ to be handled sounds ludicruous. And AFAIK, data processing isn't done directly in the IRQ handler, instead some state information is saved and passed down as an IRP, and the IRQ handler itself finishes quickly. Iirc linux does somewhat the same by having "high" and "low" parts of their IRQ handlers.

Hadn't heard about real-time NT, are you sure you're not thinking of NT embedded? Just because something is embedded doesn't mean it has to be hard realtime :)

Iirc there's also just one scheduler in the whole of NT, used for both usermode and kernelmode stuff - although there's a distinction between usermode and kernelmode threads. The "scheduler" also isn't a separate modular part, it's interweaved in most of the NT kernel because of it's particular design.

As for priority levels, there's 32 of them, with one being REALTIME. While that priority isn't strictly "realtime" by computer science terms, it's good enought that you can lock up a single-cpu system if you don't manually relinquish control...

Btw., might be a good idea for a moderator to cut off these last few posts into a separat thread so as to not pollute the rest of the thread :)
Title: Real-time OS drivers and their scheduling
Post by: superticker on November 11, 2006, 03:46 AM
This thread has now been moved to the programmer's area since it's about driver design.  I have a reply there.  https://www.donationcoder.com/forum/index.php?topic=6131.msg43263#msg43263

I know NT isn't real-time, but 50ms for an IRQ to be handled sounds ludicruous. And AFAIK, data processing isn't done directly in the IRQ handler, instead some state information is saved and passed down as an IRP, and the IRQ handler itself finishes quickly. Iirc linux does somewhat the same by having "high" and "low" parts of their IRQ handlers....
Continued on the new thread.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: gjehle on November 11, 2006, 09:04 PM
well,
if it comes to audio you will have, at some point, an analog signal
and unless you're using digital outputs, you'll have these on your soundcard (aka classic speaker/line out)

while digital electronics operate within well defined limites and are fairly well to master, what it comes down to is your digntal/analog converter.

THAT's actually the part a lot of (lower to middle end) cards have a poor (cheap) design.
a lot of cards use a simple R/C combo to smoothen the signal, that's cheap (2 pieces) and easy.
but if you want a good quality, it sucks.

also, (sorry if i'm repeating something that has already been said, i haven't read _all_ of it) on-board cards are more prone to noise, that's one reason why a lot of middle to high-end cards are not even pci(e) but firewire or usb, just to get away from all the nasty noise producing electronics inside the computer case.

if you want sound = get onboard
if you want decent sound = get a card
if you want good sound = get a external soundcard

and if you're DAC sucks (simple R/C smoother) the digital part can be as good as it gets, it'll be ruined just before it reaches your speakers.

and why do a lot of manufactures use simple R/C ?
it's easy to build cheap digital electronics (you really dont have to care about noise that much if it's digital anyways)
but it's hard and expensive to build low-noise analog devices.
they also tend to use up quite a bit of PCB real estate

ok, that's all for my 2ct
Title: Digital filtering for PC sound reproduction
Post by: superticker on November 12, 2006, 02:15 AM
... why do a lot of manufactures use simple R/C ?
It's easy to build cheap digital electronics (you really don't have to care about noise that much if it's digital anyways).
But it's hard and expensive to build low-noise analog devices.
They also tend to use up quite a bit of PCB real estate

All the above is true, but there's a more important--theoretical--reason why a cheap first-order RC filter is used, and that has to do with distortion.  Any analog filer is a "causal filter" such that it can't know the future.  In contrast, digital FIR filters can be non-causal such that the value of the points are known before time zero and after time zero.  If we balance the filter coefficients across time zero, then we have a "zero-phase" filter across all frequencies.

Having zero-phase delay across all frequencies creates a distortionless filter for our application, so we really favor digital filtering over analog filtering when it's feasible.

For audio play back, the strategy is to oversample the signal by x4 (or better) using a first-ordered anti-aliasing analog filter (to minimize phase distortion) at ultrasonic frequencies, either 45K or 90KHz.  Then we run it through a zero-phase digital filter to achieve a "perfect" cut-off at whatever frequency we want, say 45/2 KHz.

Remember, for a non-causal filter, the cutoff can be perfectly sharp; whereas, for a causal filter (which includes any analog filter), there will always be a response roll off.  The higher the order, the sharper the roll off and phase delay (leading to more distortion).  So our cheap first-order RC filter produces less ultrasonic distortion than a higher ordered analog one.  But the assumption is standard audio equipment won't reproduce those ultrasonic frequencies (say at 90KHz) anyway.

I should add my area is in scientific instrumentation design, not sound card design.  Frankly, I couldn't tell you whether the PC sound chips are being design right or not.  But it wouldn't cost anymore to design them with x4 oversampling in mind and zero-phase digital filtering at their outputs.  I do know that some audio component CD players employ x4 and x8 oversampling and digital comb filtering, but I really can't speak for the sound-chip PC world.  Perhaps someone else knows for sure or has a link to a sound-chip spec sheet.
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superboyac on November 12, 2006, 10:19 PM
All the above is true, but there's a more important--theoretical--reason why a cheap first-order RC filter is used, and that has to do with distortion.  Any analog filer is a "causal filter" such that it can't know the future.  In contrast, digital FIR filters can be non-causal such that the value of the points are known before time zero and after time zero.  If we balance the filter coefficients across time zero, then we have a "zero-phase" filter across all frequencies.

Having zero-phase delay across all frequencies creates a distortionless filter for our application, so we really favor digital filtering over analog filtering when it's feasible.

For audio play back, the strategy is to oversample the signal by x4 (or better) using a first-ordered anti-aliasing analog filter (to minimize phase distortion) at ultrasonic frequencies, either 45K or 90KHz.  Then we run it through a zero-phase digital filter to achieve a "perfect" cut-off at whatever frequency we want, say 45/2 KHz.

Remember, for a non-causal filter, the cutoff can be perfectly sharp; whereas, for a causal filter (which includes any analog filter), there will always be a response roll off.  The higher the order, the sharper the roll off and phase delay (leading to more distortion).  So our cheap first-order RC filter produces less ultrasonic distortion than a higher ordered analog one.  But the assumption is standard audio equipment won't reproduce those ultrasonic frequencies (say at 90KHz) anyway.

I should add my area is in scientific instrumentation design, not sound card design.  Frankly, I couldn't tell you whether the PC sound chips are being design right or not.  But it wouldn't cost anymore to design them with x4 oversampling in mind and zero-phase digital filtering at their outputs.  I do know that some audio component CD players employ x4 and x8 oversampling and digital comb filtering, but I really can't speak for the sound-chip PC world.  Perhaps someone else knows for sure or has a link to a sound-chip spec sheet.
yeah.......what he said. ;)
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: mouser on November 19, 2006, 08:14 AM
my motherboard decided to help me solve this dilemna by not working..
so now i'm off to buy a sound card..  :tellme:
Title: Re: What's better: modern built-in motherboard sound chip or old sound card?
Post by: superticker on November 19, 2006, 10:23 AM
my motherboard decided to help me solve this dilemma by not working..
so now I'm off to buy a sound card..  :tellme:
You never said whether or not it's a hardware or software problem.  95% of the time it's a software problem.  Open the Sound control panel and click the hardware tab.  Be sure all the codec kits that should be there are there.  If you're in doubt, reinstall the kits from the CD that came with your motherboard.  (You can also check the registry if you know what you're looking for.)

Moreover, open up each kit and verify all its driver components are running right.  Double click on driver details to see their properties.  See if all the drivers (*.sys) are signed.  Although they may not have been signed originally, there are probably signed versions available by now.  If you think there's driver corruption and you haven't ran chkdsk recently, do it now.  Any disk with more than 7% bad sectors should be discarded; it's got mechanical problems.

If it really is a hardware problem, chances are you'll get a little something out of it--maybe a crackle.