Internet radio

PMRP-NG – terminal internet radio player

Internet radio, often referred to as web radio, streaming radio, or online radio, is a digital audio service that streams over the Internet.

So, what makes internet radio so appealing? For starters, there are no sign-up or subscription fees, making it accessible to everyone. You can tune into a vast array of stations from around the globe. Whether you’re a fan of classical music, pop, folk, or even news and talk shows, there’s something for everyone, no matter where you are, as long as you have an internet connection. Internet radio covers every format you’d find on traditional broadcast stations, providing endless listening options.

PMRP-NG is a lightweight terminal internet radio player for Linux and macOS that uses Radio-Browser to provide searchable access to a large, dynamically updated catalogue of online radio stations. The program is a Bash script built around common command-line tools, using fzf for interactive station selection, jq for processing station data, and mpv for stream playback.

Installation

I evaluated PMRP-NG using CachyOS, an Arch-based distribution with optimizations for modern CPUs.

The project’s GitHub says to install the following dependencies.

$ sudo pacman -S curl jq mpv fzf util-linux

Dependencies already are installed

pacman checked those five packages and found they’re already installed at the latest available versions on my system.

The program is a shell script, so there’s no building the program. Download the ZIP archive. I’ll use wget.

$ wget https://github.com/hakerdefo/pmrp-ng/archive/refs/heads/main.zip

The command doesn’t install or run the software by itself; it only downloads the archive (main.zip).

Unzip the file.

$ unzip main.zip

unzip the file

Extracting the archive creates a directory named pmrp-ng-main. Copy the pmrp-ng file to a location on your PATH.

$ sudo cp pmrp-ng-main/pmrp-ng /usr/local/bin

Next, make it executable.

$ sudo chmod 755 /usr/local/bin/pmrp-ng

In Operation

Launch the program by typing pmrp-ng at a terminal, and you’ll see.

Starting the program

I can search the radio directory by station name, genre, or country. The script uses Radio Browser to access a huge directory of internet radio stations. Here’s an example search by station name.

Searching for stations

I selected one of the stations. The UI provides playback controls through mpv, including pause, stop, and volume adjustment.

Playing a station

Pressing q to stop playback automatically prompts you to bookmark the station.

Saved Favourite

There’s a dedicated bookmark page which offers easy access as well as the ability to manage them.

Favourite stations

Presentation could be better here.

Summary

PMRP-NG improves on the original PMRP mainly by replacing a fixed, old-style station list with a searchable, dynamic radio directory. The original pmrp is a Bash script built around mpg123, with 350 hand-picked radio stations, a simple menu system, now-playing information, low memory use, and no configuration required.

PMRP-NG is described by the developer as a ground-up rewrite, arriving 11 years after the original PMRP. Instead of relying on a hardcoded station list, it uses the open Radio-Browser API, giving access to over 40,000 global radio stations.

The rewrite adds useful functionality, including hiding broken streams, ordering results by popularity, and letting users filter stations interactively with fzf. It also lets you save, browse, and remove favourite stations, storing them in an XDG-style location.

PMRP-NG is a decent rewrite. It’s not the most feature-laden console-based internet radio player, lacking extras such as stream recording, but it may still meet your requirements. I like it a lot.

Website: github.com/hakerdefo/pmrp-ng
Support:
Developer: hakerdefo
License: MIT License


Related Software

Terminal-Based Internet Radio Apps
PyRadioCross-platform curses based with support for Radio Browser
radio-activeCommand-line tool to listen to more than 30,000 radio stations
SonicRadioStylish TUI radio player
RadioGoGoSurf global radio waves
teraPlay radio stations, CRUD your favorite lists, and explore stations
radionTUI client written in Bash
cTunencurses tool with good search functionality
rig.fmFast, focused, keyboard-friendly, and free of clutter
Radio RecorderInternet radio player and recorder
PMRP-NGGround-up rewrite of PMRP
goradionTUI internet radio player that uses mpv
RadiotropeAI agent-enabled internet radio player
RadioboatTerminal web radio client, built with simplicity in mind
PMRPPoor Man's Radio Player
radio-cliSimple radio CLI written in Rust
TuneIn CLIBasic internet radio with TuneIn Radio and Radio Browser as providers
tmuzikaMusic player and internet radio player
CurseradioVery simple application for navigating and playing radio streams

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments