Summary of IS YOUR MOVIE TOO LOUD? CAN’T HEAR THE DIALOGUE? THIS CIRCUIT CAN HELP.
This article describes an Arduino-based automatic volume adjuster designed to lower movie volume during loud music and restore it for dialogue. The system uses an IR LED to mimic remote signals, a microphone circuit with an ADC-adjusted Pro Micro to sample audio up to 20 kHz, and two potentiometers to set sensitivity and response speed. An algorithm distinguishes between brief loud noises and sustained music to trigger volume changes automatically.
Parts used in the Automatic Volume Adjuster:
- Arduino Pro Micro
- IRremote library
- IR LED
- Microphone
- Amplifier circuit
- Analog pins (on Arduino)
- ADC Prescaler (configured setting)
- Potentiometer (first)
- Potentiometer (second)
Everyone loves watching movies, that is, so long as you can hear what the characters on screen are saying. [GreatScott] found this second part difficult while watching through BladeRunner 2049, so he designed an automatic volume adjuster to assist.

At a high level, the solution is fairly straightforward; when there is loud music playing in a movie, turn the volume down. The challenge is how to actually achieve that. The first step was controlling the volume. To avoid having to modify or damage his sound system, [GreatScott] opted instead to mimic the volume up and down signals of his remote over IR. Using the very handy IRremote library for Arduino and its built-in decoding functionality, he was able to identify and replicate the signals with his own IR LED.
The second step in this process was measuring the volume of the movie. [GreatScott] achieved this with a microphone and amplifier circuit, that was then piped into one of the analog pins of the Arduino Pro Micro at the heart of the build. Since the audio being sampled could have a frequency as high as 20 kHz, the ADC Prescaler had to be adjusted from its standard value, which would have only permitted measurements at less than 5 kHz.
The third step was writing the algorithm to detect loud music and adjust the volume accordingly. The Arduino will measure the audio until a sound greater than the dead band value, set with one of the two onboard potentiometers, is detected. This then triggers the Arduino to start a timer, to see how frequently the upper limit is being surpassed. If it is just one or two occasionally loud noises (like a scream, a clap, whistling, etc.) the Arduino will not take any action, but multiple loud noises in rapid succession will then trigger the volume down command over the IR LED. A second potentiometer allows for adjustment of this timer’s critical value, so that you can make the system respond faster or slower depending on the movie.
Once the sound has been detected to have dropped down below a critical vaue, the Arduino assumes that the movie is back to dialog and will increase the volume by the number of times it decreased it before, leaving you back at the perfect volume.
Maybe you’re the type that cares more for the visuals of a movie, rather than the audio. In that case, this e-paper movie display will be perfect for giving you time to appreciate every frame!
Source: IS YOUR MOVIE TOO LOUD? CAN’T HEAR THE DIALOGUE? THIS CIRCUIT CAN HELP.
- How does the system control the volume without modifying the sound system?
The system mimics the volume up and down signals of the original remote over IR using an IR LED. - What hardware component is used to measure the volume of the movie?
A microphone and amplifier circuit are used to pipe audio into one of the analog pins of the Arduino Pro Micro. - Why was the ADC Prescaler adjusted from its standard value?
The standard value only permitted measurements at less than 5 kHz, but the audio being sampled could have a frequency as high as 20 kHz. - Can the system distinguish between loud music and occasional loud noises like screams?
Yes, the algorithm triggers a timer to see how frequently the upper limit is surpassed; single or occasional loud noises do not trigger action. - What happens if multiple loud noises occur in rapid succession?
Multiple loud noises in rapid succession will trigger the volume down command over the IR LED. - How can a user adjust the responsiveness of the system?
A second potentiometer allows for adjustment of the timer's critical value so the system responds faster or slower depending on the movie. - When does the system increase the volume back to the previous level?
The system increases the volume once the sound drops below a critical value, assuming the movie is back to dialogue.
