Terminal-based internet radio player
Project description
PX7 Terminal Radio
PX7 Terminal Radio is a lightweight command-line internet radio player written in Python. It allows you to search, stream, and control thousands of online radio stations directly from your terminal., and now also supports streaming audio from YouTube search results.
Stations are fetched using the Radio Browser API, and playback is handled through VLC.
Table of Contents
Features
New Feature
- Search and stream audio from YouTube
Legacy Features
- Search internet radio stations
- Stream radio directly from the terminal
- Filter and sort stations using API options
- Control playback (play, pause, resume, stop)
- Lightweight command-line interface
Requirements
- Python 3.9+
- VLC Media Player
Installation
1. Clone the repository:
If you just want to use:
git clone --depth 1 https://github.com/px7nn/px7-radio.git
cd px7-radio
else:
git clone https://github.com/px7nn/px7-radio.git
cd px7-radio
2. Install Python dependencies
pip install -r requirements.txt
3. Run the application
python main.py
After starting, you will see the terminal prompt:
>>
You can now search and play radio stations. Example:
>> radio search lofi
>> play 1
Usage
Radio Commands
| Command | Description |
|---|---|
radio search <query> |
Search radio stations by name |
radio search --tag=<tag> |
Search stations by tag (e.g., jazz, lofi) |
radio search --country=<country> |
Filter stations by country |
radio search --language=<language> |
Filter stations by language |
radio search --limit=<number> <query> |
Limit the number of results |
radio search --order=votes |
Sort results (e.g., clickcount, votes, bitrate) |
play <index> |
Play a station from the search results |
pause |
Pause playback |
resume |
Resume playback |
stop |
Stop playback |
Additional filters and parameters are supported since PX7 Terminal Radio is compatible with the Radio Browser API.
You can pass API parameters using the format:
--parameter=value
Example:
>> radio search lofi --limit=5
>> radio search --tag=jazz --country=US
>> radio search chill --order=clickcount
For the complete list of supported parameters, see the Radio Browser API documentation:
https://www.radio-browser.info/
YouTube Commands
PX7 Terminal Radio can also stream audio from YouTube search results directly in the terminal.
| Command | Description |
|---|---|
yt search <query> |
Search YouTube and stream results |
yt search <query> --limit=<number> |
Limit the number of search results |
yt search <query> --no-postfix |
Search without modifying the query |
Default Query Postfix
By default, the command:
>> yt search <query>
internally modifies the query:
query += DEFAULT_QUERY_POSTFIX
DEFAULT_QUERY_POSTFIX = " original audio song" This helps return better audio-focused results (for example music or long mixes).
If you want to search YouTube without modifying the query, use:
>> yt search <query> --no-postfix
Example:
>> yt search joji
>> yt search the weeknd lofi one hour --no-postfix
License
This project is licensed under the MIT License.
See the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file px7_radio-0.1.0.tar.gz.
File metadata
- Download URL: px7_radio-0.1.0.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
445e92b625c59432851ce6bac026cfd8759c02cdfbde5f81adbde1c691bb6ed1
|
|
| MD5 |
f3a4689de3495cc7bc50e5c84211254e
|
|
| BLAKE2b-256 |
77586acf84d4acb76154acaf317414bd932823f839a3d3d84b864951a87d600e
|
File details
Details for the file px7_radio-0.1.0-py3-none-any.whl.
File metadata
- Download URL: px7_radio-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f52eec58b8f39f5ea005e033dde8d73aa7b9c4f037b79c0ab4079a8cef57e2c2
|
|
| MD5 |
34829b74df54c956e6b39427ee79180b
|
|
| BLAKE2b-256 |
548d62a2a8ea6ba83662bcb6f0cd58de8d44aa19a387b310da8148111c8239fe
|