Internet radio sounds like magic – thousands of live stations from every corner of the world, instantly available in your browser. Under the hood it is surprisingly simple. Here is how it actually works.
Traditional FM radio broadcasts an analogue signal from a transmitter tower; your receiver tunes to a frequency and converts the signal back into sound. Internet radio replaces the tower with a streaming server. The station encodes its live audio into a digital format and pushes it to a server, which then sends a continuous stream of audio data to every connected listener.
When you press play on a station in Moodi.fm, your browser opens a connection to that station's stream URL and starts receiving audio packets. A few seconds of audio are kept in a buffer, so brief network hiccups don't interrupt playback. That is also why internet radio typically runs a few seconds behind the FM broadcast of the same station.
Stations compress their audio with a codec before sending it. The most common ones you will encounter:
A higher bitrate generally means better sound but more data usage. 128 kbit/s MP3 is roughly comparable to good FM reception; 256 kbit/s and above is close to CD quality for most ears.
Most streams carry a small side channel of text data alongside the audio – usually the current artist and song title. Players read this metadata and show it on screen, which is how Moodi.fm can display what's playing on many stations and let you look up a track you just discovered.
There is no central authority for internet radio – anyone can run a station. Directories solve the discovery problem. Moodi.fm uses the open-source, community-maintained Radio Browser database, which volunteers around the world keep up to date with stream URLs, genres, languages and countries. On top of that raw catalogue we add our own curation: mood collections, genre pages and trending lists that make 50,000+ stations actually browsable.
Because every station runs its own infrastructure, reliability varies. A station may go offline for maintenance, change its stream URL, or limit the number of simultaneous listeners. When that happens, a player can only reconnect or suggest an alternative – it is part of the charm (and occasional frustration) of a decentralised medium.