StreamTuner2 – internet radio station and video browser

Last Updated on September 3, 2020

I’ve put a few internet radio station players through their paces in recent weeks.

I was fairly positive about odio, even though it’s not released under an open source license and consumes massive globs of memory. But the developer is beavering away on a new release and intends to open source the code. I’ll definitely write an updated review when/if that happens. I’ve also covered Shortwave, a GTK3 based radio player written in Rust. My favorites to date are Radiotray-NG and PyRadio.

This time, I’m putting StreamTuner2 under the microscope. StreamTuner2 is a GUI for browsing internet radio directories, music collections, and video services – grouped by genres or categories. It runs your preferred audio player or streamripper for recording.

StreamTuner2 is an independent rewrite of StreamTuner1. Whereas the original was developed in C, the rewrite is coded in Python. If you ever used the original StreamTuner 0.99 software, you’ll be familiar with StreamTuner2’s interface, as both share many similarities. The software is released into the public domain, so you can do anything you like with the source code.


The developer provides official, albeit rudimentary, packages for Debian / Ubuntu, and Fedora distributions. There are also packages available for Arch Linux, openSUSE, Pardus Linux, Lighthouse / Pippy, Mandriva, and Lubuntu. Alternatively, you can grab the source code.

The source code for the latest version (at the time of writing this is version 2.2.1) can be downloaded from the project’s website, You’ll need to uncompress the txz file and install the file.

$ xz -d < streamtuner2-2.2.1.src.txz | tar xvf -
$ cd streamtuner2/

All you need to do is install the file by typing at a shell:

$ sudo make install

This installs the software to /usr/share/streamtuner2. If you prefer the software in a different directory, edit the DEST line of the Makefile.

I’ve listed below the files that are installed.

mkdir	-p				/usr/share/streamtuner2/channels
mkdir	-p				/usr/share/doc/streamtuner2/help/img
install -m 755		bin		/usr/bin/streamtuner2
install -m 644		*py		-t /usr/share/streamtuner2
install -m 644		gtk3*		-t /usr/share/streamtuner2
install -m 644		channels/*py	-t /usr/share/streamtuner2/channels
install -m 644		help/*page	-t /usr/share/doc/streamtuner2/help
install -m 644		help/img/*	-t /usr/share/doc/streamtuner2/help/img
install -m 644		CREDITS		-t /usr/share/streamtuner2
install -m 644		README		-t /usr/share/doc/streamtuner2
install -m 644		*.desktop	-t /usr/share/applications/
install -m 644		icon.png	/usr/share/pixmaps/streamtuner2.png
install -m 644		help/str*2.1	-t /usr/share/man/man1/

Your system needs Python 2, PyGTK, LXML, PyQuery, PIL/Python-Imaging, Python-pyquery, python-requests, and Python-Keybinder installed.

Next page: Page 2 – Configuration

Pages in this article:
Page 1 – Introduction / Installation
Page 2 – Configuration
Page 3 – In Operation
Page 4 – Other Features
Page 5 – Summary

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Newest Most Voted
Inline Feedbacks
View all comments
Pirvu Ovidiu
Pirvu Ovidiu
4 years ago

Yeah, who haven’t used stream tuner. Pity the second iteration crashes a little too much for my taste. At least on Debian

2 years ago
Reply to  Pirvu Ovidiu

Debian (11) user here, too — Streamtuner2 works flawlessly.

Isobel Craven
Isobel Craven
4 years ago

Thanks for the review, I’d never heard of StreamTuner2. Works pretty well on Fedora from a couple of hours usage.

Bruce Ferrell
Bruce Ferrell
4 years ago

What a Python re-write means is that it will fail to install in some significant percentage of attempts due to installed differences in python installations. As “new, kewl” paradigms in python rise, working installations will mysteriously fail.

What truly amazes me is that members of the python community were some of the MOST vocal about dependency hell

Niles J
Niles J
4 years ago

More or less a well accepted solution is to put Python, dependencies and the app into a userland and run it in a container. It gives freedom, flexibility, repeated environments – one of the reason why Docker and Kubernetes are so popular.