Products & Newsletters
Nice PAD
Tech Tips, Dec 2009
Nice PAD
Transmitting program-associated data (PAD) — also called program-specific data (PSD) — has become a standard practice for many stations. With RBDS and HD Radio receivers being more common, stations that do not transmit this data are at a disadvantage. Some stations want to provide the data stream, but don't think they have the resources to do it themselves.
Porting a data stream to an RBDS encoder of HD Radio importer often requires some kind of conversion step. There are commercial products and services to do this, but it can be done in house.
Rob Landry has prepared a Perl script that does it. He currently has it running on two Boston-area stations. Landry notes that it would be easy to modify the script to read an XML file as well.
The script is running on WUMB-FM 91.9 Boston and on WCRB 99.5 Lowell, MA. Because WCRB does not provide scrolling PS but only Radiotext, the WCRB script is different than the WUMB script. The scripts are posted online.
interpring.com/downloads/xmtr.txt
interpring.com/downloads/studio.txt
This script was originally developed for RBDS at the old WCRB 102.5 Waltham, MA. In January 2006 he installed HD Radio at WCRB and added PAD capability to the script. He also developed a version for SPS PAD that ran on WCRB's HD2 channel until the station was sold to Greater Media.
SPS PAD uses a different port (4444) and TCP instead of UDP. He had long been using Perl scripts on Linux boxes to manage file uploads and downloads, backups, remote voice tracking and the music library for the old WCRB and its former sister stations. I chose GNU/Linux because it is a low-cost, low-maintenance operating system that runs reliably on hand-me-down hardware, and it is easy to add scripts to implement new features.
He runs the script on a box at the transmitter site to feed PAD and RBDS from a file uploaded by one of two scripts at the studio that have access to the studio automation system and the music library database. All the scripts monitor themselves by spawning child processes; the child does the work, and the parent monitors the child. If the child crashes, the parent will spawn a new one, so data flow will not be interrupted.
Landry notes, “You may notice in xmtr.txt a variable $MGC that is assigned a string of hexadecimal values used in forming the ID3 tags for PAD. I found these by looking at the output of an Ibiquity demo program. I don't know what they are, but the tags weren't readable without them, so I included them with a comment describing them as ‘magical incantation.’”
We need your tips!
Ideas submitted to Tech Tips may be suitable to earn SBE recertification credits.
Do you have a tech tip? Send it to us at radio@RadioMagOnline.com
Acceptable Use Policy blog comments powered by Disqus
[an error occurred while processing this directive]
Today in Radio History
Milestones From Radio's Past
The history of radio broadcasting extends beyond the work of a few famous inventors.
EAS Information More on EAS
NWS XML/Atom Feed for CAP Messages
The feed provides feeds for all US states and territories.
Wallpaper Calendar
Radio 2013 Calendar Wallpaper
Need a calendar for your computer desktop? Use one of ours.
The Wire
A virtual press conference
Information from manufacturers and associations about industry news, products, technology and business announcements.
Current Issue
Noise Elimination at WKSU's Akron News Bureau
This high-visibility and high-traffic area got the full acoustic treatment.
Browse Back Issues
[an error occurred while processing this directive]Also in the May Issue
Sections







