Internet radio

RadioGoGo – surf global radio waves

Internet radio, also known as web radio, online radio, or streaming radio, is a digital broadcasting service that delivers audio content over the internet rather than through traditional AM or FM frequencies.

Its appeal lies in both its accessibility and its breadth of content. Most internet radio services can be accessed without subscription or registration fees, making them available to a wide audience. Listeners can choose from tens of thousands of stations worldwide, offering an extensive range of programming, including music, news, sport, cultural content, and talk shows. Genres span everything from classical and jazz to pop, folk, and specialist interests, giving users far greater choice than is typically available through local terrestrial broadcasting. With a stable internet connection, listeners can access this content from almost anywhere, making internet radio a flexible and convenient alternative to conventional radio services.

RadioGoGo is a terminal application for browsing and playing internet radio stations. Written in Go, it uses the RadioBrowser API to discover stations and relies on FFmpeg tools for playback and optional recording.

Installation

I evaluated RadioGoGo with CachyOS, an Arch-based distribution.

Installing RadioGoGo

At the time of writing, the AUR package is outdated, and the program doesn’t work properly, crashing when searching for a radio station. The project’s GitHub page shows a newer release is available: version 0.4.0, compared with version 0.3.2 currently in the AUR.

I’ll install the latest version with the command:

$ go install github.com/zi0p4tch0/radiogogo@latest

Installation

This install the executable to ~/go/bin. Just make sure that directory is in your PATH.

This is cross-platform software. Besides Linux, there’s support for macOS, Windows, as well as ARM builds for Raspberry Pi.

In Operation

This is what we see when starting the program.

Starting the program

The software lets you play a huge number of radio streams courtesy of the Radio Browser API, a free, open-source web API for internet radio station data. It lets apps search and browse a community-maintained directory of radio stations and retrieve metadata such as station name, stream URL, country, language, tags, codec, bitrate, favicon, and popularity/click information

We can search stations by name, country, language, codec, or tag (with exact searches available for each). In the example below, I’ve performed a search by name.

Searching for stations

I like that the software shows columns for bitrate, clicks and votes. Stations are sorted by votes.

In the next image I’ve filtered by country. You’ll also see stars next to some of the stations. These are bookmarks, which let you access your favourite stations for quick access.

Filter by country

Access the bookmarks by pressing B.

Bookmarks

Other Features

  • Records live streams to disk using FFmpeg.
  • Allows unwanted stations to be hidden from search results.
  • Supports custom colour themes and configurable keybindings.
  • Vote for stations in the app.
  • Real-time volume control which lets you adjust the volume during playback.
  • Offers a multilingual user interface (9 languages are supported).

Summary

RadioGoGo is an impressive terminal-based internet radio player. It’s easy to use, offers an attractive interface, and has a light resource footprint. ps_mem reports the memory footprint is around 60MB (and add in 45MB for ffplay).

It doesn’t have the range of features that PyRadio and some TUI-based internet radio apps have, but hopefully the feature-set will flesh out with more development.

On my terminal, some text is a little difficult to read. The software does support customizable color themes and keybindings, but these settings can’t be changed from within the application and instead require manual editing of the config.yaml file.

Change the theme and keybindings

Website: github.com/matteo-pacini/RadioGoGo
Support:
Developer: Matteo Pacini
License: MIT License

RadioGoGo is written in Go. Learn Go with our recommended free books and free tutorials.


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
radionTUI client written in Bash
teraPlay radio stations, CRUD your favorite lists, and explore stations
cTunencurses tool with good search functionality
Radio RecorderInternet radio player and recorder
RadioboatTerminal web radio client, built with simplicity in mind
kewMusic player which has added internet radio support
radio-cliSimple radio CLI written in Rust
pmrpPoor Man's 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
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments