Skip to content

Webradios

Webradios are now integrated directly on odio, a first version that sits alongside your music library. The upmpdcli backend exposes a set of built-in station sources in the UPnP/DLNA library, browsable from any control point. A more polished experience (in-UI favorites, station picker) will come later.

Browsing an odio node from any UPnP/DLNA control point (BubbleDS Next, BubbleUPnP, Home Assistant’s media browser) exposes these radio sources as top-level folders in the library:

  • Radio Browser, the radio-browser.info community catalog, navigable by country, language, or tag.
  • Radio Paradise, direct access to Radio Paradise’s streams.
  • Mother Earth Radio, high-quality streams from Mother Earth Radio.
  • Upmpdcli Radio List, a server-side curated station list configured in upmpdcli.

Pick a station, it plays through the odio node like any other source. Playback is visible in the odio API as an MPD session, controllable from the embedded UI, the odio application, or Home Assistant.

Embedded UI on raspodio3bwifi showing MPD playing Dub Incorporation - Dario's Dub from La Grosse Radio Reggae, with transport controls and the Built-in Audio Stereo output active

If you’d rather stay inside Home Assistant, its Radio Browser integration is backed by the same radio-browser.info database. It adds a station catalog to the HA media browser that can be played to any odio node exposed as an AirPlay, DLNA/UPnP, or MPD media player entity.

Discovery and browsing live in HA, playback lands on odio as any other network speaker.

Home Assistant Radio Browser grid view with country flags (Popular, By Category, By Language, Local stations, Afghanistan, Albania, Algeria, Argentina, Australia, Austria), La Grosse Radio Reggae playing in the footer with odio Music Player Daemon as the active output

MPD plays HTTP streams natively, so any station URL can be queued directly:

Terminal window
mpc add http://example.stream/radio.mp3
mpc play

Any MPD client (M.A.L.P., myMPD, ncmpcpp) can store stations as playlists or favorites. The remote MPD setup in the MPD guide also applies here, if you already run MPD on a NAS with its library and station list and output audio to the odio node over PulseAudio TCP, your station favorites sit alongside the rest of your library.

If you already run a myMPD instance somewhere on your network pointed at the MPD on the odio node, the webradio experience is much better than the raw-playlist approach below, myMPD integrates webradiodb natively for browsing, searching, and adding stations to favorites, with playback handled by the odio node’s MPD.

myMPD browsing WebradioDB, station list with country metadata, playback controls visible

If mympd is installed along odio-api, the stream just shows up as the active MPD media player in the embedded UI, same as any other MPD playback, with transport controls and the current stream title.

odio embedded UI with MPD active as the media player, playing a webradio stream

Example: drop an M3U station list in MPD’s playlist folder

Take any M3U file of station URLs and drop it in MPD’s playlist directory, either on the odio node itself or on the NAS running MPD. The playlist then shows up in any MPD client next to your regular playlists.

Format is plain M3U, one #EXTINF line per station followed by the stream URL:

#EXTM3U
#EXTINF:0,FIP
http://icecast.radiofrance.fr/fip-hifi.aac
#EXTINF:0,FIP Jazz
http://direct.fipradio.fr/live/fip-webradio2.mp3
#EXTINF:0,TSF Jazz
http://tsfjazz.ice.infomaniak.ch:80/tsfjazz-high
#EXTINF:0,Radio Nova
http://radionova.ice.infomaniak.ch/radionova-256.aac
#EXTINF:0,Couleur 3
http://stream.srg-ssr.ch/m/couleur3/mp3_128

Drop it as e.g. ~/.mpd/playlists/webradios-fr.m3u (or wherever your playlist_directory points), run mpc lsplaylists to confirm MPD picked it up, then load and play it from any client.