Radiorec
A small python script which records internet radio streams. (No streamripper required)
Install / Use
/learn @beedaddy/RadiorecREADME
Requirements
- Python 3.x with argparse (which is already included in Python >= 3.2)
Installation
- Copy the config file settings.ini into your local settings directory,
depending on which platform you are using this program, e.g.:
- Linux: $HOME/.config/radiorec/settings.ini or
- Windows: %LOCALAPPDATA%/radiorec/settings.ini or use the commandline option '-s' to specify the location of the settings.ini file.
- Adjust the settings to your needs. You can happily add more radio stations to the STATIONS section. !!! Check at least the the target_dir !!!
- The script file radiorec.py can be placed wherever you want.
Usage
Open a shell and go to the directory where radiorec.py is located. General usage:
- Windows: py radiorec.py […]
- Linux: python3 radiorec.py […] OR JUST ./radiorec.py […]
What you want to do first is getting some help about how to use the scipt: ./radiorec.py --help or get some help for the record command: ./radiorec.py record --help
There are two main commands: record and list.
Recording a radio station usually works as follows: ./radiorec.py record <station> <duration> [name] <station> is the radio station name, for example: dlf <duration> is how long the recording runs in minutes, for example: 60 [name] is not required and is (currently) just appended to the filename. Thus the command line is: ./radiorec.py record dlf 60 mytest
You can get a list of all known radio stations with: ./radiorec.py list You can edit/add the radio stations in the STATIONS section of the settings file.
Scheduling the recording task
Using Linux, you can use "at" for scheduling, for example: at 22:00 friday
/path/to/radiorec.py record dlf 60 mytest [CTRL-D]
The recording then starts on the upcoming friday at 10 pm. Please have a look at the manual page of "at" for more information about how to schedule your recording tasks.
Known problems
The Windows command line (cmd and powershell) still has problems with UTF-8. Using the --verbose option might cause the script to crash with an UnicodeEncodeError. If you want to avoid the crash, you have to do both, change the command line codepage and the font. For example, doing a "chcp 65001" and changing the font to "Lucidia Console" should help.
Acknowledgements
This project got inspiration from the dradio project by prometoys (https://github.com/prometoys/dradio). Thanks for that!
-- If you have any questions or suggestions (or bug reports!), feel free to use the github issue tracker: https://github.com/beedaddy/radiorec/issues
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
