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...
Low 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...
Dell 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.
The 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.
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).
It is not that simple. The speaker is a dynamic system whose response to signals is not memoryless. A speaker that can easily handle a pure 4kHz tone at the maximum amplitude cannot necessarily also handle a 4kHz square wave at the maximum amplitude (a square wave distributes much of its power into harmonics). It is well known that you can destroy speakers just as easily by overdriving the output stage of the power amplifier (which leads to clipping) than by overdriving the speakers themselves.
Of course, Dell could include analogue filtering circuitry to filter out the excess power in inaudible frequencies if they wanted to.
>Of course, Dell could include analogue filtering circuitry to filter out the excess power in inaudible frequencies if they wanted to.
It likely isn't necessary as it is probably built into the output amplifier. I have no clue what audio amplifier dell used but here is an example of a typical headphone amplifier IC http://www.ti.com/lit/ds/symlink/lm4881.pdf
If you look on page 9 of the datasheet you'll see its frequency response. The attenuation is > -20dB past 15kHz at best. You aren't going to get much of a square wave above 1.5 kHz, and probably not below if you look at the response of the speaker.
I 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.
It'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!
While any software that accesses an audio interface using integer formats, VLC is to my knowledge the only average user-oriented program that can end up in such situations.
I would suggest VLC disables this feature for new installs and move it to an easily discoverable preference.
Or if they really care enough to allow their users to boost the volume levels of quiet movies to replace the gain multiplication with a proper dynamic range compressor activated when the volume goes above 100%.
> VLC is to my knowledge the only average user-oriented program that can end up in such situations
Windows Media Player, Firefox, iTunes, ...
VLC makes it easier (you can boost a quiet song or movie until it fills the OS-defined dynamic range) but a loud song in any other piece of music playing software would have the same effect. Depending on the genres of music you listen to, it's not uncommon to come across songs that have been boosted until they clip.
As for hiding the option in preferences, volume boosting is one of VLC's key value propositions to laypeople (in my experience). Making it undiscoverable would be a disaster. Maybe add a 1-off warning dialog for users on Dell computers?
If Dell isn't going to honor the warranty if I listen to my favorite square-wave music, they should state "ONLY SINE WAVES ALLOWED" clearly in the advertising material.
Actually it's not that a simple matter as simple output voltage clipping. Most audio amplifiers are AC coupled and only the AC parts of a signal actually carry power. So it would be perfectly possible to have a sine signal with its samples all between 32000 and 32767 that would do no damage at all to the speakers, because the AC power it carries is low (-38.63dB(FS) to be specific in your case).
But it's not just the total AC power that matters, it's also the power density that matters. So for example a sine has a very high power density (in fact if you do the math, the power density for a pure sine is infinite). This is turn means, that whatever resonances the system has, that overlap with the frequency of the sine, they will get excited and can resonate toward mechanical breakdown (damaged speaker). A low power density signal, like noise, where the total output power is spread over the whole spectrum (or the spectral response of the system in question) and below the maximum rated power of the speaker is much less likely to do damage.
Now we have to look at clipping. Analog clipping is not just some random noise, it's in fact a harmonic distortion. And as such it can redistribute the power in the spectrum. And digital clipping actually causes an integer overflow, which in fact adds further power to the signal.
But it goes further: The output of a DAC is a voltage. A voltage by itself does not carry power, you need an amplifier to do that. So the first step after the DAC and after the reconstruction filter (which also acts as a DC block) is a transimpedance amplifier that turns the voltage into a power signal; what this means is, that for a signal of a certain power that's going into a certain load it gives rise to a specific RMS voltage on the load terminals. In audio the reference power level is usually 0dB(m), i.e. 1mW – on the typical load impedance of 1kOhm this corresponds to a RMS voltage of 1V at the load (and higher voltage at higher impedance, lower voltage on lower impedance loads).
In a perfect amplifier the impedance is independent from the input signal and its output load. In a real amplifier though the impedance can vary depending on the signal and the output load. And the impedance usually also depends on the frequency of the signal.The effect is, that an amplifier introduces further harmonic distortions, if the signal puts too much power onto its input. If this happens in the preamplifier stage this can drive an output stage outside the specifications of the connected loads.
You see, because distortion happens mostly if you drive an amplifier close to it's maximum capabilities the usual approach is to design the amplifier some comfortable margin to the needs for the connected load; typically you use a margin around 6dB, so for a 6W load you'd choose a 12W amplifier, so that no matter what input signal the amp gets, the total harmonic distortion stays within safe limits. To protect the load you then choose the amplification factor so, that for a reference power input signal the output power is lower than or equal to the power for which the load is rated.
Now say, you're a cheapskate engineer, maybe with little analogue electronic design experience. So you see your speakers have a maximum rating of 6W. So you do a parametric search and come up with amplifier ICs from the usual suspects (Maxim, TI, ST); they're rated a 5W, 10W, 15W...; obviously cannot drive those 6W speakers at maximum power (it will badly distort), but 10W should do the trick, right?
Well, now, because you forgot the total harmonic distortion: Which means that if you raise the input signal power by 6dB (i.e. double the power) the output of an amplifier may rise well over 6dB. So lets say you had first a signal output power of 2.5W for a -6dB(FS) signal, then you raise it to 0dB(FS) (which would be your volume slider in the control applet at 100%), theoretically the output signal should now be 5W. But because of the underrated amplifier the output distorts and the actual power going into the load rises well above their maximum 6W rating.
TL:DR; Dell did mess up their amplifier design, but not by overrating the amplifier, but by underrating it. If they had chosen a properly rated with margin (so that THD stays low) amplifier and chosen the gain so that a 0dB(m) line signal would have produced 6W output power (about 15dB gain) the speakers would have been safe.
While it is likely true that most laptop speakers are crap, overdriving the power amp or any condition that causes clipping even at lower volumes can lead to cracked voicecoils which in turn produce distorted sound. In the old days we just used to push in on a driver and you could easily feel the broken voicecoil. clipping = death
While 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.
True, but VLC actually applies soft limiting when set to above 100%, so that hard clipping never occurs. I use this feature alot, it's great for taking down the usually thunderous sound effects in hollywood movies a few notches, while keeping quiet scenes at hearable levels.
> ... the resulting clipped waveform carries a lot more energy than an unclipped one.
Is this claim actually true?
My understanding is that if you take a waveform and clip it, the resulting waveform actually carries less energy (think of the corresponding integral), but more of that energy is pushed into the higher frequencies. It's this – the unexpectedly large amount of high-frequency energy – that kills speakers because their crossover networks push it into the tiny, tiny tweeters, and they are utterly unprepared for it.
>> ... the resulting clipped waveform carries a lot more energy than an unclipped one.
> Is this claim actually true?
Yes, it is -- but it depends on how we define "clipped".
> My understanding is that if you take a waveform and clip it, the resulting waveform actually carries less energy (think of the corresponding integral)
Only if the clipping reduces the peak value. If you compare a sinewave with a peak value of 1, and a square wave with a peak value of 1, the square wave has a substantially higher average level (with a ratio of pi / 2).
> It's this – the unexpectedly large amount of high-frequency energy – that kills speakers because their crossover networks push it into the tiny, tiny tweeters, and they are utterly unprepared for it.
Yes -- the rate at which the speaker cones are required to move is an additional factor. But for a "clipping" definition that clips by means of trying to exceed the available voltage, these two effects add.
In the above linked image, the red trace is sin(x), the integral for the interval 0 < x < pi is 2. The green trace produces an integral of pi. The ratio of the two is pi/2, and the speaker power difference is (pi/2)^2 = 2.46 (because the speaker's power is the square of the applied voltage).
The green trace is what you would get if you simply turned up the volume beyond any reasonable setting -- the amplifier produces a clipped version of the sine wave and the peak value is equal to the supply voltage.
I don't know of any widely used definition of "clipping", nor any definition that fits the context of this discussion, that allows for a signal's peak value not to be reduced. It's called clipping because the extreme values look to have been clipped away, as if by scissors. The parts that have been clipped away contain energy, don't they? So won't the clipped signal will carry less energy than the original?
When you take a sine wave of peak value 1 and clip it, what you get is not a square wave with a peak value of 1. Rather, you get a peak-truncated sine wave in which values in excess of the clipping threshold V are replaced with the clipping threshold. There's less power in this clipped sine wave than in the original because min(V, |sin t|) <= |sin t| for all t.
> I don't know of any widely used definition of "clipping",
But there is one. In electrical engineering, it's any process that arbitrarily limits a signal's amplitude. By far the most common meaning is a signal that exceeds the voltage range of an amplifier or signal pathway.
> nor any definition that fits the context of this discussion, that allows for a signal's peak value not to be reduced.
See above.
> It's called clipping because the extreme values look to have been clipped away, as if by scissors.
Yes, but this can result from trying to pass a signal too large for the circuit, or it can mean an intentional scheme in which a fixed signal amplitude is truncated, the meaning you're discussing.
In the present discussion, in which a volume setting is increased until the speakers are jeopardized, the meaning is clear -- it's an increase in signal amplitude that the amplifier cannot support, resulting in the waveform being clipped at the maximum available amplifier voltage.
> The parts that have been clipped away contain energy, don't they? So won't the clipped signal will carry less energy than the original?
Not if the signal amplitude is increased. In the present discussion, the problem is being caused by raising the volume level too high, which causes the signal to exceed the available amplifier voltage. My diagram shows this case:
The red trace is the maximum volume setting that the amplifier can support without distorting the signal. The green trace is a much higher volume setting that essentially reduced the output to a square wave. In both cases, the peak voltage is the same.
> When you take a sine wave of peak value 1 and clip it, what you get is not a square wave with a peak value of 1.
That depends on how you define "clip". If you increase the size of the sinewave, clipping takes place at the maximum voltage. If you clip by reducing the possible range of voltages, the sinewave remains the same size but maximum amplitude goes down. The present discussion revolves around the first of these choices.
Nobody 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.
A square wave has twice the power of a sine wave of identical amplitude.
This is why distorting the amplifiers (especially digital clipping) is so much worse for speakers than overpowering the speakers. This is a very well known fact in audio circles.
Playing metal at full volume is not as damaging as playing anything intensely digitally clipped at full volume.
Yes, Dell is putting on shitty speakers on their laptops, (what else is new), but VLC should be amplifying the output using level-limiting (hard-limiting), which would effectively bring all the quiet parts to be just as loud as the loud parts, instead of just digitally clipping the output.
>A square wave has twice the power of a sine wave of identical amplitude.
1.41 x
>Playing metal at full volume is not as damaging as playing anything intensely digitally clipped at full volume.
The output of the amplifier really ought to be bandwidth limited either as a natural consequence of the components used or explicitly with a filter. It is silly to spend power on things that can't be heard.
Assuming the parent is talking about equal maximum amplitude of the sine and square waves, the square wave RMS voltage will be sqrt(2), or 1.4, times the sine wave RMS voltage. And since power is proportional to voltage squared, the square wave will carry sqrt(2)^2, or 2, times the sine wave power.
>> A square wave has twice the power of a sine wave of identical amplitude.
> 1.41 x
Yes, for a voltage of x, but remember that the speaker is a resistance, for which the power varies as x^2/r (Ohm's law: p = e^2/r), So the original claim is correct.
Most metal released these days is digitally clipped. Even classic old 80s "remastered" records are digitally clipping all over the place. The loudness wars has ruined most metal through remasters.
Ah yes, the death of dynamics in music! One horrendous offender that I own is Paul McCartney's Memory Almost Full. I think he remastered it and rereleased it but there isn't a chance that I'm spending my money on it again! I think the mastering engineer discovered the joys of gain and hard knee in compressors.
>but VLC should be amplifying the output using level-limiting (hard-limiting), which would effectively bring all the quiet parts to be just as loud as the loud parts, instead of just digitally clipping the output.
That's compression, not hard-limiting. Hard limiting would leave the quiet parts quiet relative to the loud parts. It would only crush them if they were not enough dynamics in the first place.
So would compression. The implication is that after you hard limit, you also increase the overall volume, such that the limit threshold of -Xdb is now 0db. Otherwise, there is no point to hard limit.
I actually never seen VLC clip sound that much on volumes > 100%.
Maybe if your speakers are very quiet and crappy and you have to get every control to 100% (hardware, system, vlc) in order to hear anything - maybe in this case it will.
Hard clipping is very noticeable for the listener so not many people will set it to the maximum if they have choice.
Anyway, you can protect from this either in hardware or in the driver.
Analog 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.
Cheap shit. Seriously, cheap shit. There are several ways to solve this, all of which boil down to "use more chips" or "use better speakers", thus increasing the price of already incredibly shitty speakers. Source: I'm involved in designing consumer electronic products and the only corners that don't get cut are those that, if cut, result in certifications not being granted and therefore in products you're unable to sell. Everyone, Apple included, does it.
The easiest way to solve this is use stronger materials for the speaker construction. This does, yes, affect the quality of the sound, which is already somewhere between catastrophic and abysmal on a laptop. The frequency response is likely to be worse, on a set of speakers that already has a frequency response that makes them quite useless for music.
You can also do it in electronics, as measuring the power delivered to speakers is not exactly rocket science. The response time wouldn't be great, but it's continuously shredding the speakers with square signals that damages them, not a couple of pulses every once in a while. You can also detect heavy slopes. You can even detect heavy slopes in software.
But no, seriously, this is a problem that can be solved. The mere fact that a lot of manufacturers manage to come up with speakers that don't break should be a testimony to this. I have (granted, desktop) speakers that have gone through a decade of heavy metal, grindcore and fucking SIDs and MODs, on bad ALSA drivers that I could barely get to work for years. They're fine. This is just Dell selling cheap shit.
This is great information - and I'd love to know which speaker manufacturers you approve of. I'd rather own an expensive set of desktop speakers that lasts ten years than deal with Dell parts breaking all the time.
> 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?
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.
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.
> 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.
Any 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!)
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.
Back 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".
How 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!
That's impractical. VLC is just using the standard OS API to send some sound to speakers. Can you imagine every piece of software checking for every piece of esoteric hardware and having some special behavior?
Maybe Microsoft could regulate the output for junk speakers, but really, Dell is the one to blame here.
> Can you imagine every piece of software checking for every piece of esoteric hardware and having some special behavior?
This is what MS Office does. A Microsoft engineer told me once that because many printers lie to the OS about their capabilities, they built a giant lookup table into the Office, that basically consists of "if printer model X, vendor Y and firmware Z, then don't trust it about the fonts onboard, render the text before sending instead".
I remember back in the day doing DirectDraw/Direct3D programming, I had to have lots of "if video card type == x, then ignore these capabilities and do this other thing instead" hacks. A much bigger issue back then when we had more than three video card manufacturers. (it's still a minor issue today ... nVidia cards tend to be way more permissive about OpenGL calls than AMD cards. But I can afford two discrete cards and one onboard chipset.)
It's so completely impractical for a hobbyist project to own every possible piece of hardware, or at least a huge majority of it. Yet it's nothing for a Fortune 500 company to do the same.
Really slants the playing field away from independent software developers.
Impractical and impossible are of course two different things. It's sort of funny to consider a scenario in which a manufacturer adds a thermistor to the speaker coil assembly to measure the temperature & lower the amplifier output via the BIOS as the temperature in the voice coil rises to a dangerous level. I suspect that might cost more than using good speakers in the first place but then again if there's limited room for speakers which would lead to heat buildup in the voice coil such a solution might be practical.
VLC 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.
The 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.
> 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.
Dell 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).
Aside 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...
Just 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!
> 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.
Agreed 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.
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.
I bought a Dell M1330 laptop a few years ago and the speakers were crap even by laptop standards. This was fine with me, since I planned to use headphones. Unfortunately, the audio output was just as crappy! It had an insanely high noise-floor! I had to get a USB DAC/head-phone amp to make things acceptable. Lesson learned: Dell sucks at audio.
If the speakers in a consumer device like a laptop can be damaged by maxing the volume then the laptop was not properly designed. This isn't a case of a nutty audiophile mixing and matching unknown preamps, amps, and speakers and managing to blow some cones by cranking it to 11. Dell has complete control over the selection of components in this laptop and, if they cared to, could include circuitry to limit power beneath a point that will damage the speakers. They didn't. Alternatively, they could eschew a limiter and select speaker components beefy enough to handle the maximum voltage that their DAC's can output. They didn't. Bad design.
If Dell did the math and decided the number of users noticing permanent speaker damage would be small enough that the reduced part costs would outweigh the price of the resulting warranty service, that's their decision. However, they should be on the hook to fix damaged caused by their cheap/poor design.
VLC is incapable of increasing the actual power past 100%, all that is being done is the waveform is being modified to be louder within the allowed constraints. If this wrecks the speaker, any other non-VLCed sound could just as easily, and the speakers are therefore underpowered for the laptops internal amplifier. Class action sounds in order.
Also many mastering engineers do the exact same thing to make the music "louder" because the record label/artists demand it. Maybe Dell should start making popular rock/pop music void the warranty as well.
Well, mastering engineers rarely heavily clip audio (ok, Death Magnetic, but that's an exception rather than the rule). What they do is apply heavy dynamic range compression. Even in cases the signal clips lightly, it probably won't do much damage (if at all) since the peaks are transient.
On the other hand, a movie with lots of low frequency content (explosions and stuff) whose audio is clipping will damage the small full range speakers since most of the audio energy is concentrated at the very low frequencies (where the signal has a lot of power) and the peaks are long.
I was being kind of tongue in cheek. But you're right, most mastering engineers are competent enough to avoid clipping everything. Although you'd be surprised at the amount of music that has clipping at a few points here and there if you start listening for it (unfortunately audacity doesn't help much here since it will lie about clipping if it's exactly at the max).
Anytime I call tech support, I'm running Windows 7 or 8.1 (depending on which they support) with antivirus installed, firewall on, and the latest MSIE. Hardware does not include an ssd unless that's the item I'm calling about. I will also pretend trying to restart my system and router. Good to know I should add Windows Media Player to the list.
Don't forget that your laptop hasn't moved from the table where you unpacked it in months, you are located in a hermetically sealed, temperature and humidity controlled room, the laptop has absolutely no software on it other then the software it came with (updated to the latest version, of course), and on normal days you simply turn it on and lightly brush it's casing. Come to think about it, maybe skip the part about turning it on, that could be grounds for voiding the warranty.
I'm surprised that I can't find any mention of the fact that this behavior is simply illegal, beyond the blatant technical stupidity. The Magnuson-Moss warranty act in the US prohibits voiding a warranty simply due to the use of third-party parts, unless those parts can actually be demonstrated to be the cause of the problem. The mere presence of a part is not enough. They'd have to show that your use of VLC actually caused this failure, and since I doubt they're keeping the sort of logs that can show that, they have no case.
Companies like to talk about "voiding the warranty" for all kinds of stupid stuff, and consumers don't know their rights so they often get away with it, but what the law allows is considerably more constrained.
That kind of amplitude abuse is the equivalent of pounding very hard on the keyboard for long periods of time - it will break sooner than it would normally have, and can rightfully be considered abuse. However, voiding the warranty simply because of VLC installed is, again, the equivalent of voiding the keyboard warranty simply because you are a bodybuilder.
If I am understanding this correctly, a specially crafted mp3 file, played in Windows Media Player or similar, could cause the same symptoms that Dell is indicating VLC could create. Surely that would be considered a totally normal operating condition that the speakers should be tolerant against. It may be heavy use, but does that mean it is abuse?
Likely not an mp3 because most of the super high frequencies that result from digital clipping wouldn't be encoded in an mp3. Most encoders do a low pass filter as their first step (getting rid of most of the problem) and then smooth out the rest of the waveform when compressing it.
It's possible, however, to create raw PCM that will destroy a lot of consumer equipment if played long and loud enough. VLC basically gives consumers a way to do that and labels it a feature.
Not so fast, I see no car metaphor yet. And there is no comparison of Dell's practices to those of Hitler or the Nazis, either. We are far from 'enough' metaphors, my friend.
The fact that it's being driven internally is a major difference.
Imagine if this was some crazy keyboard which could actually press keys automatically using a motor. Then imagine if the drivers and hardware allowed you to destroy the keyboard by pushing the motor too hard. This would be obviously crazy and the ability to write userland software that destroys built-in hardware should not result in a denied warranty.
When the Samsung ARM Chromebook came out, people quickly found that careless tinkering with alsamixer caused the speakers to overheat and melt the case as a result of being driven with a high DC current. A driver update blocked the control causing the damaging signal routing.
They didn't bother to put $0.001 DC blocking capacitors on the DAC outputs? This isn't a "bug in the kernel" or any software, it's a clear hardware flaw.
But when you're buying them in quantities that a company like Samsung would (that above link is, amusingly enough, to ones that Samsung themselves make), the price drops off rather steeply. $0.001USD is around what I can find for buying them from China in 100Ku.
I left the reply in jest. But while we're here. Capacitors vary widely in price by type, capacitance, and quality. A 1uF multilayer ceramic is probably one of the most common and cheapest to buy capacitors there is, except maybe the .01uF. Output coupling of an audio amplifier requires a lot more capacitance than ceramics can muster. That cap, if present is going to be an electrolytic, and it is going to cost more than $0.001 or even $0.01 at qty. Although I'm reading that direct coupled amplifiers are all the rage these days, probably so they can get the expensive electrolytics off the BOM.
I have the schematics for my laptop and it has 1uF ceramics on the speaker PA inputs, that's why I linked to that particular one. The other common values I've seen are 2u2 and 4u7, which is a little more expensive but will give more bass --- not that it really matters on a tinny little laptop speaker anyway. At least I'm happy to know that I won't burn out the speakers on my laptop with DC.
In professional audio (and even amateur radio) one always puts speakers rated for 1.5x the nominal output of the amp. At least. This makes sure that whatever the input in the amp, the speakers are safe.
If Dell doesn't build audio properly, how can they blame the users? They really have some gut...
I was always taught the opposite rule for PA amps - they should be rated higher than the speakers, as per http://books.google.co.uk/books?id=dWILAAAAQBAJ&pg=PA118&dq=..., http://www.sweetwater.com/insync/power-amp-buying-guide/#mat... or similar. The reasoning being that a lower power amp would have to run flat out, and clip, which pushes a lot of energy into the HF drivers. Safer for the tweeters to have a more powerful amp which is not run into clipping, even if some peaks exceed the cabinet's rated power.
The VLC volume control has always terrified me, I wish it would have AGC or at least a soft limiter when pushed above 100%. I've seen people watch films with it cranked up to 200% and the system volume turned down to compensate :(
Dell support and policies are utterly broken. I had a Dell Vostro which worked fine except at one time it started emitting fumes when running a CPU intensive task. I was denied warranty because I was running Linux!
All products eventually approach "if you use this product for anything at all, it voids the warranty". How fast they get there is an indication of the integrety (and managerial health) of the company behind them.
In my country (Norway) we are already protected better by law than the warranty in most cases, so what producers say will void it is often meaningless.
If Dell said VLC was installed so warranty is void, I'd say I want the computer fixed as a "reklamasjon"-case, and so they can't hide between stupid rules like this. This also means that we are allowed to swap RAM, CPU's etc. in our computers without fear of not getting the computer fixed if it later breaks down for unrelated reasons.
It would probably either cost more or the speakers would have a lower peak volume.
I don't think it is a wild compromise to make some assumptions about the sounds people will play through the speakers (and it's not like a spec relating the max energy/time is going to help most shoppers).
Well, it's also a wild compromise to say the warranty is void by installing popular software. If they would instead say, the warranty is void if you go above such and so threshold for such and so long (no matter with what software), that would make sense, but this, just seems a cheap way of making the warranty unexistent.
Anyway, a moderator from Dell replied that you can contact him if Dell refuses to give support just by seeing VLC installed, so maybe it's better than it seems.
Seems pretty bogus, sure you can damage a speaker hooked directly up to some audio source, but there so many components between the DirectSound API and the speaker that making a system that can be damaged using the OS API's seems quite lame.
So basically, Dell's crappy speaker/amp design can't handle square waves at full volume. I suppose you shouldn't listen to loud chip-tunes either, then.
This is particularly amusing to me, as someone who regularly enjoys more... extreme genres of music that features lots of distortion and hard clipping. My no-name cheap Chinese speakers and headphones haven't died because of it, in fact my ears probably have less tolerance than the hardware.
I used to work for Dell tech support, and I used to install VLC on customer's machines all the time..woops. At that time there was no rule against it and we generally assumed that software couldn't damage hardware. When I worked there, Dell seemed to have one of the more lenient warranty policies of any company.
I had once faced the exact same issue once in Mar 2009, so all I did was called them again after some time from a different number and using a different name and told them that No, VLC was not installed. And I got my warranty upheld and speaker replaced.
This is insane. It's like saying LibreOffice can ruin your HDD, keyboard or some other BS that they can come up with. I have a Dell XPS M1530, it is five and a half years old and I remember the speakers blowing out in 2009. I got them covered under the warranty no problem. I know I am in the minority when saying that I like Dell and their support, I have had other problems and they have had no problem fixing them. This my start to change my mind...
What is the current status of the vulnerability in VLC Media Player reported by Secunia? I see that there has been some online discussion of this in places outside Hacker News (which I searched the other day for more information about Secunia's vulnerability report).
I have tried to update VLC Media Player on one machine on my home network, and the update fails, suggesting that the VLC Media Player installation on that computer may already be compromised by malware (which has previously been detected on that machine). What is the recommendation for current VLC Media Player users to make sure that they have a recently updated, reasonably safe installation of VLC Media Player that doesn't open up their computer to other vulnerabilities?
Secunia reports that I need to update VLC Media Player on a computer from which I recently removed a lot of malware (with the help of Malware Bytes, of which I have a purchased copy on that computer). I installed Secunia on the same computer, and it has not been able to do its update of VLC Media Player, nor have I been able to get an update of that to install by going directly to the VLC Media Player website and downloading the latest version. That is worrisome.
Would I be better off just completely uninstalling VLC Media Player?
AFTER EDIT: I might have considered a direct answer to my question (whatever the answer was) more helpful than a silent downvote to what was, after all, just a polite response to a question that someone asked me.
AFTER FURTHER EDIT: After some more rebooting of the previously infected computer, the operating system and Secunia both report that VLC Media Player version 2.1.3 is installed, and that is not reported to have any problem by Secunia. So I will leave that alone. The computer from which I usually post to HN, a different computer on the same home network, does not have VLC Media Player installed. I try to keep a close-to-bare-stock set of installed programs on this computer, but other users in my household (= teenage boys who aspire to be hackers) tend to install programs I've never heard of on the other computer on our home network, and my wife, who has other things on her mind, occasionally doesn't notice installations of crapware or adware or bloatware that tag along with legitimate program updates on that computer. So that other computer tends to be the vector for malware attacks on the home network here. Thanks for any further comments participants here have on how to keep a home network safe when not all users follow strict quarantine policies.
If DELL is right that would mean even if I craft a sound file with a very high amplitude, play it with another software, it should not damage the speakers.
I would have thought windows could limitate the amplitude of the sound sent to the hardware, maybe VLC is somehow bypassing this.
I once acquired an audio geologic recording of the tragic Christmas Eve tsunami in Indonesia. It was an interesting listen, with a lot of bass/sub-base frequencies. Played at what seemed a reasonable listening volume, it managed to destroy my iPod headphones. Seems some sounds can be inherently damaging to less robust equipment when seemingly operated well within sensible limits.
(The replacement of said headphones cemented my appreciation of Apple: at a time Apple wasn't selling headphones alone, upon my consternation of not being able to buy a set, a clerk ripped open a random box and handed me new headphones gratis.)
This is why I use VLC. On the white polycarb apple macbooks the audio is really quiet. VLC made it useful by allowing me to turn the audio up louder (up to 200%). No damage to speakers here.
Speakers are built to be able to withstand short peaks with high power to reflect the dynamic in the music or your movie. This is what is abused to be able to play loud sounds continuously. You could take the possibility to do that away, but then you would of course also remove some of the dynamics out of the music.
But of course, the people that burn their speakers this way don't care about dynamics or evidently about sound quality if they press their computer speakers like this. Can't sound not even a little good.
Not sure if you've ever owned a Dell laptop, but I'll never buy one again. On a couple of occasions I have tried to play DVD's on them and cannot hear people talking with the volume up. Put headphones on and its too loud. Dell speakers are junk.
I've owned two. Both "died" shortly (very shortly) after the warranty expired. On both, the connector from the mobo to the power input cracked right off (I never yanked, dropped, or otherwise abused them. Just normal use.) I could fix it, but it was a pain, and the stress points didn't change, so it just happened again.
On the second, the screen began to go at 14 months. I would never by consumer electronics from Dell again.
I've watched a number of films on a Macbook Air without that particular problem.
They are still terrible speakers, though. I almost laughed when showing a friend Star Wars for the first time; it doesn't even come close to doing the soundtrack justice.
No. I have a System76 Ubuntu laptop and the speaker quality is excellent. Plays music nicely and sound is clear and crisp. How many quality laptops do you have experience with?
Never had a System76, but I've owned a few Asus and a Toshiba and when I lived with 5 other people in college, the topic came up and we all agreed on the quality of our respective laptop speakers. Of course I was in college quite a while ago.
If it was a fundamental problem like you indicate, then every manufacturer would be hit by it, from Apple to Lenovo. It rather seems a problem of Dell using shoddy components and/or not issuing a driver that protects the speaker from the amp.
Thats what limiters are for. The whole point of hard clipping is that +256 or -256 (or the 16bit equivalent) is below the point at which your speakers, amps, cabling or anything else starts to melt.
The red trace is a normal audio signal that doesn't exceed the dynamic range of the amplifier. The green trace is an example of the kind of signal one gets by turning the volume up way above normal.
In a hypothetical speaker of one ohm and a peak voltage of one volt, the red trace has a time-averaged power level of 1/2 watt. The green trace has a power level of one watt -- twice as high, and possibly too high for the speakers to tolerate.
> Speakers/amps should have DC protection builtin.
This example should show that this isn't possible without taking the temperature of the speaker's activation coil -- and even that might not work.
DC protection = a <$0.01 capacitor. The bigger the value, the lower the frequency cutoff. A square wave passing through a high-pass filter gets cut off and the power is reduced.
IMHO everyone who is saying "this should be fixed by software" is doing it wrong. How much would it cost to write, test, debug, etc. the appropriate firmware/drivers? And it would still be subject to "warranty is void because you didn't use the right software". That cost could buy a lot of capacitors... and then if the values were chosen correctly, whatever the software does, it would not be able to put more power through the speaker than designed.
An analogue bandpass filter could be used. Passing a square wave through such a filter will remove much of the power present at inaudible frequencies. Unfortunately, they also require bulky inductors/capacitors.
Couldn't he codec chip do it by averaging the amplitude? I'm not sure if they are more than a DAY though or whether they have a microcontroller and firmware.
> Couldn't he codec chip do it by averaging the amplitude?
Yes in principle, but it would be rather complicated -- it would need to have its own microprocessor just to save the speaker. D/A ICs with included amplifiers are already pretty complex. Also, if a user was listening to music that had an occasional high level, the special limiter might kick in and spoil the sound of the audio for a transient that wouldn't actually jeopardize the speakers.
Whether it can damage the speakers depends on whether your sound system is defective. Dell deliberately ships defective speakers and doesn't cover the defects in its warranty. But it's not like the speakers will notify VLC of this fact, though.
Yes it does. It makes too simple for non-techical user to make the signal distorted. Distorted signal can damage a speaker, even in low volume. It's irrelevat to blame "the others do it too".
I've seen it happen many times in meetings.
1. Presenter shows a video and volume is low.
2. Presenter adds volume from VLC to 200% and sound signal gets distorted.
3. Sound is awful, no-one can hear anything and people are doing nothing to fix it, because they think that speakers are broken.
Please VLC, fix your player so that it has good sounding limiter on the "output". It's not difficult.
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/Kcs...