radio-active


Nameradio-active JSON
Version 2.9.1 PyPI version JSON
download
home_pagehttps://github.com/deep5050/radio-active
SummaryPlay and record any radio stations around the globe right from the terminal
upload_time2024-01-07 06:17:27
maintainer
docs_urlNone
authorDipankar Pal
requires_python>=3.6
licenseMIT
keywords pyradios wrapper radios api shortwave internet-radio cli app
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <div align=center>
<p align=center><img src=https://user-images.githubusercontent.com/27947066/267328833-3e81a98e-2acb-4291-89cb-f3f9bed6c299.png width=250px></p>
<h1 align=center> RADIOACTIVE </h1>
<p> SEARCH - PLAY - RECORD - REPEAT </p>

<p align=center> Play and record any radio stations around the globe right from your terminal </p>

<a href="https://www.producthunt.com/posts/radio-active?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-radio-active" target="_blank"><img src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=305380&theme=dark" alt="radio-active - Play more than 30K radio stations from your terminal | Product Hunt" style="width: 250px; height: 54px;" width="250" height="54" /></a>

 <p align=center ><img align=center src=https://static.pepy.tech/personalized-badge/radio-active?period=total&units=international_system&left_color=black&right_color=green&left_text=TotalInstalls></p>
 <p>
<img width="500px" alt="UPI" src="https://user-images.githubusercontent.com/27947066/235618869-8c9d9bce-096d-469e-8f61-c29cc01eacc3.png">
</p>

<p align=center>
<img align=center src=https://user-images.githubusercontent.com/27947066/271250790-291c02fa-e568-45c8-8097-72167a109b82.png  width=550px>
<hr>
<img alt="GitHub" src="https://img.shields.io/github/license/deep5050/radio-active?style=for-the-badge">
<img alt="PyPI" src="https://img.shields.io/pypi/v/radio-active?style=for-the-badge">
<img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dm/radio-active?style=for-the-badge">
<img alt="CodeFactor Grade" src="https://img.shields.io/codefactor/grade/github/deep5050/radio-active/main?style=for-the-badge">
<a href=https://discord.gg/53rfebFyqK><img alt="Discord" src="https://img.shields.io/discord/847703568949051392?style=for-the-badge"></a>
</p>

<p align=center> <a href=https://www.youtube.com/watch?v=X-NfK5XbM90><img alt="YouTube Video Likes and Dislikes" src="https://img.shields.io/youtube/likes/X-NfK5XbM90?style=social&withDislikes"></a></p>
<p align=center> <a href=https://discord.gg/53rfebFyqK> Join Discord Server </a></p>

</div>


### Features

- [x] Supports more than 40K stations !! :radio:
- [x] Record audio from live radio on demand :zap:
- [x] Get song information on run-time 🎶
- [x] Saves last station information
- [x] Favorite stations :heart:
- [x] Selection menu for favorite stations
- [x] Supports user-added stations :wrench:
- [x] Looks minimal and user-friendly
- [x] Runs on Raspberry Pi
- [x] Finds nearby stations
- [x] Discovers stations by genre
- [x] Discovers stations by language
- [x] VLC, MPV player support
- [x] Default config file
- [ ] I'm feeling lucky! Play Random stations


> See my progress ➡️ [here](https://github.com/users/deep5050/projects/5)

### Why radioactive?

While there are various CLI-based radio players like [PyRadio](https://github.com/coderholic/pyradio) and [TERA](https://github.com/shinokada/tera), Radioactive stands out for its simplicity. It's designed to work seamlessly right from the start. You don't need to be a hardcore Linux or Vim expert to enjoy radio stations with Radioactive. The goal of Radioactive is to offer a straightforward user interface that's easy to grasp and comes preconfigured, without unnecessary complexities.

### In the Spotlight

The praise from YouTube channels and blogs underscores Radioactive's emergence as a top choice for radio enthusiasts. Its simple yet powerful features, make it a must-try application for radio lovers of all expertise levels. Discover the world of radio with ease – experience Radioactive today.

1. See DistroTube YouTube channel talks about my app: https://www.youtube.com/watch?v=H7sf1RDFXpU&pp=ygUYcmFkaW9hY3RpdmUgcGxheWVyIHJhZGlv
2. Ubunlog: https://ubunlog.com/en/radio-activate-an-application-to-listen-to-the-radio-from-the-terminal/
3. LinuxLinks: https://www.linuxlinks.com/radio-active-listen-radio-terminal/3/
4. Official entry in the RadioBrowser API: [https://www.radio-browser.info/users](https://www.radio-browser.info/users#:~:text=Sources-,radio%2Dactive,-Sources)
5. ThingsAndStuff: https://wiki.thingsandstuff.org/Streaming#:~:text=com/billniakas/bash_radio_gr-,radio%2Dactive,-https%3A//github.com
6. Awesome-stars: https://arbal.github.io/awesome-stars/#:~:text=deep5050/radio%2Dactive%20%2D%20Play%20any%20radios%20around%20the%20globe%20right%20from%20the%20terminal%20%3Azap%3A
7. OpenSourceAgenda: https://www.opensourceagenda.com/projects/my-awesome-stars#:~:text=deep5050/radio%2Dactive%20%2D%20Play%20any%20radios%20around%20the%20globe%20right%20from%20the%20terminal%20%3Azap%3A


### Install

Simply run: `pip3 install --upgrade radio-active`

I recommend installing it using `pipx install radio-active`

#### TODO:

- [ ] Create deb, rpm and exe packages
- [ ] Add it to various Linux distribution package repositories.
- [ ] Add to scoop, chocolately

### External Dependency

It needs [FFmpeg](https://ffmpeg.org/download.html) to be installed on your
system in order to record the audio

on Ubuntu-based system >= 20.04 Run

```
sudo apt update
sudo apt install ffmpeg
```

For other systems including Windows see the above link

#### Installing FFmpeg

FFmpeg is required for this program to work correctly. Install FFmpeg by following these steps:-

- On Linux - <https://www.tecmint.com/install-ffmpeg-in-linux/>
- On Windows - <https://www.wikihow.com/Install-FFmpeg-on-Windows>


### Run

Search a station with `radio --search [STATION_NAME]` or simply `radio` :zap: to select from the favorite menu.

### Tips

1. Use a modern terminal emulator, otherwise the UI might break! (gets too ugly sometimes)
2. On Windows, instead of the default Command Prompt, use the new Windows Terminal or web-based emulators like Hyper, Cmdr, Terminus, etc. for better UI
3. Let the app run for at least 5 seconds (not a serious issue though, for better performance)


### Demo

<!-- <a align=center href="https://www.youtube.com/watch?v=X-NfK5XbM90" target="_blank"> <img align=center src=https://user-images.githubusercontent.com/27947066/267328820-f7264e02-edc1-46f3-9548-5dfb50a6627d.jpg /> </a>
<hr> -->
<a align=center href="https://asciinema.org/a/611668" target="_blank"><img src="https://asciinema.org/a/617580.svg" /></a>


### Options


| Options            | Note     | Description                                    | Default       | Values                 |
| ------------------ | -------- | ---------------------------------------------- | ------------- | ---------------------- |
| (No Option)        | Optional | Select a station from menu to play             | False         |                        |
| `--search`, `-S`   | Optional | Station name                                   | None          |                        |
| `--play`, `-P`     | Optional | A station from fav list or url for direct play | None          |                        |
| `--country`, `-C`  | Optional | Discover stations by country code              | False         |                        |
| `--state`          | Optional | Discover stations by country state             | False         |                        |
| `--language`       | optional | Discover stations by                           | False         |                        |
| `--tag`            | Optional | Discover stations by tags/genre                | False         |                        |
| `--uuid`, `-U`     | Optional | ID of the station                              | None          |                        |
| `--record` , `-R`  | Optional | Record a station and save to file              | False         |                        |
| `--filename`, `-N` | Optional | Filename to used to save the recorded audio    | None          |                        |
| `--filepath`       | Optional | Path to save the recordings                    | <DEFAULT_DIR> |                        |
| `--filetype`, `-T` | Optional | Format of the recording                        | mp3           | `mp3`,`auto`           |
| `--last`           | Optional | Play last played station                       | False         |                        |
| `--random`         | Optional | Play a random station from favorite list       | False         |                        |
| `--sort`           | Optional | Sort the result page                           | votes         |                        |
| `--filter`         | Optional | Filter search results                          | None          |                        |
| `--limit`          | Optional | Limit the # of results in the Discover table   | 100           |                        |
| `--volume` , `-V`  | Optional | Change the volume passed into ffplay           | 80            | [0-100]                |
| `--favorite`, `-F` | Optional | Add current station to fav list                | False         |                        |
| `--add` , `-A`     | Optional | Add an entry to fav list                       | False         |                        |
| `--list`, `-W`     | Optional | Show fav list                                  | False         |                        |
| `--remove`         | Optional | Remove entries from favorite list              | False         |                        |
| `--flush`          | Optional | Remove all the entries from fav list           | False         |                        |
| `--kill` , `-K`    | Optional | Kill background radios.                        | False         |                        |
| `--loglevel`       | Optional | Log level of the program                       | Info          | `info`,  `warning`, `error`, `debug` |
| `--player`         | Optional | Media player to use                            |  ffplay       | `vlc`, `mpv`, `ffplay`              |

<hr>


> **NOTE:** Once you save/play at least one station, invoking `radio` without any options will show a selection menu

> `--search`, `-S`: Search for a station online.

> `--play`, `-P`: You can pass an exact name from your favorite stations or alternatively pass any direct stream URL. This would bypass any user selection menu (useful when running from another script)

> `--uuid`,`-U`: When station names are too long or confusing (or multiple
> results for the same name) use the station's uuid to play. --uuid gets the
> greater priority than `--search`. Example: 96444e20-0601-11e8-ae97-52543be04c81. type `u` on the runtime command to get the UUID of a station.

> `--loglevel`,: Don't need to specify unless you are developing it. `info`, `warning`, `error`, `debug`

> `-F`: Add the current station to your favorite list. Example: `-F my_fav_1`

> `-A`: Add any stations to your list. You can add stations that are not currently available on our API. When adding a new station enter a name and direct URL to the audio stream.

> `--limit`: Specify how many search results should be displayed.

> `--filetype`: Specify the extension of the final recording file. default is `mp3`. you can provide `-T auto` to autodetect the codec and set file extension accordingly (in original form).

> DEFAULT_DIR: is `/home/user/Music/radioactive`

### Runtime Commands

Input a command during the radio playback to perform an action. Available commands are:

```
Enter a command to perform an action: ?

t/T/track: Current song name (track info)
r/R/record: Record a station
f/F/fav: Add station to favorite list
rf/RF/recordfile: Specify a filename for the recording.
h/H/help/?: Show this help message
q/Q/quit: Quit radioactive
```

### Sort Parameters

you can sort the result page with these parameters:
- `name` (default)
- `votes` (based on user votes)
- `codec`
- `bitrate`
- `lastcheckok` (active stations)
- `lastchecktime` (recent active)
- `clickcount` (total play count)
- `clicktrend` (currently trending stations)
- `random`

### Filter Parameters

Filter search results with `--filter`. Some possible expressions are
- `--filter "name=shows"`
- `--filter "name=shows,talks,tv"`
- `--filter "name!=news,shows"`
- `--filter "country=in"`
- `--filter "language=bengali,nepali"`
- `--filter "bitrate>64"`
- `--filter "votes<500"`
- `--filter "codec=mp3"`
- `--filter "tags!=rock,pop"`

Allowed operators are: 

-  `=`
- `,`
- `!=`
- `>`
- `<`
- `&`

Allowed keys are: `name`, `country` (countrycode as value), `language`, `bitrate`, `votes`, `codec`, `tags`

Provide multiple filters at one go, use `&`

A complex filter example: `--filter "country!=CA&tags!=islamic,classical&votes>500"`

> NOTE: set `--limit` to a higher value while filtering results


### Default Configs

Default configuration file is added into your home directory as `.radio-active-configs.ini`

```bash
[AppConfig]
loglevel = info
limit = 100
sort = votes
filter = none
volume = 80
filepath = /home/{user}/recordings/radioactive/
filetype = mp3
player = ffplay
```

Do NOT modify the keys, only change the values. you can give any absolute or relative path as filepath.

### Bonus Tips

1. when using `rf`: you can force the recording to be in mp3 format by adding an extension to the file name. Example "talk-show.mp3". If you don't specify any extension it should auto-detect. Example "new_show"

2. You don't have to pass the exact option name, a portion of it will also work. for example `--sea` for `--search`, `--coun` for `--country`, `--lim` for `--limit`

3. It's better to leave the `--filetype` as mp3 when you need to record something quickly. The autocodec takes a few milliseconds extra to determine the codec.

### Changes

see [CHANGELOG](./CHANGELOG.md)

### Community

Share you favorite list with our community 🌐 ➡️ [Here](https://github.com/deep5050/radio-active/discussions/10)

> Your favorite list `.radio-active-alias` is under your home directory as a hidden file :)


### Support

<p>
<a href=https://deep5050.github.io/payme>Visit my contribution page for more payment options.
</p>
<p align=center><a href="https://www.buymeacoffee.com/deep5050" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 40px !important;width: 117px !important;" ></a></p>

### Acknowledgements

<div>Icons made by <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div>


<div align=center>
<img src=https://github.com/deep5050/random-shits-happen-here/assets/27947066/83d08065-c209-4012-abb7-9c0aa64d761b width=400px >
<p align=center> Happy Listening </p>

</div>


## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="http://www.bjoli.com"><img src="https://avatars.githubusercontent.com/u/48383?v=4?s=100" width="100px;" alt="Joe Smith"/><br /><sub><b>Joe Smith</b></sub></a><br /><a href="https://github.com/deep5050/radio-active/commits?author=Yasumoto" title="Tests">⚠️</a> <a href="https://github.com/deep5050/radio-active/commits?author=Yasumoto" title="Code">💻</a> <a href="#ideas-Yasumoto" title="Ideas, Planning, & Feedback">🤔</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/salehjafarli"><img src="https://avatars.githubusercontent.com/u/81613563?v=4?s=100" width="100px;" alt="salehjafarli"/><br /><sub><b>salehjafarli</b></sub></a><br /><a href="https://github.com/deep5050/radio-active/commits?author=salehjafarli" title="Code">💻</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/marvoh"><img src="https://avatars.githubusercontent.com/u/5451142?v=4?s=100" width="100px;" alt="marvoh"/><br /><sub><b>marvoh</b></sub></a><br /><a href="https://github.com/deep5050/radio-active/commits?author=marvoh" title="Code">💻</a> <a href="https://github.com/deep5050/radio-active/issues?q=author%3Amarvoh" title="Bug reports">🐛</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

<div align=center>
<p>
<img src=https://stars.medv.io/deep5050/radio-active.svg align=center>
</p>
</div>



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/deep5050/radio-active",
    "name": "radio-active",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "pyradios wrapper radios api shortwave internet-radio cli app",
    "author": "Dipankar Pal",
    "author_email": "dipankarpal5050@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/9d/35/e323105817a338b0dbaa2c035bf55891624a4603059b896f68a2b479d75e/radio-active-2.9.1.tar.gz",
    "platform": null,
    "description": "<div align=center>\n<p align=center><img src=https://user-images.githubusercontent.com/27947066/267328833-3e81a98e-2acb-4291-89cb-f3f9bed6c299.png width=250px></p>\n<h1 align=center> RADIOACTIVE </h1>\n<p> SEARCH - PLAY - RECORD - REPEAT </p>\n\n<p align=center> Play and record any radio stations around the globe right from your terminal </p>\n\n<a href=\"https://www.producthunt.com/posts/radio-active?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-radio-active\" target=\"_blank\"><img src=\"https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=305380&theme=dark\" alt=\"radio-active - Play more than 30K radio stations from your terminal | Product Hunt\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /></a>\n\n <p align=center ><img align=center src=https://static.pepy.tech/personalized-badge/radio-active?period=total&units=international_system&left_color=black&right_color=green&left_text=TotalInstalls></p>\n <p>\n<img width=\"500px\" alt=\"UPI\" src=\"https://user-images.githubusercontent.com/27947066/235618869-8c9d9bce-096d-469e-8f61-c29cc01eacc3.png\">\n</p>\n\n<p align=center>\n<img align=center src=https://user-images.githubusercontent.com/27947066/271250790-291c02fa-e568-45c8-8097-72167a109b82.png  width=550px>\n<hr>\n<img alt=\"GitHub\" src=\"https://img.shields.io/github/license/deep5050/radio-active?style=for-the-badge\">\n<img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/radio-active?style=for-the-badge\">\n<img alt=\"PyPI - Downloads\" src=\"https://img.shields.io/pypi/dm/radio-active?style=for-the-badge\">\n<img alt=\"CodeFactor Grade\" src=\"https://img.shields.io/codefactor/grade/github/deep5050/radio-active/main?style=for-the-badge\">\n<a href=https://discord.gg/53rfebFyqK><img alt=\"Discord\" src=\"https://img.shields.io/discord/847703568949051392?style=for-the-badge\"></a>\n</p>\n\n<p align=center> <a href=https://www.youtube.com/watch?v=X-NfK5XbM90><img alt=\"YouTube Video Likes and Dislikes\" src=\"https://img.shields.io/youtube/likes/X-NfK5XbM90?style=social&withDislikes\"></a></p>\n<p align=center> <a href=https://discord.gg/53rfebFyqK> Join Discord Server </a></p>\n\n</div>\n\n\n### Features\n\n- [x] Supports more than 40K stations !! :radio:\n- [x] Record audio from live radio on demand :zap:\n- [x] Get song information on run-time \ud83c\udfb6\n- [x] Saves last station information\n- [x] Favorite stations :heart:\n- [x] Selection menu for favorite stations\n- [x] Supports user-added stations :wrench:\n- [x] Looks minimal and user-friendly\n- [x] Runs on Raspberry Pi\n- [x] Finds nearby stations\n- [x] Discovers stations by genre\n- [x] Discovers stations by language\n- [x] VLC, MPV player support\n- [x] Default config file\n- [ ] I'm feeling lucky! Play Random stations\n\n\n> See my progress \u27a1\ufe0f [here](https://github.com/users/deep5050/projects/5)\n\n### Why radioactive?\n\nWhile there are various CLI-based radio players like [PyRadio](https://github.com/coderholic/pyradio) and [TERA](https://github.com/shinokada/tera), Radioactive stands out for its simplicity. It's designed to work seamlessly right from the start. You don't need to be a hardcore Linux or Vim expert to enjoy radio stations with Radioactive. The goal of Radioactive is to offer a straightforward user interface that's easy to grasp and comes preconfigured, without unnecessary complexities.\n\n### In the Spotlight\n\nThe praise from YouTube channels and blogs underscores Radioactive's emergence as a top choice for radio enthusiasts. Its simple yet powerful features, make it a must-try application for radio lovers of all expertise levels. Discover the world of radio with ease \u2013 experience Radioactive today.\n\n1. See DistroTube YouTube channel talks about my app: https://www.youtube.com/watch?v=H7sf1RDFXpU&pp=ygUYcmFkaW9hY3RpdmUgcGxheWVyIHJhZGlv\n2. Ubunlog: https://ubunlog.com/en/radio-activate-an-application-to-listen-to-the-radio-from-the-terminal/\n3. LinuxLinks: https://www.linuxlinks.com/radio-active-listen-radio-terminal/3/\n4. Official entry in the RadioBrowser API: [https://www.radio-browser.info/users](https://www.radio-browser.info/users#:~:text=Sources-,radio%2Dactive,-Sources)\n5. ThingsAndStuff: https://wiki.thingsandstuff.org/Streaming#:~:text=com/billniakas/bash_radio_gr-,radio%2Dactive,-https%3A//github.com\n6. Awesome-stars: https://arbal.github.io/awesome-stars/#:~:text=deep5050/radio%2Dactive%20%2D%20Play%20any%20radios%20around%20the%20globe%20right%20from%20the%20terminal%20%3Azap%3A\n7. OpenSourceAgenda: https://www.opensourceagenda.com/projects/my-awesome-stars#:~:text=deep5050/radio%2Dactive%20%2D%20Play%20any%20radios%20around%20the%20globe%20right%20from%20the%20terminal%20%3Azap%3A\n\n\n### Install\n\nSimply run: `pip3 install --upgrade radio-active`\n\nI recommend installing it using `pipx install radio-active`\n\n#### TODO:\n\n- [ ] Create deb, rpm and exe packages\n- [ ] Add it to various Linux distribution package repositories.\n- [ ] Add to scoop, chocolately\n\n### External Dependency\n\nIt needs [FFmpeg](https://ffmpeg.org/download.html) to be installed on your\nsystem in order to record the audio\n\non Ubuntu-based system >= 20.04 Run\n\n```\nsudo apt update\nsudo apt install ffmpeg\n```\n\nFor other systems including Windows see the above link\n\n#### Installing FFmpeg\n\nFFmpeg is required for this program to work correctly. Install FFmpeg by following these steps:-\n\n- On Linux - <https://www.tecmint.com/install-ffmpeg-in-linux/>\n- On Windows - <https://www.wikihow.com/Install-FFmpeg-on-Windows>\n\n\n### Run\n\nSearch a station with `radio --search [STATION_NAME]` or simply `radio` :zap: to select from the favorite menu.\n\n### Tips\n\n1. Use a modern terminal emulator, otherwise the UI might break! (gets too ugly sometimes)\n2. On Windows, instead of the default Command Prompt, use the new Windows Terminal or web-based emulators like Hyper, Cmdr, Terminus, etc. for better UI\n3. Let the app run for at least 5 seconds (not a serious issue though, for better performance)\n\n\n### Demo\n\n<!-- <a align=center href=\"https://www.youtube.com/watch?v=X-NfK5XbM90\" target=\"_blank\"> <img align=center src=https://user-images.githubusercontent.com/27947066/267328820-f7264e02-edc1-46f3-9548-5dfb50a6627d.jpg /> </a>\n<hr> -->\n<a align=center href=\"https://asciinema.org/a/611668\" target=\"_blank\"><img src=\"https://asciinema.org/a/617580.svg\" /></a>\n\n\n### Options\n\n\n| Options            | Note     | Description                                    | Default       | Values                 |\n| ------------------ | -------- | ---------------------------------------------- | ------------- | ---------------------- |\n| (No Option)        | Optional | Select a station from menu to play             | False         |                        |\n| `--search`, `-S`   | Optional | Station name                                   | None          |                        |\n| `--play`, `-P`     | Optional | A station from fav list or url for direct play | None          |                        |\n| `--country`, `-C`  | Optional | Discover stations by country code              | False         |                        |\n| `--state`          | Optional | Discover stations by country state             | False         |                        |\n| `--language`       | optional | Discover stations by                           | False         |                        |\n| `--tag`            | Optional | Discover stations by tags/genre                | False         |                        |\n| `--uuid`, `-U`     | Optional | ID of the station                              | None          |                        |\n| `--record` , `-R`  | Optional | Record a station and save to file              | False         |                        |\n| `--filename`, `-N` | Optional | Filename to used to save the recorded audio    | None          |                        |\n| `--filepath`       | Optional | Path to save the recordings                    | <DEFAULT_DIR> |                        |\n| `--filetype`, `-T` | Optional | Format of the recording                        | mp3           | `mp3`,`auto`           |\n| `--last`           | Optional | Play last played station                       | False         |                        |\n| `--random`         | Optional | Play a random station from favorite list       | False         |                        |\n| `--sort`           | Optional | Sort the result page                           | votes         |                        |\n| `--filter`         | Optional | Filter search results                          | None          |                        |\n| `--limit`          | Optional | Limit the # of results in the Discover table   | 100           |                        |\n| `--volume` , `-V`  | Optional | Change the volume passed into ffplay           | 80            | [0-100]                |\n| `--favorite`, `-F` | Optional | Add current station to fav list                | False         |                        |\n| `--add` , `-A`     | Optional | Add an entry to fav list                       | False         |                        |\n| `--list`, `-W`     | Optional | Show fav list                                  | False         |                        |\n| `--remove`         | Optional | Remove entries from favorite list              | False         |                        |\n| `--flush`          | Optional | Remove all the entries from fav list           | False         |                        |\n| `--kill` , `-K`    | Optional | Kill background radios.                        | False         |                        |\n| `--loglevel`       | Optional | Log level of the program                       | Info          | `info`,  `warning`, `error`, `debug` |\n| `--player`         | Optional | Media player to use                            |  ffplay       | `vlc`, `mpv`, `ffplay`              |\n\n<hr>\n\n\n> **NOTE:** Once you save/play at least one station, invoking `radio` without any options will show a selection menu\n\n> `--search`, `-S`: Search for a station online.\n\n> `--play`, `-P`: You can pass an exact name from your favorite stations or alternatively pass any direct stream URL. This would bypass any user selection menu (useful when running from another script)\n\n> `--uuid`,`-U`: When station names are too long or confusing (or multiple\n> results for the same name) use the station's uuid to play. --uuid gets the\n> greater priority than `--search`. Example: 96444e20-0601-11e8-ae97-52543be04c81. type `u` on the runtime command to get the UUID of a station.\n\n> `--loglevel`,: Don't need to specify unless you are developing it. `info`, `warning`, `error`, `debug`\n\n> `-F`: Add the current station to your favorite list. Example: `-F my_fav_1`\n\n> `-A`: Add any stations to your list. You can add stations that are not currently available on our API. When adding a new station enter a name and direct URL to the audio stream.\n\n> `--limit`: Specify how many search results should be displayed.\n\n> `--filetype`: Specify the extension of the final recording file. default is `mp3`. you can provide `-T auto` to autodetect the codec and set file extension accordingly (in original form).\n\n> DEFAULT_DIR: is `/home/user/Music/radioactive`\n\n### Runtime Commands\n\nInput a command during the radio playback to perform an action. Available commands are:\n\n```\nEnter a command to perform an action: ?\n\nt/T/track: Current song name (track info)\nr/R/record: Record a station\nf/F/fav: Add station to favorite list\nrf/RF/recordfile: Specify a filename for the recording.\nh/H/help/?: Show this help message\nq/Q/quit: Quit radioactive\n```\n\n### Sort Parameters\n\nyou can sort the result page with these parameters:\n- `name` (default)\n- `votes` (based on user votes)\n- `codec`\n- `bitrate`\n- `lastcheckok` (active stations)\n- `lastchecktime` (recent active)\n- `clickcount` (total play count)\n- `clicktrend` (currently trending stations)\n- `random`\n\n### Filter Parameters\n\nFilter search results with `--filter`. Some possible expressions are\n- `--filter \"name=shows\"`\n- `--filter \"name=shows,talks,tv\"`\n- `--filter \"name!=news,shows\"`\n- `--filter \"country=in\"`\n- `--filter \"language=bengali,nepali\"`\n- `--filter \"bitrate>64\"`\n- `--filter \"votes<500\"`\n- `--filter \"codec=mp3\"`\n- `--filter \"tags!=rock,pop\"`\n\nAllowed operators are: \n\n-  `=`\n- `,`\n- `!=`\n- `>`\n- `<`\n- `&`\n\nAllowed keys are: `name`, `country` (countrycode as value), `language`, `bitrate`, `votes`, `codec`, `tags`\n\nProvide multiple filters at one go, use `&`\n\nA complex filter example: `--filter \"country!=CA&tags!=islamic,classical&votes>500\"`\n\n> NOTE: set `--limit` to a higher value while filtering results\n\n\n### Default Configs\n\nDefault configuration file is added into your home directory as `.radio-active-configs.ini`\n\n```bash\n[AppConfig]\nloglevel = info\nlimit = 100\nsort = votes\nfilter = none\nvolume = 80\nfilepath = /home/{user}/recordings/radioactive/\nfiletype = mp3\nplayer = ffplay\n```\n\nDo NOT modify the keys, only change the values. you can give any absolute or relative path as filepath.\n\n### Bonus Tips\n\n1. when using `rf`: you can force the recording to be in mp3 format by adding an extension to the file name. Example \"talk-show.mp3\". If you don't specify any extension it should auto-detect. Example \"new_show\"\n\n2. You don't have to pass the exact option name, a portion of it will also work. for example `--sea` for `--search`, `--coun` for `--country`, `--lim` for `--limit`\n\n3. It's better to leave the `--filetype` as mp3 when you need to record something quickly. The autocodec takes a few milliseconds extra to determine the codec.\n\n### Changes\n\nsee [CHANGELOG](./CHANGELOG.md)\n\n### Community\n\nShare you favorite list with our community \ud83c\udf10 \u27a1\ufe0f [Here](https://github.com/deep5050/radio-active/discussions/10)\n\n> Your favorite list `.radio-active-alias` is under your home directory as a hidden file :)\n\n\n### Support\n\n<p>\n<a href=https://deep5050.github.io/payme>Visit my contribution page for more payment options.\n</p>\n<p align=center><a href=\"https://www.buymeacoffee.com/deep5050\" target=\"_blank\"><img src=\"https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png\" alt=\"Buy Me A Coffee\" style=\"height: 40px !important;width: 117px !important;\" ></a></p>\n\n### Acknowledgements\n\n<div>Icons made by <a href=\"https://www.freepik.com\" title=\"Freepik\">Freepik</a> from <a href=\"https://www.flaticon.com/\" title=\"Flaticon\">www.flaticon.com</a></div>\n\n\n<div align=center>\n<img src=https://github.com/deep5050/random-shits-happen-here/assets/27947066/83d08065-c209-4012-abb7-9c0aa64d761b width=400px >\n<p align=center> Happy Listening </p>\n\n</div>\n\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://www.bjoli.com\"><img src=\"https://avatars.githubusercontent.com/u/48383?v=4?s=100\" width=\"100px;\" alt=\"Joe Smith\"/><br /><sub><b>Joe Smith</b></sub></a><br /><a href=\"https://github.com/deep5050/radio-active/commits?author=Yasumoto\" title=\"Tests\">\u26a0\ufe0f</a> <a href=\"https://github.com/deep5050/radio-active/commits?author=Yasumoto\" title=\"Code\">\ud83d\udcbb</a> <a href=\"#ideas-Yasumoto\" title=\"Ideas, Planning, & Feedback\">\ud83e\udd14</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/salehjafarli\"><img src=\"https://avatars.githubusercontent.com/u/81613563?v=4?s=100\" width=\"100px;\" alt=\"salehjafarli\"/><br /><sub><b>salehjafarli</b></sub></a><br /><a href=\"https://github.com/deep5050/radio-active/commits?author=salehjafarli\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/marvoh\"><img src=\"https://avatars.githubusercontent.com/u/5451142?v=4?s=100\" width=\"100px;\" alt=\"marvoh\"/><br /><sub><b>marvoh</b></sub></a><br /><a href=\"https://github.com/deep5050/radio-active/commits?author=marvoh\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/deep5050/radio-active/issues?q=author%3Amarvoh\" title=\"Bug reports\">\ud83d\udc1b</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n<div align=center>\n<p>\n<img src=https://stars.medv.io/deep5050/radio-active.svg align=center>\n</p>\n</div>\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Play and record any radio stations around the globe right from the terminal",
    "version": "2.9.1",
    "project_urls": {
        "Homepage": "https://github.com/deep5050/radio-active",
        "Source": "https://github.com/deep5050/radio-active/",
        "Upstream": "https://api.radio-browser.info/"
    },
    "split_keywords": [
        "pyradios",
        "wrapper",
        "radios",
        "api",
        "shortwave",
        "internet-radio",
        "cli",
        "app"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "71051305eb57c305245c14a18da24f678df43b63f0918fb3798e3fce4c02a407",
                "md5": "fdf9bacd7f54c02d19a01517a171961d",
                "sha256": "213e5fd12405f5b3a11c9903d717bcee16ef98c92dcb96c8fb2646c6eacb835d"
            },
            "downloads": -1,
            "filename": "radio_active-2.9.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fdf9bacd7f54c02d19a01517a171961d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 31800,
            "upload_time": "2024-01-07T06:17:24",
            "upload_time_iso_8601": "2024-01-07T06:17:24.816429Z",
            "url": "https://files.pythonhosted.org/packages/71/05/1305eb57c305245c14a18da24f678df43b63f0918fb3798e3fce4c02a407/radio_active-2.9.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9d35e323105817a338b0dbaa2c035bf55891624a4603059b896f68a2b479d75e",
                "md5": "965ff5ab0dbfc26282c25e60c6c3830a",
                "sha256": "00176718a6aebb0c4cc551c430817b570c53c5cae252ab355d1c01d4561c6096"
            },
            "downloads": -1,
            "filename": "radio-active-2.9.1.tar.gz",
            "has_sig": false,
            "md5_digest": "965ff5ab0dbfc26282c25e60c6c3830a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 28313,
            "upload_time": "2024-01-07T06:17:27",
            "upload_time_iso_8601": "2024-01-07T06:17:27.105687Z",
            "url": "https://files.pythonhosted.org/packages/9d/35/e323105817a338b0dbaa2c035bf55891624a4603059b896f68a2b479d75e/radio-active-2.9.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-07 06:17:27",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "deep5050",
    "github_project": "radio-active",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "lcname": "radio-active"
}
        
Elapsed time: 0.17399s