Internet radio (also known as web radio, net radio, streaming radio, and online radio) is a digital audio service transmitted via the Internet.
Why do we like internet radio? There’s no sign-up or subscription charges. There’s a huge range of stations available from around the world. If you like classical music, pop music, folk music, news, talk radio, and much more, internet radio has something for everyone wherever you live (providing you have a net connection). Internet radio offers every format that is available on traditional broadcast radio stations.
Tuner is billed as a minimalist radio station player. This program saw its first release in June 2020. The open source program is written in Vala. It offers access to a huge range of stations as it taps into the radio-browser.info catalog, a community driven project with an open API which collates internet radio and TV stations.
We’ve previously covered a fair number of dedicated internet radio streamers for Linux. To date, our favorite open source app is Shortwave, a Rust based tool that also uses the radio-browser.info community database.
Installation
Tuner is designed for elementary OS, a Linux distribution based on Ubuntu LTS. Installation on elementary OS is trivial. Just open up AppCenter and select the Audio section. Click on Tuner to install which is listed in the curated section.
What if you are running a different distro to elementary OS? We compiled Tuner with no problems under Ubuntu. You first need to install the dependencies. In Ubuntu and Ubuntu-based distros these are installed with the commands:
$ sudo apt install git valac meson
$ sudo apt install libgtk-3-dev libgee-0.8-dev libgranite-dev libgstreamer1.0-dev libgstreamer-plugins-bad1.0-dev libsoup2.4-dev libjson-glib-dev libgeoclue-2-dev libgeocode-glib-dev
As Tuner is an open source project, we can clone its repository, compile and install the software. Issue the following commands:
$ git clone https://github.com/louis77/tuner.git
$ cd tuner
$ meson build && cd build
$ meson configure -Dprefix=/usr
$ sudo ninja install
There are packages available for MX Linux and Arch (the latter from the Arch User Repository). There’s also a Flatpak available. Getting the software running on the majority of Linux distros should be easy.
Next page: Page 2 – In Operation
Pages in this article:
Page 1 – Introduction / Installation
Page 2 – In Operation
Page 3 – Other Features
Page 4 – Summary
Are any TV stations included or do you have to add IPTV m3u list .. love the blog on the G2 by the way ,bought one myself ( i5-6500T) and very pleased with its performance running Linux mint ?
Tuner taps into the wonderful radio-browser.info catalog. This catalog includes some TV streams, so I didn’t need to add the channels manually.
I’m enjoying writing the blog on the HP EliteDesk 800 G2. What are you using it for?
Tuner doesn’t show up in my Ubuntu Budgie launcher! (*SIGH!*)
You can change the station order and edit the favorites list by editing a json file. If you installed Tuner via Flatpak, it’s at ~/.var/app/com.github.louis77.tuner/data/com.github.louis77.tuner
Pretty lame you have to edit a json file to do something so obvious.
I never knew about Tuner. Thanks so much!
Tuner is actually very good. An undiscovered gem!
Tuner now shows codec and bitrate for each station.
I am glad I searched and discovered Tuner nice nice I prefer it over shortwave!
On Ubuntu 22.10, I had to install geocode-glib.git and do ‘sudo apt install gtk-doc-tools’ for that.
Wordeful tool. Just one question: Can you export your favorites and reimport them on an other device?
I have an error:
WARNING: CMake Toolchain: Failed to determine CMake compilers state
Run-time dependency geocode-glib-1.0 found: NO (tried pkgconfig and cmake)
what i have to do???
Thank you
Run-time dependency geocode-glib-1.0 found: NO
As the error message says, you are missing a dependency, geocode-glib
Install geocode-glib.
You may also be missing other dependencies: Tuner depends on (‘granite’ ‘libsoup’ ‘gst-plugins-bad-libs’ ‘geoclue’ ‘geocode-glib’)
optdepends=(‘gst-libav: play AAC[+] streams’)
makedepends=(‘meson’ ‘vala’)