Welcome, Guest
Username: Password: Remember me
This is the optional Forum header for the Suggestion Box.

TOPIC: IL-DSP distortion protection

IL-DSP distortion protection 5 months 2 weeks ago #43837

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
I received today the IL-DSP and it works very well.

I use the correction in the attached file:

File Attachment:

File Name: hd800s.xml
File Size:7 KB


As you can see, the correction goes over maximum level by 1 dB or so. With the correction enabled, sometimes I get distortion if the volume on the computer is 100%. I have to reduce volume on the computer to 94% to avoid distortion.

Could you add an automatic check to the DSP plugin apps, so that if the frequency response goes over 0 dB, the DSP input volume is reduced automatically, so as to avoid distortion? You could have a button in the app, called "Normalize volume" or something like that; when clicked, the app checks the frequency response and adjusts volume so that the maximum FR is brought to 0 dB.

This applies to all DSPs, including IL-DSP, 2x4 HD, etc.

This feature would allow the user to apply filters with strong positive gain. E.g., what I really want is a low shelf with +10 dB of gain. Currently with the IL-DSP I have to apply a high-shelf with -10 dB of gain. It's the same thing, technically, but it's counter-intuitive.

Or in the app have a checkbox called "Always keep gain at 0 dB" - when selected, input and/or output volumes would be automatically adjusted so that the peak FR is always at 0 dB no matter what filters are added.

Something like this would be so nice with the IL-DSP.

I would even argue that "Always keep gain at 0 dB" should be enabled by default. It's tricky for less technical users to track the source of digital distortion. By default the DSP should do the right thing and avoid distortion.

This message has an attachment file.
Please log in or register to see it.

Last Edit: 4 months 4 weeks ago by FlorinAndrei.
The administrator has disabled public write access.
The following user(s) said Thank You: b0b

DSP distortion protection 5 months 1 week ago #43839

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
Equalizer APO has a special type of filter for this purpose, called Preamplifier. It's just a preamp module with adjustable gain, in the +/- 20 dB range. You could insert it in the chain to compensate for all the other filters. It would be great if the miniDSP plugin apps could do this, especially the one for IL-DSP.

Even better, the preamp filter should have an option to automatically calculate the gain so that the overall FR curve is tangent from below to the 0 dB line.

This is a more technical solution, less intuitive, but it should still work.
The administrator has disabled public write access.

DSP distortion protection 5 months 1 week ago #43870

  • Wanderer
  • Wanderer's Avatar
  • Offline
  • Senior Boarder
  • Posts: 46
  • Thank you received: 35
  • Karma: 5
Hello FlorinAndrei,
you can try to fix your problem by adding -1 dB attenuation as a biquad filter in one of unused PEQ bands.
Coefficients will be as follows:

b0=0.8912509381337455,
b1=0,
b2=0,
a1=0,
a2=0

If you still have distortion at 100% volume, just reduce b0 value a bit.

Update from 2019-09-30: according to tests by IL-DSP user supercurio and his conclusions in this post, the attenuating filter should be put in last PEQ band (i.e. EQ10 in the plugin) in order to actually prevent clipping in the DSP.

HTH
Last Edit: 4 months 3 weeks ago by Wanderer.
The administrator has disabled public write access.
The following user(s) said Thank You: Juoigâ

DSP distortion protection 5 months 7 hours ago #44074

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
Thank you for the information, I will look into the biquad filter configuration.

There are several issues with this solution, however. The main thing is that this will waste one filter out of a maximum of 10. When correcting the frequency response of headphones based on lab measurements, sometimes you need all the filters you can get. Picking one to correct the overall amplification would mean sacrificing the correction of some feature in the FR curve.

Secondly, this is a fairly technical solution. I doubt most users will figure it out on their own.

There is yet another way to fix the problem. Sometimes, perhaps even often, some deep correction is necessary - e.g. the frequency response of many headphones drops quite quickly in the low bass region. Extending bass response requires a pretty deep low shelf filter with a lot of positive amplification. But this is equivalent to a high shelf filter with a lot of negative amplification, which also has the advantage of lowering the rest of the FR curve, sometimes bringing all the FR peaks below 0 dB. It works in some cases, but it's counterintuitive. Again, many users will probably not figure it out on their own.

The main lesson to take home is this: the behavior of the DSP ought to be intuitive. I set the output volume on my computer at 100%, which is common practice with digital outputs. I add some PEQ filters to the DSP. I get distortion. The first reaction is to blame the DSP. It's only after some investigation that you figure out what's going on.

It should not be hard to add some code to the plugin app to check the overall EQ curve, and automatically reduce the overall amplification if the peaks are raised above 0 dB. Equalizer APO will immediately flag in bright red the portions of the curve that breach 0 dB; it won't add a preamp for you automatically, but it will visually scream at you "something is wrong here!"

miniDSP products have awesome engineering, but more work is needed looking at things from the user's point of view. Technology is great, the user interaction needs some work.
The administrator has disabled public write access.

DSP distortion protection 4 months 4 weeks ago #44117

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 1307
  • Thank you received: 640
  • Karma: 83
The user does need to take some responsibility for understanding the gain structure of their programmed configuration. :)

Program material is not like white noise. Even if you programmed a configuration that might violate the clipping constraints of the unit, it doesn't mean you will....or have an issue.

Example: Programmed dipole EQ in the bass region. In many of my setups I have a full 24db gain programmed to accomplish this. Usually a 20-80 low-shelf +12db, and a 80-320 high-shelf -12db. But, I also sometimes use both programmed as low-shelves for +24db. If the miniDSP volume control is set any higher than -24db, I could (possibly) have a problem. However, most program material is strongly weighted to the midrange area, so you would generally not see a clipping issue in the bass.

You can certainly program to prevent clipping in all cases based on the arithmetic of your net EQ plus/minus volume control position, but it's almost never necessary to do that.

Cheers,

Dave.
The administrator has disabled public write access.
The following user(s) said Thank You: Wanderer

DSP distortion protection 4 months 4 weeks ago #44122

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
I am not arguing for full automation here.

What I am saying is - a signal processor in the digital domain must never exceed 0 dB, unless you really know what you're doing. Whether by user error or by some other cause, if the amplification at any frequency exceeds 0 dB, some prominent warning must signal this condition.

This is not unheard of. Most EQs and DSPs I've seen will provide some visual warning of some kind that you're exceeding 0 dB. Yes, the user cannot be completely ignorant of how technology works, but not having that warning is the equivalent of a car that does not warn the driver that the gasoline level is too low. Something bad is about to happen (run out of gas, or exceed 0 dB and produce distortion), the user must be informed. If they choose to ignore this warning - sure, that's their choice, and let's hope they know what they're doing. But you cannot leave the user in the dark about this important aspect.

And even the most knowledgeable user sometimes makes mistakes. Would be very nice to have a warning in that case.

All signal processors (hardware or software) I've seen that did not provide this warning were basically toys.

My favorite example is Equalizer APO - if you exceed 0 dB, it will highlight that part of the frequency response in bright red. Meaning - something really bad will happen here if you continue like this. It doesn't prevent you from doing it, but it makes it clear that things could go wrong if you continue like this.

Here's an example where the user brought the amplification up too much across the whole spectrum; EQ APO will clearly indicate that this is potentially an issue:



Seriously, a DSP is incomplete without a master volume control where you can fix problems like this. It's not a "fancy" feature, it's a very basic part of a DSP's functionality.

Huge bonus points if the app could calculate and adjust automatically the setting on that volume, so as to keep the output as close to 0 dB as possible but without exceeding it. I see this not as a luxury, but as basic courtesy to the user.
The administrator has disabled public write access.

DSP distortion protection 4 months 3 weeks ago #44133

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 1307
  • Thank you received: 640
  • Karma: 83
I think you've missed my underlying point. Which is.....if you "program" to exceed 0db it doesn't necessarily mean you'll exceed that limitation with normal (music) usage.

And the "bad thing" that might happen here is not analogous to a car running out of gas. C'mon. :)
You could induce some clipping on peaks that would sound intermittently bad, but it won't be dangerous in the sense of damaging drivers or power amps or anything else in your signal chain. The user is not "in the dark".....the audible clipping is "the user being informed."

Also, the miniDSP units do have peak reading indicators that are fairly reliable. Once a user has programmed a configuration, he/she simply inspects the conditions of the miniDSP unit while playing a variety of program material. If you observe the unit running into a limit, then you re-adjust your gain structure.

I don't consider the miniDSP units "toys," but they do require a little know-how and experience in operation.
I suggest to leave those sort of characterizations out of your commentary.

Dave.
The administrator has disabled public write access.
The following user(s) said Thank You: Wanderer

DSP distortion protection 4 months 3 weeks ago #44262

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
dreite wrote:
I think you've missed my underlying point. Which is.....if you "program" to exceed 0db it doesn't necessarily mean you'll exceed that limitation with normal (music) usage.

That is understood. I've a degree in Physics and Electronics, and in a past life I had a mini recording studio at home. So, rest assured, I get the basic concepts.

However, with a lot of heavily compressed streaming music online, chances are you will run into obvious, loud, nasty digital distortion quite soon. I know I did.
You could induce some clipping on peaks that would sound intermittently bad, but it won't be dangerous in the sense of damaging drivers or power amps or anything else in your signal chain. The user is not "in the dark".....the audible clipping is "the user being informed."

The device failing at its main task (making the sound better, not worse) is not a good feedback mechanism.

The patient is coughing blood - I guess this medicine does not work, huh? Yeah, that's not how treatment decisions ought to begin with.

It's terrible, in this day and age, to unleash nasty digital distortion upon the users, especially when:

- a lot of other apps are very careful to avoid that, and succeed quite well
- the fix is simple

Seriously, there's no excuse.
Also, the miniDSP units do have peak reading indicators that are fairly reliable. Once a user has programmed a configuration, he/she simply inspects the conditions of the miniDSP unit while playing a variety of program material. If you observe the unit running into a limit, then you re-adjust your gain structure.

All this needs to happen before the user even sends any signal through the DSP, like a lot of other well-behaved apps do.

The plugin has all the information it needs to predict the potential for clipping before the DSP processes any signal. So why not do it then and there, like a lot of other apps do?
I don't consider the miniDSP units "toys," but they do require a little know-how and experience in operation.
I suggest to leave those sort of characterizations out of your commentary.

If you don't want to be counted with the toys, don't do toy-like things, especially when the alternative is quite trivial. It's not what you claim to do, it's what you actually do that defines you.

All it takes is a simple end-to-end check. Does any part of the signal try to raise above 0 dB? Then let's pull the DSP volume down a bit. Not rocket science.

It strikes me this is more of a cultural issue at miniDSP. The risk of distortion seems to be treated in a fairly cavalier way in all their products. That's not typically the norm for the makers of digital devices. Heck, back in the '80s and '90s when I was a kid and I was learning electronics, we still used to put a little Overload light on the amps we were designing. Just good engineering practice.

In the digital domain you can do so much more.. You can avoid the Overload light from going off before any signal even makes it through the chain. Things are predictable and self-adjustable in digital - why not take advantage of what technology can do for us, especially when the effort required to make it happen is quite minimal. Others (MathAudio, Equalizer APO) do it all the time.

Don't lose sight of the fact that all these observations come from someone who actually appreciates the miniDSP technology quite a lot.

But when someone you like makes a big mistake, you better tell them like it is.

P.S.: I think I am going to buy yet another IL-DSP, my third so far. I just found a way to justify it (semi-permanently plugged into the Etymotic ER4XR, will use it for mobile situations, while walking outside).
Last Edit: 4 months 3 weeks ago by FlorinAndrei.
The administrator has disabled public write access.

DSP distortion protection 4 months 3 weeks ago #44264

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 1307
  • Thank you received: 640
  • Karma: 83
"All this needs to happen before the user even sends any signal through the DSP, like a lot of other well-behaved apps do."

That sentence being the key mistake in your logic. That fact is, you can't analyze gain structure properly until you send normal program material through the programmed unit..

If a person has large equalization shelves programmed and you positively make reductions elsewhere to absolutely prevent clipping for all test signals then, most likely, you've sacrificed overall gain structure that you didn't need to.

Having software "flag" potential conflicts like you're suggesting is informative, sure, but in real usage you would likely never encounter an issue. As I said previously, the frequency content of most music is not weighted like white noise or test signals approaching 0dbFS. It's easy to get fooled into thinking you might have a problem.
You, as the user, are much smarter than the software program performing a little arithmetic on your configuration settings.

The Linkwitz LX521 miniDSP configuration (which I have a little bit of experience with :)) is the perfect example. The 4x10HD unit in that case, if put on the test bench would generate clipping on the outputs when subjected to some high level test signals. However, in actual music usage you don't encounter difficulties. This is a case of the designer well understanding the overall gain structure and usage limitations.

Cheers,

Dave.
Last Edit: 4 months 3 weeks ago by dreite.
The administrator has disabled public write access.

DSP distortion protection 4 months 3 weeks ago #44266

  • FlorinAndrei
  • FlorinAndrei's Avatar
  • Offline
  • Senior Boarder
  • Posts: 40
  • Thank you received: 10
  • Karma: 0
dreite wrote:
That sentence being the key mistake in your logic. That fact is, you can't analyze gain structure properly until you send normal program material through the programmed unit..

That's not how any of this works. The app clearly calculates the EQ curve, since it's displayed right there in the UI. If any parts of it rise above 0 dB, it's trivial to raise a warning.

Please don't make random comments like this that are not helping the discussion. We're talking pretty trivial issues, that are not controversial to anyone who actually understands technology.
Having software "flag" potential conflicts like you're suggesting is informative, sure, but in real usage you would likely never encounter an issue.

I just did a few minutes ago, and I was not even trying to make it fail.
You, as the user, are much smarter than the software program performing a little arithmetic on your configuration settings.

That sort of statement exemplifies why not everyone is qualified to design user interfaces, no matter how well they feel they understand the technology.
The administrator has disabled public write access.

DSP distortion protection 4 months 3 weeks ago #44267

  • dreite
  • dreite's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 1307
  • Thank you received: 640
  • Karma: 83
I'm not making random comments.

If you're not following what I'm saying then I'll try to put in terms you will understand. Just ask.

But please don't tell me I don't understand the operation and the user interfaces of these units. I have a good bit of experience now with the miniDSP gadgets and I well understand the pitfalls, advantages, and disadvantages of their operation.

Dave.
The administrator has disabled public write access.
Moderators: devteam