Your station is now a second faster

The Evenings Team
Evenings.fm home

We've rebuilt how your station page plays your broadcast. Listeners now hear you about 0.6 seconds after you say something, down from about 1.9 seconds, and it's already live on every station page with nothing for you to set up.

Timeline of the same stream on two players. The standard player sits 1.9 seconds behind live; the low-latency player sits 0.6 seconds behind.

Where the second was going

A standard web player hands your stream to the browser, and the browser holds one to three seconds of it in reserve with no way to turn that down. On top of that, so playback starts the instant someone presses play, our media server opens every connection with a burst of the last 1.5 seconds of audio, and a standard player plays that burst from its first byte.

We built that burst on purpose, but on a standard player it cost every listener a second and a half. We wanted those seconds back without giving up the instant start, so we stopped leaving the buffer to the browser.

Bar chart of where 1.9 seconds of delay comes from: about 1.5 seconds from the instant-start burst played from the beginning, the rest from the browser and network. The low-latency player is 0.6 seconds behind.

What we changed

Station pages now manage their own buffer with Media Source Extensions, the browser feature video streaming sites rely on. The player skips to the newest audio in the burst, plays 5% faster with the pitch held steady if a listener drifts behind, and reconnects at live after a pause or a dropped connection. Browsers that can't do this, including iPhones and iPads before iOS 17.1, keep the standard player, so nobody loses audio.

Measured seconds behind live on a station page. While playing: standard player 1.9 seconds, low-latency player 0.6. After a 5-second pause: standard player 7.0 seconds, low-latency player 0.6.

The old player picked up exactly where a listener paused, so in our test a five-second pause left them seven seconds behind you for the rest of the show. Now pressing play takes them straight back to live, about half a second behind you.

If your station plays through a player on your own website, the same player is open source as player.js, and How to reduce audio player latency walks through setting it up.

We've measured all of this in Chrome. If a listener on a particular phone or network still hears you late, send the device and connection to contact@evenings.email. That's the case we can't test from here.

Related reading