9 ms·
Audio is generally handed over to the OS via a format called Pulse Code Modulation. This is a series of audio "samples", which in the Windows case are individua
by humbledrone 13y ago
Audio is generally handed over to the OS via a format called Pulse Code Modulation. This is a series of audio "samples", which in the Windows case are individual signed 16-bit integers. Typically each second of audio is broken into about 44,100 of these integers. Each integer represents the sound amplitude during a particular 1/44,100th of a second, with a large negative number (-32,768) being a small amplitude and a large positive number (32,767) being a big amplitude.
You can view PCM sample amplitude as telling the sound card how much power to apply to the circuit driving the speaker. A large amplitude means the speaker cone should move a lot, and small amplitude means it should stay nearly at rest.
So that means that the sound card has to interpret each of the signed 16-bit values and determine what kind of electrical signal it should output to the speakers to get the desired effect (sound). A sample with the highest signed 16-bit value (32,767) tells the sound card to produce its most powerful signal.
Now, in a laptop, the sound card and speakers are chosen by the manufacturer. Different sound cards can produce varying amounts of output power, and different speakers can handle varying amounts of input power. Obviously the speakers need to be chosen such that the sound card cannot produce more power than the speakers are rated to handle. (It sounds like Dell made a design error here.)
If the sound card and speaker choice is such that the speakers cannot handle the sound card's output power, then any audio software that produces signed 16 bit samples above some threshold (let's say 32,000) could damage the speakers.
So what audio software could produce such large amplitudes? ANY SOFTWARE AT ALL. Not just VLC. I could create a .wav file that was just a bunch of loud noise with amplitudes above 32,000, and it would destroy your speakers.
In fact, most well-mixed sound files will have at least one sample at the maximum amplitude. This is called normalization -- to provide the highest fidelity sound, you want to use the entire dynamic range of the PCM sound format, and thus ideally the loudest bit of the track should be exactly at 32,767. Lots of modern music uses a technique called compression ("dynamic compression," not to be confused with data compression) to make good use of the full dynamic range of PCM, which results in LOTS of samples at or near the maximum level.
On a correctly designed audio system, this is great! You get to hear audio with the fullest dynamic range that your equipment can produce. If your system has been designed incorrectly, though, you'll blow out your speakers. But that could happen due to ANY SOFTWARE AT ALL, not just VLC.
If you really want to buy crappy Dell hardware and not blow out the incorrectly designed audio system, you should permanently decrease your global Windows volume level. That will put a hard cap on the PCM amplitude levels sent to the sound card, and thus will cap how much power is sent to the speakers.
Blame Dell. VLC has exactly nothing to do with your problems. The "volume above 100%" feature is not dangerous on a properly designed audio system (like 99.99% of computers out there).
- slacka 13y agoI do blame Dell for my blown speakers. I also do like VLC's feature to boost audio in quiet movies. What I don't like is is the sound of digital clipping, how VLC makes it easy to clip, and how VLC remembers these terrible settings.
- humbledrone 13y agoIt's exactly as easy to decrease VLC's audio level back to normal as it is to increase it. Anyway if you don't like it remembering the last audio level, go to Tools > Preferences > Audio, check the "Always reset audio start level to" box, and set it to 100%. Voila!
- thelukester 13y agoNo, VLC should remember the last audio level, just not when it's over 100%. If I leave it at 50%. On next restart it should be 50%. If I'm watching a movie and finish on 200%, on next restart it should be 100%. Clipping sucks. VLC shouldn't remember these options unless the user changes an optional setting.
- fnordfnordfnord 13y agoJeez, start VLC with an alias if it bothers you that much.
- dfc 13y agoI have to be honest, setting "do not remember audio" sounds like a decent compromise between not getting anything that you want and getting exactly what you want. It is especially appealing since you get VLC and this compromise solution for free. However if you are still not satisfied: $ git clone git://git.videolan.org/vlc.git $ cd vlc $ ack-grep -r resetVolumeCheckbox ./ $ emacs modules/gui/qt4/components/simple_preferences.cpp $ git format-patch -o patches origin $ git send-email --to vlc-devel@videolan.org patches
- IE5point5 13y agoJesus christ, what you really want is the moon on a stick.