ArticleReference

From FM to web

From the broadcast.audio wiki · Chapter 09 of 9
Part of a series on
Broadcast audio processing
Chapters
Reference
Main page

I run a station that has never had a frequency. Everything in chapter 8 — the pilot, the deviation limit, the 15 kHz wall, the emphasis curve — is, for us, history rather than engineering. And yet I still process, and I have spent more than a decade arguing with myself about how much.

This chapter is that argument, laid out honestly on both sides.

What goes away

Quite a lot, and all of it at once.

The noise floor. There is no hiss. The channel between encoder and decoder is bit-exact or it is broken; there is no condition where the signal merely arrives noisy.

Pre-emphasis and de-emphasis. No triangular noise spectrum means no reason for a treble tilt, and with it goes the single largest source of FM's characteristic sound. On a stream, high frequencies are just high frequencies.

The 15 kHz brickwall. No pilot to protect, so bandwidth is whatever the sample rate and the codec allow.

The deviation limit. No regulator-imposed peak ceiling, no composite, no budget shared with a pilot and a data carrier.

The stereo penalty and the blend. Nothing degrades the difference channel and no receiver quietly discards your image when the signal weakens. Width survives to the listener.

Reception. No terrain, no multipath, no fringe coverage, no tunnel — and no neighbouring station one click away on the dial, which removes the competitive loudness argument in its original form, though not, as we'll see, entirely.

That is a very large fraction of the reasons a broadcast chain exists. If those were the only reasons, the correct amount of processing for a web stream would be none.

What stays

They are not the only reasons.

The playlist is still a playlist. This is the big one and it has nothing to do with transmission. An hour is still a 1968 transfer, a 1994 CD master, a brand-new release mastered as loud as it would go, a jingle, an advert and a live voice, with exactly the spread in loudness and tonal balance it had on FM. Left alone, the listener rides the volume control. Everything in chapter 2 applies unchanged, and if I could keep only one stage of the chain it would be that one.

The listening environment is not better — arguably it is worse. FM's design target was a car; a stream's is a phone speaker in a kitchen, a laptop in an open-plan office, earbuds on a train. The noise floors are the same or higher and the loudspeakers are far smaller. The quiet verse that disappeared under road noise disappears under a train just as completely.

Headphones are a mixed blessing. They are much better than they were and the bar for fidelity has genuinely risen. But they expose everything: an over-wide image that a car speaker would have partly summed away sits directly on the listener's head, phase artefacts are obvious, and processing that reads as "big" in a car reads as "tiring" over three hours. Processing for headphones is not simply processing less — it is being much more careful about stereo and about the top end.

Nobody touches the volume control. Listening is passive and often secondary to something else. A stream that requires attention to remain comfortable loses the listener to a platform that does not.

The new constraint FM never had: the codec

Streams are encoded. That introduces two things a transmitter never did.

Encoders change peak values. A lossy encoder does not reproduce your waveform, it reproduces something perceptually similar, and the decoded result routinely exceeds the peak level of what went in. Material clipped flat to 0 dBFS comes out of the decoder above 0 dBFS and clips in the listener's playback chain, on hardware you will never see. That is the practical reason to leave true-peak headroom — around −1 dBFS as a default, more at low bitrates. Chapter 5 has the mechanism.

Dense material is harder to encode. A codec allocates bits according to what it can afford to discard, and relies on the signal's own dynamics to mask its artefacts. Compress everything to a continuous wall and you remove both the quiet passages it was spending fewer bits on and the masking that hid its errors. Heavy processing plus a low bitrate is worse than either alone.

Platform loudness normalisation

This is the development that changed the argument more than anything else.

Major music platforms measure the integrated loudness of a track using a standardised loudness meter, and apply a single gain so that everything plays back near a house target. The exact figures differ by platform, change over time, and are sometimes user-configurable, but the region of around −14 LUFS is typical for music streaming, with some services quieter.

The consequence is straightforward and it ends an argument that ran for thirty years: on a normalising platform, making something louder does not make it louder. It gets turned down to the house target. What survives the turn-down is only the reduced dynamic range you paid for. The loudness war is not so much lost as repealed.

Two caveats before anyone relaxes.

First, normalisation is not universal. Some platforms only attenuate loud material and do not raise quiet material; some playback contexts — certain browsers, apps, embedded players, devices — do not normalise at all. Anything you deliver that is well below the target may simply arrive quiet.

Second, and specifically for radio: live streams are generally not normalised. Integrated loudness is a measurement over a finished item, and a continuous stream is not a finished item. Nobody is levelling your station for you. Which means a web station still controls its own loudness, and still has to sit sensibly alongside everything else on the listener's device. If your stream runs at −20 LUFS and every track the listener plays afterwards sits at −14, you do not sound tasteful and dynamic. You sound broken, and they turn you up and then get startled by the next thing.

That is the real competitive dimension on the web. It is no longer the next station on the dial — it is the next app.

The honest argument for processing less

Most of the original justification is gone. The channel is clean, the audience is in better headphones, bandwidth is no longer the limit it was, and the platforms around you have flattened the loudness playing field so that being louder wins nothing.

And there is a better reason than any of those, which took me a long time to accept: different music is supposed to be different loudnesses. A sparse acoustic track is meant to sit below the single that follows it. Pulling them level is not neutrality, it is an edit — made by a piece of software with no opinion about the music.

A slow leveller that keeps a playlist honest, enough band control to stop the low end bullying everything else, sensible peak control at the end, and nothing more. That is genuinely the whole requirement for a web station today. I have turned most of the rest of mine back down, and the station is better for it.

The honest argument for the character anyway

And yet.

The broadcast chain did not only solve problems. It made a sound — forward, dense, coherent, immediate, arriving already produced — and people like that sound. They recognise it. It is part of what "a radio station" means to a listener, in the same way that the voice, the bed music and the top-of-hour ritual are. Strip all of it away and you have something technically cleaner that also sounds, to a lot of ears, like a playlist rather than a station.

And for some material the density is not a compromise at all, it is the whole point. A thirty-second promo has to land immediately. A jingle exists to be bright and forward. A talk show wants intelligibility over dynamics — a voice that stays present whatever the guest does with the microphone. A dance set is already a wall by design and processing it that way is faithful, not destructive.

I have been on both sides of this, at length, with the same station. The thing to avoid is not the character. It is dressing the character up as a technical necessity when it is plainly a taste decision. Choose it deliberately, and be able to say which it is.

Practical advice, briefly

  • Get levelling right first and stop there for a week. It is most of the benefit. Adding anything before you have heard what levelling alone does is how chains end up over-built.
  • Check on the systems your audience uses. A phone speaker and a pair of ordinary earbuds, not your monitors. Particularly for stereo width, which is the thing that goes wrong most quietly.
  • Leave true-peak headroom before the encoder. Always.
  • Do not stack processing. A station chain expects to be the chain; two in series fight each other, and the second hears a signal with no dynamics left to work with.
  • Match levels when you A/B. A processed signal is denser and reads as better purely because it is louder. Almost every bad processing decision I have made was made in an unmatched comparison.
  • Measure your stream against what your audience plays next, not against a spec.

TRANSMIT Tower's presets run from barely-there to frankly aggressive, and both ends are there on purpose. The restrained end is the station I run now. The aggressive end is the station I ran ten years ago, and it was not a mistake either — it was an answer to a question that was being asked at the time.

The medium keeps changing. The listening environment mostly doesn't.

See also

See also

← The FM signal path Tower technical specifications →
Written by Omer Senesh. Part of the broadcast.audio wiki, published alongside TRANSMIT Tower.