What is Inside a Sound Card and How Does my Computer Play Back Sound?

Audio/Visual Equipment
NDI
Posted on Feb 19, 2024

“How does my computer play back sound? How does it turn my voice into data, and back again?

Ever wondered that?

It’s thanks to sound cards.

That green board I’m holding in my hand is a sound card with the cover removed.

I’ve been exploring the inner workings of sound cards for a project I’m working on—a sound card that can handle multiple inputs and outputs using NDI.

Here’s how sound cards work and the key components that make it possible.

The Heart of a Sound Card: The CODEC

At the core of a sound card is something called a CODEC, which stands for COmpressor/DECompressor.

When you’re listening to music, it converts the digital audio files into analog signals that your speakers can play.

And when you’re recording something, it does the opposite—turning the sounds you make into digital data your computer can store and process.

The Brains Behind the Operation: The MCU/Digital Signal Controller

The MCU, or Microcontroller, is what takes the data from the CODEC and decides what to do with it.

Think of it as the conductor of an orchestra, ensuring that the right sounds get to your computer or from your computer to your speakers.

Whether it’s sending your voice over a Zoom call or playing your friend’s voice from a call, the MCU manages the digital side of things, making sure audio data goes exactly where it needs to.

Here’s an example of what it all does.

Playing Music: Digital audio data is sent from your computer to the MCU, which then forwards it to the CODEC. The CODEC converts this data into an analog signal that your speakers can use to play the sound.

Recording Audio: Sounds from your microphone are converted into digital data by the CODEC, then passed to the MCU, which sends this data to your computer for storage or processing.

So what?

Turns out the way I thought a modern sound card would work is very close to how they actually work.

Why that all matters is I have a development board that provides some I2S channels.

With I2S, I can hook up the processor to a codec.

The codec can give me a few channels of digital audio.

From there, I can send and receive said audio to NDI with minimal delay.

Modern sound cards, in particular those based on ARM processors for NDI applications, follow a similar design to my own mental model.

So, developing an ARM-based multi-channel NDI sound card is not only possible but also practical… because it’s already been done. It just uses USB instead of sending the audio data out via NDI (network/ethernet).

Next step… putting theory into practice.

Unrelated: should I launch a Kickstarter for my NDI audio interface?

If you’re looking for an event production team that can dabble in hardware design, give us a shout.

Contact Us