DEV Community

fluidwire
fluidwire

Posted on Originally published at fluidwire.com

Why CD Audio Is 44,100 Hz: It Came From Videotape

Open any audio file on your phone and there is a good chance it is sampled at 44,100 times per second. It is such a universal number that it feels like it must be derived from something fundamental about human hearing. It is not. The 44.1 kHz sample rate is an accident of videotape geometry, and the story is one of the cleanest illustrations we know of a rule that governs every embedded project: theory sets the floor, but the hardware you can actually get sets the number you ship.

The floor: what Nyquist actually requires

The Nyquist-Shannon sampling theorem says that to reconstruct a signal without aliasing you must sample at more than twice its highest frequency component. Human hearing tops out somewhere around 20 kHz, so the theoretical minimum is a little over 40 kHz.

But "a little over" is doing real work in that sentence. A sampler needs an anti-aliasing low-pass filter in front of it to kill everything above half the sample rate, and analog filters do not have vertical walls. A brickwall filter that goes from full passband at 20 kHz to full stopband at 20.001 kHz does not exist. You need a transition band — some headroom between the top of your signal and the Nyquist frequency — so the filter has room to roll off.

That is why 40 kHz was never a serious candidate and why the real answer lives somewhere in the low-to-mid 40s. Nyquist narrows the field. It does not pick the winner.

The medium: no hard drive was big enough

Here is the constraint that actually decided it. In the late 1970s, when Sony and Philips were working toward what became the Compact Disc, there was no practical way to store a digital audio master. Stereo audio at CD quality is roughly 10 megabytes per minute. A full album is around 600 MB. Commercial hard drives at the time held a few tens of megabytes and cost more than a car.

What did exist, in every recording studio and broadcast facility on earth, was videotape. A professional video recorder was already a high-bandwidth, reasonably reliable, mass-produced digital-ish transport — it just happened to expect a video signal on its input.

So engineers built PCM adaptors: boxes that took digital audio samples and encoded them as a fake black-and-white video signal, a pattern of black and white blobs standing in for ones and zeros, which a standard U-matic videocassette recorder would happily record as if it were a picture. Sony's PCM-1600, introduced in 1978, is the canonical example. Play the tape back through the adaptor and you got your bits out again.

This is a beautiful hack, and it is also how the sample rate got locked in. Once your storage medium is a video frame, your sample rate is no longer a free parameter. It is determined by how many samples you can fit into a scan line, multiplied by how many usable lines are in a field, multiplied by how many fields go by per second.

The arithmetic that made 44,100 inevitable

The engineers settled on three samples per scan line as the density that packed reliably without errors. From there the numbers fall out:

NTSC (North America, Japan): 60 fields per second, about 245 usable scan lines per field, 3 samples per line.

60 x 245 x 3 = 44,100

PAL (Europe): 50 fields per second, about 294 usable scan lines per field, 3 samples per line.

50 x 294 x 3 = 44,100

Two incompatible broadcast standards, developed independently on different continents for entirely unrelated reasons, converge on the exact same number. That coincidence is what makes 44,100 Hz more than an arbitrary choice — it was the one rate that let a studio in Tokyo and a studio in Hamburg exchange digital masters on tape without a rate conversion step. It also sat comfortably above the Nyquist floor with about 2 kHz of transition band for the anti-aliasing filter.

Sony and Philips wrote it into the Compact Disc Red Book specification in 1980. Four decades later, long after U-matic decks became museum pieces, the number is still the default on your phone, in your browser, and in the anullsrc default of every ffmpeg command.

Why this matters when you are choosing an ADC sample rate

We think about this story a lot when scoping IoT hardware, because the same shape of decision comes up on nearly every project.

Say you are building a vibration monitor for industrial machinery. Nyquist tells you that if you care about a fault signature at 4 kHz you need to sample above 8 kHz. That is the floor. Then the real constraints arrive:

The clock you can divide down. Most microcontroller ADCs derive their sample rate from a peripheral clock divided by an integer prescaler. If your crystal and PLL settings produce nice divisions at 10 kHz and 12.5 kHz but nothing sane at 11 kHz, you are picking from that menu, not from the number you wrote in the spec. The same logic that made 44,100 fall out of scan-line arithmetic makes your real sample rate fall out of the clock tree.

The transport. How much of that data actually leaves the device? A sensor sampling at 20 kHz on a LoRaWAN link with a few hundred bytes per uplink is not going to stream raw samples anywhere. Either you do the FFT on-device and ship features instead of waveforms, or you drop the rate. The link budget is the modern equivalent of the videocassette.

Power. Higher sample rates mean the ADC and the CPU stay awake longer per measurement window. On a battery-powered node with a multi-year target, the sample rate is a line item in the energy budget, not just a signal-processing parameter.

Storage and cost. Same as 1978, scaled down. Flash on an MCU is finite, and the difference between 8 kHz and 48 kHz is the difference between buffering ten seconds and buffering two.

The pattern is identical to the CD story: the textbook gives you an inequality, and then the parts you can actually buy collapse that inequality into a single number. Engineers who only know the theory tend to over-specify and end up with a design that cannot ship. Engineers who only know the parts tend to under-specify and end up aliasing garbage into their data. The job is holding both.

The lesson worth keeping

The interesting thing about 44,100 Hz is not that it is arbitrary — it is that it is not arbitrary. Every digit of it is a consequence of a real, physical constraint that mattered enormously in 1979 and stopped mattering entirely by about 1995. The constraint disappeared. The number stayed, because by then a hundred million CD players had been built around it.

That is worth remembering when you are early in a hardware design and choosing a value that feels temporary. Sample rates, packet formats, register maps, and message schemas have a way of outliving the reason they exist. Pick them as if someone will still be living with them after the constraint that produced them is gone, because that is usually what happens.

If you are working through those tradeoffs on a connected-device project — sensor selection, sample rates, on-device processing versus cloud, link budget — that is exactly the kind of problem our IoT and embedded services are built around. We work from schematic and PCB through firmware to the dashboard, so the sampling decision and the bandwidth decision get made in the same conversation instead of two months apart. Get in touch and tell us what you are measuring.

Top comments (0)