In case you haven't already, ensure all inputs have been disabled and are not part of the mix you are recording. Just because you are recording what is being sent to the DAC, doesn't mean Windows hasn't already mixed in some electrical noise on an input. In fact, I would disable the input completely and lower the recording volume on the mix to zero.
To determine if the issue is hardware or driver related, I would install a different OS on a temporary drive, or boot from a USB key (https://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows).
If the problem goes away then it is a driver issue and you may have a chance of fixing it by manually installing an different driver version, or even a generic one if it exists. There is still a small possibility that it's a hardware bug uncovered by a driver-specific feature.
If the problem persists then it's quite likely a hardware bug. I would still check where in the boot process the noise starts (power on, after hardware init and POST, during OS bootup, after the first OS sound plays, after application start). If it's after the OS starts then you may have some luck with drivers. If it's before OS startup, then there is likely not much you can do, save for a firmware update.
Good luck!
Update 1
I have recreated your results using the following steps:
- Record the speaker output using WASAPI
- Export the file to a WAV file
- Open the saved file
- Amplify +50db
The result is a significant amount of noise and the spectrum analysis has the same shape as yours.
I have also recreated the result using these steps:
- Generate 30s of silence in Audacity
- Export the file to a WAV file
- Open the saved file
- Amplify +50db
Conclusion: The sound you see is generated by the algorithm that saves the file. The sound you hear is generated elsewhere, probably typical line noise.
As proof, try recording your speaker output and before saving apply amplification. If you are using the latest Audacity you will get a value overflow error b/c it can't handle amplifying complete silence. If you have at least one non-zero value in the selection, the amplification works.
Update 2
Further proof: Try saving your recording as 64 bit raw data, and then importing it again. For me this results in a file with no noise, that cannot be amplified again.
Perhaps a simple solution would be to use pulseaudio-equalizer
. It'd allow you to boost the bass a bit.
However, it seems to me that this is a driver/PulseAudio issue, and the workaround would be to grab the equalizer with Pacman:
sudo pacman -S pulseaudio-equalizer
.
I'll fiddle around on my machine to see if I can reproduce something similar to figure it out. I'll reply if I work it out.
Best Answer
What you read is nonsense. The speaker only plays whatever signals the sound chip outputs; as long as the chip is not defective (e.g. generating excessive voltage) and the speakers are not abused (e.g. running at very high volumes for a long time), they won't be damaged.
Audio chips today are designed such that they prevent those failure modes (which can harm or damage a speaker).
But probably, you will not hear any benefit from higher bitrates/bit depths: they're useful for recording, but not so much for listening.