15 ms·
As the main developer of VLC, we know about this story since a long time, and this is just Dell putting crap components on their machine and blaming others. Any
by jbk 13y ago
As the main developer of VLC, we know about this story since a long time, and this is just Dell putting crap components on their machine and blaming others. Any discussion was impossible with them. So let me explain a bit...
In this case, VLC just uses the Windows APIs (DirectSound), and sends signed integers of 16bits (s16) to the Windows Kernel.
VLC allows amplification of the INPUT above the sound that was decoded. This is just like replay gain, broken codecs, badly recorded files or post-amplification and can lead to saturation.
But this is exactly the same if you put your mp3 file through Audacity and increase it and play with WMP, or if you put a DirectShow filter that amplifies the volume after your codec output.
For example, for a long time, VLC ac3 and mp3 codecs were too low (-6dB) compared to the reference output.
At worse, this will reduce the dynamics and saturate a lot, but this is not going to break your hardware.
VLC does not (and cannot) modify the OUTPUT volume to destroy the speakers. VLC is a Software using the OFFICIAL platforms APIs.
The issue here is that Dell sound cards output power (that can be approached by a factor of the quadratic of the amplitude) that Dell speakers cannot handle. Simply said, the sound card outputs at max 10W, and the speakers only can take 6W in, and neither their BIOS or drivers block this.
And as VLC is present on a lot of machines, it's simple to blame VLC. "Correlation does not mean causation" is something that seems too complex for cheap Dell support...
Maybe Dell should advise against playing Metal music and should only allow Céline Dion music, because Metal saturates more...
EDIT: more details...
PS: they even provide a BIOS update for the fix... So, of course, VLC was the issue... http://www.dell.com/support/troubleshooting/us/en/04/KCS/KcsArticles/ArticleView?c=us&l=en&s=bsd&docid=557836 http://www.dell.com/support/troubleshooting/us/en/04/KCS/Kcs...
- speeder 13y agoAny other manufacturer do that? (someone mentioned HP below) I am a VLC fan (thanks! I wish I was skilled enough to contribute to the project) and right now using a ASUS laptop, I want to know what manufacturers I should NOT buy from next time (I bought this ASUS because I tried to buy from DELL and their site was buggy and did not closed the transaction... good to me their site was buggy!)
- jbk 13y ago> Any other manufacturer do that? We heard about HP and Dell doing that, and ONLY in the version they shipped to India or South-East Asia (Do they ship worse components there?) > I wish I was skilled enough to contribute to the project There is a very high chance that you are skilled enough, to be honest.
- eru 13y agoEven if you don't know much, there's always grunt work to be done to get to know a project.
- xerophtye 13y ago> (Do they ship worse components there?) There is actually a chance that they might be, considering not all models are available in all regions, thus there are models that are marked for South-East Asia. So as a manufacturer, it's relatively easy for them to be biased. That said, vendors in South-East Asia have a history of being scammers and taking out original parts and replacing them with cheaper hardware, so that could be a cause too, and HP might be innocent.
- fnordfnordfnord 13y agoLow quality speakers and a poor hardware design. It isn't even a challenge to match amplifier output to speakers in such a way that the amplifier can't break the speaker. There are easily a dozen cheap ways to make this work properly that don't rely upon a probably non-existent WMP based solution. >VLC does not, and cannot modify the OUTPUT volume to destroy the speakers. That would be remarkable. >And as VLC is present on a lot of machines, it's simple to blame VLC. "Correlation does not mean causation" is something that seems too complex for cheap Dell support... It sounds like a #BOFH excuse.
- slacka 13y agoDell may be using poor quality parts. VLC can also make the sound louder than any other media player that I've used while generating destructive square clipping. The problem is it's too easy to set the volume above 100%. I've done so with the mouse wheel. And I now have a $2000 out-of-warranty laptop with blown speakers. Fixes could include: * Not remember settings above 100% between sessions unless an advanced option is checked that warns the user. * Require a double click on volume slider to go above 100%. VLC's high volume is a wonderful feature when you're listening to DTS or AAC movies encoded with the volume too low. It's just too easy to be accidentally abused.
- marcosdumay 13y agoThe problem is, repeating the article and the GP, that it can not be abused. Your computer was defective, and Dell is refusing to comply with the warranty. It's impossible for VLC to harm the speakers on a computer that is not defective. Ok, I like it being hard to set volume bigger than 100% at mplayer, it'll probably be a nice feature at VLC. But that's only because I don't like clipping, not because of any hardware issue.
- humbledrone 13y agoAudio 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).
- stcredzero 13y agoVLC allows amplification of the INPUT above the sound that was decoded. This is just like replay gain, broken codecs, badly recorded files or post-amplification and can lead to saturation. I have to say, there may be a UI issue here as well. I blare my speakers with VLC playback something like 5X times more often than QuickTime player or mplayer. I use all 3 with about equal frequency.
- brador 13y agoHow about detecting Dell Speakers and automatically setting the max volume to 100%, with a notification so the user can give an a-ok if they want to go higher. That way, at least users know and can make a decision. Similar to the Android warning if you set your volume too high that it could cause hearing damage. I'd prefer to be warned rather than surprised by this!
- jrockway 13y agoVLC doesn't do anything particularly interesting, though. There are plenty of CDs that already apply this filter to the music, meaning there's no way you can play that CD without damaging their speakers. The problem is simply that the Dell speakers are piles of shit.
- anaphor 13y agoYeah, this sort of dynamic range compression is standard for the music industry (sadly).
- stevenhuang 13y agoYou've missed the point..
- DrJokepu 13y agoAssuming the speakers are connected through an audio jack, is there a realiable way of detecting specific speaker models?
- lutusp 13y agoThe problem being discussed is by no means limited to Dell speakers -- it would be a problem for any small laptop speakers connected to an IC that can overdrive them under specific circumstances.
- marcosdumay 13y ago
- thewarrior 13y agoI wasn't aware of this and now the speaker on my 3 year old Dell Studio doesn't work properly. :( And here in India I hear people say that you shouldn't install VLC on laptops .. (even if its not a Dell laptop) !!
- ksec 13y agoArh, I remember all sort of speaker problem ages ago. Never got around to figure what was wrong. I suppose this is it. But does anyone have list of Manufacture that does provide speaker with BIOS Protection?. Does Apple do?
- ferongr 13y agoWhile I don't support Dell's decisions, digital (and analog) clipping can easily damage speakers driven at what is normally their maximum power they can handle, since the resulting clipped waveform carries a lot more energy than an unclipped one.
- guard-of-terra 13y agoNobody prevents the manufacturing to put some electronic bits before the speakers to cap the maximum power. Even better, teach the sound card to do that.
- ferongr 13y agoAnalog limiter ICs (that I know of) limit the signal according to input voltage, something that does not catch this issue. Furthermore, limiting power at the audio codec level would require for the codec to have that feature and I don't know of audio codecs with that capability.
- guard-of-terra 13y agoThen one should figure out why nobody needed this feature. I'm no expert but maybe it's actually possible to create speaker that doesn't go bad. (I could code the protection into the sound driver in half a day probably)
- TeMPOraL 13y ago> I'm no expert but maybe it's actually possible to create speaker that doesn't go bad. Of course it is, but nobody wants to do that; it's not profitable. * sigh * . I sometimes wonder how difficult would it be to create, say, a brand of kettles with lifetime warranty, designed to last 50+ years instead of 50+ weeks the ones we have do. How hard would it be to sell them and to what ends would the competition go to stop you from killing their market?
- 13y ago
- lutusp 13y ago> The issue here is that Dell sound cards output power (that can be approached by a factor of the quadratic of the amplitude) This is correct, and for those who want to know the technical reason, we can look at the Dell speakers (any speakers) as a resistive load (only approximately true). For a resistive load, the power increases as the square of the applied voltage, because the power in a resistor is equal to the voltage times the current, and both the voltage and current are increasing as the audio output level is increased. In terms of Ohm's Law: P = E^2/R.
- dzhiurgis 13y agoSomeone should upload video to YouTube with high gain and call it: "This video will void your Dell laptop speaker warranty" :)
- Zancarius 13y agoI can see it now... "Be aware that just having Youtube in your browser history is enough to deny your warranty."
- im3w1l 13y agoVoid your dell speaker warranty with this weird deprecated firefox-only javascript http://ge.tt/7Qln5fJ1/v/0 http://ge.tt/7Qln5fJ1/v/0 Porting it to Web Audio API is left as an exercise for the reader.
- grapeshot 13y agohttp://www.youtube.com/watch?v=hU7EHKFNMQg http://www.youtube.com/watch?v=hU7EHKFNMQg
- orig 13y ago"As the main developer of VLC". Sorry, but no: Rémi Denis-Courmont has contributed 2x more than you did.
- jokoon 13y agothanks for clarifying ! well I guess their support people are not engineers, only technicians, hope this blows back into DELL PR instead...
- joe_the_user 13y agoBack when I worked for a company that supplied crapware for preinstallation, I was given the impression that Dell and the other hardware supplies do lots of testing of their hardware/software configuration but in the most dumb-shit kind of way. The whole configuration is more or less treated like bucket chemistry - if you can get the desired combination to work, that's what you specify and exactly why it works or doesn't work won't be investigated. The thing about this is that such behavior makes sense when the suppliers are integrators of the product of twenty or fifty or however many suppliers spread around the globe all relentless trying to cut costs (including cutting corners in implementing whatever spec their chips are supposed to satisfy). The integration itself naturally involves putting together the cheapest stuff and seeing-if/hoping-that it will work. So when you have such a fragile chain of elements, just blank-refusing to allow substitutes makes sense in this rather twisted view. Maybe Windows Media Player fails to call the parts of the API that are "bad" and not documented as bad. Obviously, I'm not saying this approach is justified, simply that sometimes the irrationality is "sincere".
- chengiz 13y ago> The issue here is that Dell sound cards output power (that can be approached by a factor of the quadratic of the amplitude) that Dell speakers cannot handle. Simply said, the sound card outputs at max 10W, and the speakers only can take 6W in, and neither their BIOS or drivers block this. In other words, due to increase in amplitude, increasing volume over 100% can break the hardware? I am not trying to blame VLC, just that your statement "At worse, this will reduce the dynamics and saturate a lot, but this is not going to break your hardware" sounds a bit fallacious in the context of your own explanation.
- idProQuo 13y agoJust from this comment, it seems like you guys have a pretty interesting problem domain. I'm going to take a look at the VLC repo and see if there's anything I can contribute, thanks for getting me interested!
- dpe82 13y agoIf you do, I highly recommend The Computer Music Tutorial[0]. It's an older book but provides an excellent overview of how digital audio works. [0] http://www.amazon.com/gp/product/0262680823 http://www.amazon.com/gp/product/0262680823
- dpe82 13y ago> But this is exactly the same if you put your mp3 file through Audacity and increase it and play with WMP, or if you put a DirectShow filter that amplifies the volume after your codec output. Indeed, and doing that destroys audio equipment just as effectively. It's the reason apps like SoundForge, Audacity and others have clip warnings on their level monitors: so users don't create audio data that destroys listeners' equipment. The problem is VLC gives consumers (who, like you, don't know better) an exceptionally easy way to create clipped audio. Depending on the characteristics of the source, the degree of clipping VLC can create can destroy even pro equipment. If I were an engineer at Dell, I'd recommend denying warranty claims too.
- mikeash 13y agoI thought they warned about clipping because it sounds awful. There is no excuse, none, nada, zip, zilch, in 2014 for allowing userland software to generate signals powerful enough to damage built-in hardware.
- dpe82 13y agoAgreed in principal, however all the ways that could prevent rogue userland software from playing damaging audio (eg. using a limiter of some sort) would either distort or introduce quite a bit of delay to otherwise perfectly safe audio played by responsible software.
- mikeash 13y agoHow would it distort audio played by responsible software? Pick a limit where "100%" doesn't destroy the hardware. Enforce it. No distortion, done.
- dpe82 13y agoIt's more complex than that. Let me explain: Audio is typically passed into a soundcard's digital audio converter (DAC) as integers representing samples of the audio waveform. For example, a full volume sine wave looks something like this[0]. That signal is perfectly safe to play on any hardware. However, if you take that same sine wave and increase the amplitude you end up with values outside the valid range so you have to cap them. You get something that looks like this[1]. Lopping off the tops and bottoms of the waveform is clipping, and the newly created sharp edges in the waveform are what can damage your speaker. They require a ton of energy to play (producing heat) and in some cases can trigger the buildup of high frequency harmonic oscillations in your speaker's voice coil that can eventually crack it. More expensive speakers last longer but virtually all speakers eventually "blow" under such circumstances. The trouble is playing waveforms like that once in a while is totally ok and short bursts of very similar waveforms exist benignly in lots of stuff you listen to every day. And while it's trivial to know if you're creating clipped audio, it's very difficult (read: processor intensive) and error-prone to detect it after the fact. When you do detect it, your solutions are to either drastically lower the global volume so the edges have a lot less energy, or distort the waveform to make those edges more smooth. It's really, really hard to avoid false positives though and not end up "enforcing" against audio data that's natural and perfectly ok in moderation. [0] http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Pcm.svg/500px-Pcm.svg.png http://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/Pcm... [1] http://www.st-andrews.ac.uk/~www_pa/Scots_Guide/audio/clipping/fig1.gif http://www.st-andrews.ac.uk/~www_pa/Scots_Guide/audio/clippi...
- mkesper 13y agoAside from Dell's crappy hardware, wouldn't it be possible to just compress the sound more so quieter passages would become louder but those passages already near the maximum wouldn't get clipped? That should definitely sound better...
- fxsoap 13y agoDell can't agree with this without having to do a hardware recall or refund people. It is much easier to blame your software (and cheaper by a hundred million of dollars in bad press/computer returns/hardware thrown away/call centers dedicated to this issue/etc etc). Sad to see behavior like this