Hacker News new | ask | show | jobs
by agoetz 4059 days ago
Claiming that the FT is not necessary for digial audio is like claiming that the you don't need the rocket equation in order to build a missile. Sure, its technically possible, and yes, there were probably early pioneers that forged ahead before the mathematical theory was fully sketched out, but our understanding of the fourier transform has drastically increased our ability to design acoustical systems.

Those analog anti-aliasing and anti-imaging filters are designed using LTI systems theory, that fundamentally rely on the Fourier tranform to reason about their transfer functions. The Nyquist-Shannon sampling theorem was proven using the fourier transform. Without the fourier transform, you need to rely entirely upon time domain representations of signals, and perform your analysis using tedious convolutions. You can't use a spectrum analyzer to examine the signal to noise ratio of your CD player. While it's true that digital music could technically exist without the fourier, there is no way in hell it would be as pervasive as it is today.

2 comments

Well, okay; without, say, s-domain analysis, we couldn't even properly stabilize an amplifier to be able to build a simple active filter.

I think the article says, though, that fourier analysis on the music is necessary for digital audio.

I don't agree with you. Read about ADPCM. Try it. Listen the results. Apparently ffmpeg has codecs for it.

http://ffmpeg.org/general.html#Audio-Codecs

The Windows 95 startup sound, created by Brian Eno, was coded ADPCM. Seemed to work okay. A billion people heard it. (8 bit MS ADPCM also sounded horrible.)
You surely mean 8 bit PCM (without "AD") sounded horrible? ADPCM encodes differences in just 4 bits but the decoded values are in the range of 16 bits.
There were 8-bit "ADPCM" (er, ADPCM-ish?) variants, too! They used 2, 3 or 4 bits for encoding but were deltas against an 8 bit target.
Not used by MS, as far as I know (you specifically wrote originally "8 bit MS ADPCM also sounded horrible").

Microsoft's ADPCM was always 4 bits encode of the 16-bit sample. The distorted sound in some files was due to reducing the sampling rate.

https://support.microsoft.com/en-us/kb/89879

"ADPCM stores the value differences between two adjacent PCM samples and makes some assumptions that allow data reduction. Because of these assumptions, low frequencies are properly reproduced, but any high frequencies tend to get distorted. The distortion is easily audible in 11 kHz ADPCM files, but becomes more difficult to discern with higher sampling rates, and is virtually impossible to recognize with 44 kHz ADPCM files."

I've already linked this article and it has even more details, highly recommended.

I wrote some of those original codecs. I'm aware of what they do. :) The original SoundBlaster card was 8-bit. Creative ADPCM is 8 bit. Dialogic ADPCM -- basically every recorded sound you've ever heard over a telephone -- is 12 bit. You are correct with the modern definition but I'm talking about 20 years ago so let's not stomp on history for sake of Hacker News karma points.

The Microsoft article gets a few things wrong. The distorted sound is not due to reducing the sample rate. The distorted sound comes from taking a perfectly-good 11k file and then ADPCM compressing it. This is obviously due to throwing away information on each sample as part of the encoding process, not anything due to sample rate. (Of course it sounds better at higher sample rates. More data, more better.)

ADPCM for telephony seldom even hit 11k rates. 6000 and 8000Hz ADPCM files are common. (And nope, not 16 bit either.)