Use case · Internet radio automation

A lofi radio station on 24/7 automation: clocks, rotation, licences

A lofi radio station stays on air around the clock when playout runs on a server instead of a desktop: the library sits on disk next to the stream, hour clocks pin station IDs to fixed minutes, separation rules stop one producer from filling the hour, and a fallback chain decides what plays when a playlist runs dry. This page covers the clock, the rotation arithmetic, the US statutory licence conditions that continuous music has to meet, the listener-hour budget of a stream that never stops, and getting the station into directories.

Configure Auto DJ

What breaks an unattended stream

A 24/7 station rarely fails on bandwidth. It fails on the playout side, where nobody is watching at 04:00. The usual causes:

  • The encoding PC reboots for updates, sleeps, or loses its uplink, and the mount drops.
  • A playlist reaches its end and stops, or a scheduled slot points at an empty playlist.
  • A damaged file stalls the player or airs as silence.
  • A small library on shuffle repeats the same track inside the hour.
  • A live DJ disconnects mid-set and nothing takes the air back.

Each of these is solved by moving the library and the scheduler onto the server that also runs the stream. Our clock-based Auto DJ does exactly that: library, clocks and schedule live on one of our radio nodes, in New York or in Bucharest, and the station plays from there whether or not any computer of yours is switched on.

An hour clock for a chill format

A clock is one hour written as a list of elements. Each element draws from a playlist and either plays in sequence after the previous one or is fixed to a minute between :00 and :59, which the station reaches on time regardless of track lengths. Lofi has no talk to anchor the hour, so the fixed station IDs do that job.

PositionElementDraws from
:00 fixedStation IDIDs playlist
sequence5 musicCore rotation
sequence1 jingleShort sweepers
sequence3 musicDeeper cuts
:30 fixedStation IDIDs playlist
sequence8 musicCore rotation

One element can pull 1 to 50 items, so "five from Core rotation" is a single line. A clock holds up to 60 elements and a station up to 50 clocks. Build a daytime study clock and a slower overnight clock, place them in a weekly schedule of up to 200 slots, and add a seasonal layer between two dates when the format changes for the holidays. The editor estimates how long the sequence runs and flags gaps and playlists too thin to fill their slots.

Rotation arithmetic: how many artists the library needs

Lofi catalogues are short tracks from a limited pool of producers, which is exactly where repetition shows. By default the Auto DJ keeps a track from returning within 20 plays, an artist within 4 and an album within 3. If the library is too small to honour those gaps, the album rule relaxes first and the track rule last, so the station keeps playing.

The US webcasting mode is stricter and counts in time: in any three hours, at most four tracks by one artist (three in a row) and three from one album (two in a row). The minimum artist count follows from track length:

Average track lengthPlays in 3 hoursArtists needed at 4 each, minimum
2.5 min7218
3 min6015
4 min4512

Those are floors; with track separation on top, plan for two or three times as many. Storage is rarely the limit: a 3-minute MP3 at 320 kbit/s is about 7.2 MB, so the 20 GB library on Premium holds roughly 2,800 such files and the 100 GB on Platinum about 13,900. A playlist holds up to 5,000 tracks.

The fallback chain that keeps the mount up

  1. A live DJ who connects, from an encoder or the browser studio, takes the air whatever the schedule says.
  2. With no live source, or one that sends nothing for 10 seconds, the /stream mount falls back to the Auto DJ.
  3. The Auto DJ plays the clock or playlist in the current schedule slot.
  4. Where no slot is scheduled, the default playlist plays.
  5. Where a scheduled playlist has nothing playable, the whole library plays.
  6. A missing or damaged file is skipped, not aired.

Dead-air detection runs on both paid plans, and off-air email alerts can be switched on in the panel; they are off until you enable them. The stream itself runs as a per-station process described on the Icecast hosting page. Platinum adds a backup source and a standby slot that takes the air only when neither scheduled show is sending.

US licence conditions for continuous music

Every recording carries two copyrights. SoundExchange administers the statutory licence for the sound recording; ASCAP, BMI and SESAC license the composition. A noninteractive stream reaching US listeners needs both, wherever the server sits, unless the rights holders license you directly. Under the statutory route, a Notice of Use is filed with the Copyright Office before the first transmission. Then the programming itself has to meet conditions in 17 U.S.C. 114:

  • Performance complement. In any 3-hour period on one channel: at most 3 tracks from one album, no more than 2 consecutively; at most 4 by one featured artist or from one boxed set, no more than 3 consecutively.
  • No advance track list. The station may not publish an advance schedule naming the specific recordings it will play.
  • No short loops. A predetermined program played continuously in the same order must not be shorter than 3 hours. A fixed-order 90-minute playlist on repeat fails this.
  • Now-playing text. Title, album and featured artist are sent as text during, but not before, each track.

The Auto DJ's US webcasting mode applies the first rule's limits, counted in time; a library too small to keep them cannot always comply, and the airplay history names any play that broke them. Shuffled rotation with separation avoids a fixed loop, and the metadata editor keeps each track's title, artist and album correct in the library. Every play also lands in the airplay log and sealed daily records that feed SoundExchange-style royalty reports. The licences remain the broadcaster's; royalty fees for internet broadcasters covers who collects what.

This is a summary of the statute and SoundExchange's guidance, not legal advice. Stations licensed outside the US follow their own collecting societies.

Listener hours on a stream that never stops

Paid radio plans cap both concurrent listeners and listener hours, one listener for one hour summed over the UTC calendar month. A round-the-clock format spends hours every hour, so the monthly figure matters more than the peak. A 31-day month has 744 hours:

PlanAt onceListener hours a monthAverage audience that uses it all
Premium, 128 kbit/s2,500500,000about 670, around the clock
Platinum, 320 kbit/s5,0001,500,000about 2,000, around the clock

At the allowance, connected listeners stay and new ones wait for the 1st or an upgrade; the owner is emailed at 80% and 100%. Bandwidth is unmetered on every plan. The full comparison is on internet radio hosting.

Stream URL and directories

The control panel prints an https listen link, plus public .pls, .m3u and .xspf playlist links for players that want a file. That link is what directories ask for. The panel helps submit the station to TuneIn, Radio Browser, Radio Garden and others, and checks that each directory plays the current address; Alexa and Google smart speakers need TuneIn playing the current address. Stations can also join our radio guide from the Share tab, with each listing approved by our team before it shows.

Where the setup stops

  • The Free plan has no storage and therefore no Auto DJ: it is live-only, and the stream ends when the encoder stops.
  • Loudness normalization, cue points, weighted rotation and listener requests are Platinum only. Lofi masters vary in level, so normalization matters more here than on most formats.
  • Above 5,000 concurrent listeners is quoted separately.
  • The Auto DJ plays audio. A looping visual for a video platform is a separate product.

Questions

Does a computer of mine have to stay on for the station to play?

No. The library, clocks and schedule are stored on one of our radio nodes, in New York or in Bucharest; playout runs there. A computer is needed only when someone broadcasts live from it.

Can I just loop one playlist forever?

Technically yes, but under the US statutory licence a predetermined program repeated in the same order must run at least 3 hours. Shuffled rotation with artist and track separation avoids the problem and sounds less repetitive. The US webcasting mode adds the per-artist and per-album limits.

Can the website show which song plays next?

The statutory licence bars publishing an advance schedule of the specific recordings to be played. Showing the title, album and artist while a track is playing is the opposite: it is one of the licence's conditions. A schedule of show names and hosts is a different thing from a track list.

Is a station outside the US exempt from SoundExchange?

Not if it reaches US listeners. SoundExchange states that transmissions reaching listeners in the United States are subject to US law wherever they originate, so the service needs either direct licences or the statutory licence. Country limits can be set in the panel.

What happens when a DJ goes live over the automation?

The live show takes the air as soon as the DJ connects. When the DJ disconnects, the Auto DJ resumes from the clock. Any DJ can be cut off from the panel at any moment.

How large should a lofi library be?

Size it by artists, not gigabytes. With 3-minute tracks and the US limit of four plays per artist in three hours, 15 artists is the arithmetic minimum and two to three times that is comfortable. At 320 kbit/s, 20 GB holds about 2,800 three-minute tracks.

Put the station on a clock

Auto DJ comes with the Premium and Platinum radio plans: library on our disks, hour clocks, separation rules and the airplay records your licences ask for.

Configure Auto DJ

Related on Server Room

Other use cases