No it's not, it's just widespread incompetence and has ruined lots of music I would have liked. Having better software tools that alert when clipping is happening would be a good thing (i.e. it needs to alert when crossing over from 0dB to a distorted wave form, not just hitting 0dB without distorting, which is fine).
If the audio clips, and the meter doesn't "blow out", then in my opinion that is a defective meter.
ALSA already has an eq plugin (http://quitte.de/dsp/caps.html#Eq10) and I added this to it:
if ((s > +0.99 && x[z1] > +0.99 && x[z2] > +0.99) ||
(s < -0.99 && x[z1] < -0.99 && x[z2] < -0.99) ) {
//clipped audio isn't exactly 1.
printf ("dsp/Eq.h:process(): input clipped :(\n");
}
.... if (
(r >= 1.0 || r <= -1.0) &&
(r < 20 && r > -20)) { //uninited memory?
printf ("dsp/Eq.h:process(): output clipped :( %0.16f\n", r);
}
(one day I should try to get upstream to accept that or something like it...)And thanks but I'm happily using my patch on a pure alsa system without pulse audio, and don't really have the time to spend on adding the equivalent to yours sorry. But I'd want to if only to spread awareness about clipping - it's not just music, there are also many Youtube channels that I unsubed from because of it (I did tell them but they didn't care).
Actually preventing clipping instead just detecting it (which mine does) is a lot of work - it would need to find the loudest frequency, then find the closest band and reduce that (while loudly informing the user, and oviously with an option to control it).