View on GitHub

TONE // AUDIO_LOG

A music studio log covering deep house, underground DJ culture, home studio gear, production experiments, Lounge24 Radio, and self-hosted audio infrastructure.

LOUNGE24 RADIO  //  DEEP HOUSE  //  UNDERGROUND  //  LAS VEGAS NODE  //  TONE  //  AUDIO_LOG  //  BROADCAST LIVE  //  SIGNAL ACTIVE  //  LOUNGE24 RADIO  //  DEEP HOUSE  //  UNDERGROUND  //  LAS VEGAS NODE  //  TONE  //  AUDIO_LOG  //  BROADCAST LIVE  //  SIGNAL ACTIVE  // 

⌂ home

Internet Radio with Icecast2 and MPD

Nov 26, 2022

Reddit

Update — 2026: This setup has since evolved. I moved from this vanilla Icecast2 + MPD stack to AzuraCast, a full-featured self-hosted radio management platform. AzuraCast still runs Icecast under the hood but wraps it in a proper web UI, AutoDJ scheduling, listener analytics, multiple mount points, and a lot more. The raw Icecast + MPD approach below is still valid and educational, but if you’re starting fresh AzuraCast is the move. I’m running it as part of Lounge24 Radio — more on that in a future post.


I recently set up an Internet Radio server in AWS using Icecast2 and MPD (Music Player Daemon). The basic idea was I would have a stream mount point for Live studio mix broadcasts that a DJ or Producer could connect to. Then, a second mount for radio broadcasts that is basically an “autodj” controlled by MPD. The song playlists are managed with ncurses based MPD client, ncmpcpp.

ncmpcpp

ncmpcpp cheat sheet

I was looking for a cheat sheet and found cheat.sh. Using an alias one could type cht and get the cheat sheet for ncmpcpp printed to standard output.

alias cht='curl cheat.sh/ncmpcpp'

Comments

Questions, corrections, and follow-ups are open below.