RadioGram
Console Radio Broadcast Management System
Version: 1.0a
Author: Jason Page
Started: Thanksgiving Day 2020
License: GPL-3+
Overview
RadioGram is a comprehensive radio broadcast system designed for console Linux environments. It provides professional radio automation capabilities including music rotation, scheduling, live input, and streaming - all from a text-based interface.
Features
- Automated Music Rotation - Uses MPD (Music Player Daemon) for playlist management
- Scheduler - Schedule content to play at specific dates and times
- Sound Pad - 0-9 programmable pads for live sound effects
- Live Microphone - Space bar toggles microphone input on/off
- Streaming - Built-in Icecast/Shoutcast encoder support
- Rotation System - Automatic jingle and commercial insertion
- Device Selection - Choose input/output audio devices on the fly
- MPD Configuration - Full control over MPD connection settings
Quick Start
- Ensure MPD is running:
bash
systemctl --user start mpd
Run radiogram from any directory:
bash
radiogram
Press 'C' to configure:
- Set up streaming (option 1)
- Select audio devices (options 2-3)
- Configure rotation/shuffle (option 4)
- Configure MPD connection (option 5)
Press 'H' for help on keyboard controls
Installation
From .deb Package
bash
sudo dpkg -i radiogram1.0aamd64.deb
sudo apt-get install -f # Install dependencies if needed
Dependencies
mpd - Music Player Daemon
mpc - MPD command-line client
mpv - Media player
ffmpeg - Audio encoding for streaming
alsa-utils - Audio device utilities
Configuration Files
RadioGram stores configuration in the current working directory:
radiogram.cfg - Main configuration (audio devices, streaming, MPD settings)
radiogram.sch - Scheduler entries (date/time and file paths)
radiogram.pad - Sound pad mappings (pads 0-9)
radiogram.lst - Current playlist file path
~/Music/pads/ - Default location for sound pad audio files
Keyboard Controls
| Key | Action |
|-----|--------|
|
SPACE | Toggle microphone on/off |
|
ENTER | Add scheduled content |
|
1-9 | Play sound pad 1-9 |
|
SHIFT+1-9 | Program sound pad 1-9 |
|
ALT+1-9 | Preview sound pad 1-9 |
|
C | Configuration menu |
|
R | Rotation/shuffle configuration |
|
E | Toggle streaming encoder |
|
S | Set/remove config lock |
|
H | Help |
|
A | About |
|
Q or
ESC | Quit program |
|
UP/DOWN | Change output device |
|
LEFT/RIGHT | Change input device |
MPD Setup
RadioGram requires MPD (Music Player Daemon) to be installed and running.
Install MPD:
bash
sudo apt install mpd mpc
Configure MPD (usually in ~/.config/mpd/mpd.conf or /etc/mpd.conf)
Start MPD:
bash
systemctl --user enable --now mpd
In RadioGram, press 'C' then '5' to configure MPD connection:
- Host: localhost (or remote IP)
- Port: 6600 (default)
- Music Directory: /path/to/music (optional)
Streaming Setup
To stream to an Icecast/Shoutcast server:
Press 'C' for config, then '1' for stream configuration
Enter server URL (without http://)
Enter port (default 8000)
Enter mount point (e.g., /stream)
Enter bitrate (e.g., 128)
Enter source password
Choose 'Y' to enable streaming immediately
Press 'E' to toggle the encoder on/off during operation.
Rotation/Shuffle Mode
To set up automatic music rotation with jingles and commercials:
Press 'R' for rotation configuration
Set Music Folder - Browse to your music library
Set Jingle Folder - Browse to jingles directory
Set Commercial Folder - Browse to commercials directory
Set Jingle Interval - Play jingle every X songs
Set Commercial Interval - Play commercial every X songs
Press 'S' to start shuffle mode
Supported Audio Formats
MP3, WAV, OGG, FLAC, M4A (via MPV and MPD)
Troubleshooting
If you encounter issues:
Check system messages in the status line at the bottom of the screen
Verify MPD is running: mpc status
Check audio devices: arecord -L and aplay -L
Ensure sound files are accessible and in supported formats
Check /tmp/radiogram_*.err files for error details
Tips
Use ALT+1-9 to preview sound pads before triggering them live
Set a config lock password (press 'S') to prevent accidental changes
The scheduler uses format: MM-DD-YYYY HH:MM:SS
Audio files in sound pads should be short (under 30 seconds recommended)
For best streaming quality, use 128kbps or higher bitrate
Contact
Author: Jason Page
Email: jsp@pagetelegram.com
Source: https://github.com/pagetelegram/radiogram
License
RadioGram is free software licensed under the GNU General Public License version 3 or later (GPL-3+).
See
/usr/share/doc/radiogram/copyright for full license information.
---
RadioGram - Professional radio automation for the console