Automatic volume control puts the kibosh on loud TV commercials

automatic-tv-volume-control

If you’re having a hard time tuning out those loud commercials why not let your electronics project do it for you? This is an Arduino-based setup which adjusts television volume when it goes above a certain threshold. It uses a microphone, rather than a direct audio signal, so you can set it based on what is actually heard in the room.

The control scheme uses the IR LED and IR receiver seen on the breadboarded circuit above. The receiver lets you teach your volume up and down buttons from your remote control to the system. The one failing we see in the design is that the volume level is hard-coded, requiring you to flash new code to make adjustments (perhaps an enterprising reader could add a potentiometer for making easy adjustments?).

We can’t help but be reminded of the setup which reads the closed caption info to mute topics you’ve added to a blacklist.

Comments

  1. Rogier says:

    I think it would be much nicer to “teach” the system by taking volume samples for a few minutes. If the volume then suddenly goes above that threshold it should lower. Then you might get a nicer transition on any volume lever.

    • Dax says:

      There’s a sneaky trick that TV commercials use called compression, which is exactly the same they use to make CDs louder without actually making the volume go higher, because they’re already turning it to 11.

      It’s basically blasting you with a wall of sound where every sound from the smallest to the loudest is boosted up to the maximum level allowed by standards bodies that dictate how much louder the TV commercials can be. So instead of one sound that occasionally peaks at 75 dB you get a constant cacophony of sounds all at exactly the maximum allowed amplitude, and it also handily bypasses any naive sound level measuring system because it doesn’t actually increase the amplitude of the signal – it just makes it constantly that loud at every possible frequency they have.

      • Rob says:

        So then the solution is to take a “naive sound level measuring system”, and add a modulation (density) detector. Determine a normalization curve based on modulation percentage (i.e., if your target is 60% modulation at line level (600mV/10kOhms) , then 100% modulation might require line level being attenuated to, say, 475mV, or whatever…, with the intermediate values tracing a curve correlating with listener comfort). Allow for that curve to be adjusted until you find a best ratio of comfort to audible detectability (can you tell that the level has been dropped/raised? if so, you’re changing it to rapidly or going in steps that are too coarse). Do this with an in-line circuit. Then, use the microphone sampled circuit described in the article for fine control that’s most similar to what you’re actually hearing. Compression isn’t any particular challenge to deal with once you get a grasp of what its behaviors are. :-)

  2. Josh D says:

    It’s too bad, the permanent fix is already out…

    http://en.wikipedia.org/wiki/Commercial_Advertisement_Loudness_Mitigation_Act

    • pin13 says:

      Regrettably, this is not the case is most countries.

      • jim22 says:

        US companies normally ignore laws until the penalty is severe. The penalty is not severe yet and many US companies are ignoring this law. Today 2014, February, I hear loud ad by GEICO on Colbert Report and I hear loud ad by Charter on Youtube.com. I sometimes call these companies, GEICO and Charter and tell them that I am boycotting their products. If everyone boycotted the loud companies, they would change their ways.

  3. echodelta says:

    It is supposed to be law now in the US that this won’t happen anymore, yeah right. What about ads during a golf game. (he putts……birdie) now for our sponsors who know how to MODULATE for a full delivery in a voiceover. The only thing needing regulating is the max level to FCC specs. Compression to one boring constant volume level is what is left in the volume wars. What would a war flic be without bang. We did have several cable channels that had low audio consistently, the local insert ads were at full level. The main gripe here is poor level of the program.
    Mute and power off are the two must-use buttons of broadcast TV.
    An interesting effect of this project would quell the sports scoring orgasms in the room, I wish I had this growing up.

  4. n0lkk says:

    I recall years ago one of the electronics hobbyist magazine had a project that muted the audio during a commercial. I can’t recall it actually determined the beginning, and of the commercial. I do want to think it was a momentary blanking of the screen, but I’m not sure. Whatever it was most likely it wouldn’t work in the digital era.

    • Derf says:

      Sure, the networks send tones down to the local stations to tell them where to insert commercials into the broadcast. Same as national radio broadcasts, sometimes you hear the tones slip through, sometimes not. But the artifact that caused the commercial to start is in there.

    • Tim says:

      I remember using gb-pvr to record TV shows and then automatically remove commercials using some plugin. It worked flawlessly. Could this be done in realtime to black the screen or perhaps just mute when a commercial is detected? I recall the plugin taking cues from the cuts between commercials and the actual program. I can’t recall the plugin’s name though :P

  5. pff says:

    You don’t need to reprogram a different volume level, just move it further away from the TV.
    What you may need is a way to turn the volume back up after the ad break.

  6. HackJack says:

    Very interesting project. But I actually have something else in mind. Instead of lowering the volume base on noise, I wish it can raise the volume base on ambient noise. One example is the volume inside a vehicle, if the road is noisy, crank up the volume. Otherwise, lower it.

  7. pin13 says:

    Hi Mike, Thanks for sharing my project. Following up on your suggestion, one thing I should have mentioned is that the sound sensor I am using from Seeed Studio already has a built in pot to control the sensor’s sensitivity. http://www.seeedstudio.com/depot/grove-sound-sensor-p-752.html

  8. Ejonesss says:

    i thought there was a law in place to do the same things

  9. Vonskippy says:

    People still watch television in realtime with ad’s – how quaint (and mind numbing).

  10. Johnny O. Farnen says:

    Many TVs for the last decade or so have a built in AVL- automatic volume leveling setting, but honestly I never heard of one that actually worked. I honestly do not see how this version could be any better.

  11. Nunya Bidness says:

    I don’t see why you would need this- none of the shows on The Pirate Bay have commercials.

    Is there some other ad-supported method of obtaining TV programs that I don’t know about?

  12. Ferdinand says:

    Automatic volume control? You mean like a compressor? http://en.wikipedia.org/wiki/Dynamic_range_compression

    • chikinpotpi says:

      The I’ve thought about this, but the issue is that most people use HDMI for everything now and digging the audio channel out of that to pipe to an outboard compressor and then putting it back in would be a chore… For a while i used the TOSLINK out on my set top box into a DA converter, into a recording studio compressor, into a AD converter into the TOSLINK on my receiver. I managed to rig it up from spare parts in my recording studio, not a hacker/budget friendly solution to say the least.

      Ive seen some perl scripts that analyze the level to which the audio is compressed, mostly used to critique the current state of the music industry. If there was a way to reliably identify highly compressed signals you could use that to know when commercials are playing. Then you could either turn down the audio or jump ahead on the dvr until the mega compression stops.

      The law doesn’t stop them from compressing, it just limits the max volume, the obnoxiousness and the ear strain come from the fact that EVERYTHING is the same volume.

      ..end rant.

  13. I think it’s rude when people don’t take the time to read prior comments or visit the project page before asking questions or making assumptions that have already been addressed.

  14. Just switch of those damn brainwash-machines and everything is fine…
    or at least put an unused laptop with wireless mouse and keyboard at it…

  15. Even without commercials this has great potential.
    I can’t tell you how many times I’ve been watching a movie, have to turn it up because I can’t hear the conversation then BOOM, jump to loud action scene. Turn it back down and repeat cycle for 90 minutes.

  16. Frederik says:

    Did a project with a raspberry pi sampling the audio stream with a input on an usb soundcard, sending it to a server doing ffi and matching up against known commercials and returning a false or true, which made the rpi mute the sound output on the usb soundcard. It would then unmute the output again when the ffi failed to recognize a commercial. It actually worked very well however I do not have the patience to “learn” the system by recording and tagging all commercials.

  17. Whatnot says:

    I was recently at a supermarket, so they play some soothing music on the background when suddenly they do one of their ads for what’s on sale, and it’s much louder than the music.
    I was WTF NO.. Not in supermarkets too .

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 96,693 other followers