All Projects â†’ sdushantha â†’ pyradio

sdushantha / pyradio

Licence: MIT License
📻 Play your favorite radio station from the terminal

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to pyradio

radiobar
macOS menubar app to listen to streaming radio
Stars: ✭ 53 (-23.19%)
Mutual labels:  radio, vlc
iheart-mplayer
Automatically open an iheartradio station in a media player, such as mplayer, VLC, or mpv
Stars: ✭ 44 (-36.23%)
Mutual labels:  radio, vlc
vor-python-decoder
Decodes VOR signal from WAV file to get the bearing to your position
Stars: ✭ 33 (-52.17%)
Mutual labels:  radio
gr-etcetera
Additional PyBOMBS recipes that aren't in gr-recipes
Stars: ✭ 71 (+2.9%)
Mutual labels:  radio
Stream-to-VLC
Tampermonkey script that uses a custom URI scheme to view streams in VLC.
Stars: ✭ 20 (-71.01%)
Mutual labels:  vlc
playercast
Cast to media player and control playback remotely.
Stars: ✭ 46 (-33.33%)
Mutual labels:  vlc
qc image unpacker
Qualcomm image unpacker
Stars: ✭ 44 (-36.23%)
Mutual labels:  radio
PothosComms
Communications blocks and support libraries
Stars: ✭ 15 (-78.26%)
Mutual labels:  radio
kirby-imageradio
Add illustrations to Kirby's radio buttons. Kirby 2 and 3.
Stars: ✭ 49 (-28.99%)
Mutual labels:  radio
Radio
Simple Android webradio player
Stars: ✭ 21 (-69.57%)
Mutual labels:  radio
PHP-Broadcast-radio
🌈 Autonomous streaming audio ,serveronline internet radio is free streaming music for your listening pleasure, as well as news and announcements.
Stars: ✭ 38 (-44.93%)
Mutual labels:  radio
jradio
Software radio decoding
Stars: ✭ 40 (-42.03%)
Mutual labels:  radio
nrsc5-dui
An enhanced, user-friendly version of nrsc5-gui that is not heavily dependent upon Python processing for audio generation.
Stars: ✭ 49 (-28.99%)
Mutual labels:  radio
VlcXamarin
Xamarin.Android bindings for VLC player
Stars: ✭ 35 (-49.28%)
Mutual labels:  vlc
FT857d
CAT support for Arduino, simulating a Yaesu FT-857D
Stars: ✭ 31 (-55.07%)
Mutual labels:  radio
cariboulite
CaribouLite turns any 40-pin Raspberry-Pi into a Tx/Rx 6GHz SDR
Stars: ✭ 785 (+1037.68%)
Mutual labels:  radio
codec2 talkie
Turn your Android phone into Codec2 Walkie-Talkie (Bluetooth/USB/TCPIP KISS modem client for DV digital voice communication)
Stars: ✭ 65 (-5.8%)
Mutual labels:  radio
esp32cam-ready
Plug and Play firmware for the esp32cam. Flash, provision and connect to rtsp.
Stars: ✭ 67 (-2.9%)
Mutual labels:  vlc
libvlcpp
C++ bindings for libVLC
Stars: ✭ 64 (-7.25%)
Mutual labels:  vlc
reddit-radio
Discord bot that streams music and radio to voice channels.
Stars: ✭ 29 (-57.97%)
Mutual labels:  radio

pyradio

Play your favorite radio station from the terminal

Installation

# clone the repo
$ git clone https://github.com/sdushantha/pyradio

# change into the new directory
$ cd pyradio

# install the requirements
$ pip3 install -r requirements.txt

This will clone the repository to your local PC and install the dependencies, colorama, python-vlc, and requests. Also, the VLC media player must be installed.

Usage

$ python3 pyradio.py -h
usage: pyradio.py [-h] [-p] [-l] [-d] [-s] station [volume]

Play your favorite radio station from the terminal

positional arguments:
  station         name of station to play, checked on TuneIn if unknown
  volume          playback volume (default: 100)

optional arguments:
  -h, --help      show this help message and exit
  -p, --print     print a list of all stations in the local database
  -l, --local     only use local station database for URL lookup
  -d, --download  save stream to files instead of playing
  -s, --split     do not split files saved with --download

Example

$ python3 pyradio.py "NRJ"

Adding radio stations

pyradio.py will search all unknown radio stations on TuneIn and add them to the local database if anything is found. Alternatively you also can add a station manually, to do so, add the URL pointing to the stream to the config.json file, more specific the Local Stations list. If you instead just quickly want to test a new station, just pass the stream URL instead of the station name to pyradio.py.

Follow this format:

"station name": "link_to_stream"

Blocking radio stations

pyradio.py can block user-specified titles and replace them with either another radio station or a local music file. To use this feature, add the title or artist name to the Blocked titles list in the config.json file and set the replacement with Replace with.

Follow this format for the blocked title list:

"name fragment to block"

And this format for the Replace with entry:

"Replace with": "filename.mp3 or link_to_stream"

Downloading radio streams

pyradio.py is capable of downloading a stations stream instead of playing it. To use this function, pass the -d option. This will create a folder named after the station and save the stream to multiple files, one for each track. The splitting wont be perfect, because many stations send the track title shortly after the actual track started. A list containing information on when a track was played can be found in titles.txt.

To disable the file splitting and instead save everything to a single file, pass the -s option.

License

MIT License

Copyright (c) 2018 Siddharth Dushantha, TeilzeitTaco

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].