0

To my understanding, .wav file is a list of numbers ranging from -1 to 1 (at least, if you are using a java class called WavFile to convert an array into a .wav file, the array must have values between -1 and 1). When you play a .wav file, those numbers are turned into voltages on your soundcard.

I have never tried this for the safety of my equipment, but if a .wav file was all 1's (max voltage), would your soundcard snap to full output voltage for the duration of the file? This would be very dangerous for headphones and receivers that the soundcard might be connected to, and it may be dangerous to the soundcard itself.

What I'm wondering is whether or not there is some built-in protection from this event in Windows OS.

4

1 回答 1

3

It depends on the amplifier you use, typically the one in the sound card. To have any effect at all it would need to be direct-coupled. That's not common, most amplifiers are AC-coupled and block any DC offset on the signal to prevent the speaker from overheating.

Think of it as a high-pass filter, your WAV file has in effect a sound with a frequency of 0. You won't hear anything, your ear can only perceive signals with a frequency between about 20 and 20,000 Hertz. Nature's analog version of the Fast Fourier Transform. Except when you start playing, you'll get a sudden spike from 0 to max. Which produces a lot of high frequencies in the spectrum, you'll perceive this as a tick or pop.

Destroying equipment with data is an urban myth. A simple workaround is to not turn the volume to 11.

于 2013-04-21T16:01:54.687 回答