As a radio listener I find commercial breaks to be incredibly frustrating. It's not because I have a general dislike for advertising, it's because my radio of choice happens to be my computer and on some of the streams I listen to, ad breaks regularly cut in and out at the wrong times. Here is a common listener experience:
The on-air host teases the audience by announcing that an interesting segment will be coming up right after a few messages.
Ears perk up in anticipation.
An ad begins: "We're having the biggest sale ever wi..."
Ad insertion kicks in with a new set of ads, targeted for the Internet audience.
This leaves the listener confused. "What just happened? What is the big sale event for?"
Frustration is further fueled when the ad insertion break ends and the listener discovers he has joined the interesting segment partway through.
This type of experience hurts radio advertisers, diminishes radio brands and encourages listeners to explore other options like Pandora.
A complicated problem
The source of this problem originates at the studio where audio and metadata go through separate process chains before they are joined together by the live streaming encoder. For instance, the audio feed needs to go through signal processing and PPM encoding equipment before it can be encoded into an Internet stream. Because the audio feed consists of only raw PCM audio, more information is needed by the streaming encoder to determine what song is playing as well as when commercial breaks begin and end. This metadata information comes from the radio automation system, which can be configured to signal the streaming encoder on event changes with now playing information.
The Listen Later interface shows clearly separated events produced with the Smooth Spots algorithm.
Streaming audio encoders are responsible for inserting ad replacement cues into the stream based on metadata information. This creates an extremely challenging problem where the encoder must synchronize a raw audio feed that arrives through one chain of processes with metadata signals that originate from a separate place. The problem is further complicated by the large variety of different automation systems that are available. Some of the older systems make ad replacement particularly challenging, as metadata output features was designed for RDS encoders and now playing sections on station websites where timing is not that critical. On these legacy systems, a metadata cue may come at precisely the right time on one event change and be delayed by a second or two on the next update. This is not a big deal for a station website but when this data is being relied on to handle precise ad insertion timing it creates a big problem.
Some automation systems send data directly over UDP and TCP, which provide consistent timing, but others use protocols such as HTTP, FTP, Windows File Shares and even serial cable connections, which can delay the transmission process and impact ad insertion timing. The data itself is sometimes encapsulated in standards-compliant XML, other times it arrives in uniquely formatted XML, comma separated lists, HTML with tables and several other proprietary formats. The amount of data can range from just a mere Title and Artist truncated to 28 characters to 100kB files with full stack updates listing every song queued up for the next hour with normalization levels, song descriptions and millisecond-precise durations on each event. This enormity of possible combinations requires streaming encoders to use complicated parsers that can add further latency to the ad insertion cueing process.
- continued on page 2