I’m sick of hearing about overexposed personalities like Kim Kardashian and Sarah Palin, so I came up with this Arduino-based solution to mute my TV anytime these celebrities are mentioned. I call it The Enough Already. It reads the closed-captioning text that’s piggybacked on your TV signal, scanning for whatever keywords you choose. Build one and it can mute the audio whenever your keywords appear, or even turn off the TV altogether!
I have nothing against Donald Trump and Kim Kardashian, but in the summer of 2011, I was getting rather sick of hearing about both of them. Donald Trump was deciding whether or not to run for president and Kim Kardashian was planning her (ill-fated) wedding. At the same time, I was experimenting with the video signals that came through the composite video output of my cable box. Since my TV was on much of that time, I was starting to get a little sick of hearing people talk about them and decided I needed to develop a way to filter them out.
During my experimentation, I learned that the closed-captioning text transcriptions that are broadcast for the hearing impaired are sent along with the picture signal. I used Nootropic Design’s Video Experimenter Shield for Arduino and their accompanying tutorial to decode the closed captioning text, and then I used Ladyada’s infrared tutorial to learn how to mimic my remote control’s mute command to silence the television’s audio when certain keywords were mentioned. For me, it was TRUMP, KARDASHIAN, and SHEEN. Of course, you can have your version of Enough Already mute the audio based on whatever keywords you like. You could also have it turn off the TV altogether.
The Enough Already combines the code for two existing Arduino tutorials with a little bit of added code to watch for keywords and control the timing of the mute commands. In order to read the closed captioning data, Nootropic Design provides an excellent tutorial for their Video Experimenter Shield for Arduino. Combined with Ladyada’s tutorial on receiving and transmitting infrared commands, the Enough Already can control the TV based on the words that are spoken during the broadcast.
You’ve probably seen closed-captioning text transcriptions before, if not on your own TV, then on a muted TV in a bar or restaurant. Most modern NTSC televisions are capable of decoding this text data that’s transmitted along with the picture signal in a broadcast. NTSC picture signal contains 525 lines: 486 are the viewable picture and the rest are used for synchronization (the vertical blanking interval) and for data. The Electronic Industries Alliance’s specification, EIA-608, defines how closed captioning data is transmitted on line 21 of the video signal, outside of the viewable picture. Two characters can be transmitted per field and there are two fields (odd and even lines) per frame. Since NTSC runs at 29.97 frames per second, it’s fast enough to send the closed captioning text.
While NTSC has been mostly phased out by digital broadcast standards, cable boxes and digital converters output NTSC video in order to accommodate older televisions. These converters also convert closed captioning data to the EIA-608 standard.