A simple yet powerful command-line interface radio player that lets you stream music from various internet radio stations. Built with Python and VLC.
- Stream multiple radio stations directly from your terminal
- Easy-to-use command interface
- Volume control
- Support for multiple streaming formats including AAC and MP3
- Automatic handling of PLS playlist files
- Currently supported stations:
- KEXP (Seattle)
- WMSE (Milwaukee)
- XRAY.fm (Portland)
- KCRW (Los Angeles)
- Python 3.x
- VLC media player installed on your system
- python-vlc package (automatically installed during setup)
- Make sure you have VLC media player installed on your system
- Clone this repository or download the source code
- Create and activate a virtual environment (recommended):
python3 -m venv venv
source venv/bin/activate # On Unix/MacOS
# or
.\venv\Scripts\activate # On Windows
- Install the required Python packages:
pip install -r requirements.txt
There are two ways to run the program:
Navigate to the project directory and run:
source venv/bin/activate # Activate virtual environment
python3 radio.py
Add this alias to your shell configuration file (e.g., .zshrc
or .bashrc
):
alias radio="cd /path/to/radio/directory && source venv/bin/activate && python3 radio.py"
After adding the alias and reloading your shell configuration, simply type:
radio
play
: Start playing a station- When prompted, enter the station name or press Enter to play the current station
- Available stations: KEXP, WMSE, KXRY, KCRW
stop
: Stop the current streamvolume
: Change the volume- Enter a value between 0-100 when prompted
stations
: List all available radio stationsquit
: Exit the program
The default station is set to KEXP. You can change stations at any time using the play
command.
Feel free to fork this repository and submit pull requests to add more stations or features.
This project is open source and available under the MIT License.