bmc0 / dsp

An audio processing program with an interactive mode.
ISC License
219 stars 31 forks source link

Is there a way to delay some part of frequency spectrum #59

Closed AlexanderMikhailian closed 3 years ago

AlexanderMikhailian commented 3 years ago

For instance, I would like to delay everything below 80Hz by 1ms.

bmc0 commented 3 years ago

There are a few ways you could accomplish this, but I don't know which to suggest without more some more information. Could you describe what you want to do in more detail?

mikhailian commented 3 years ago

Well, I read sounddoctor's article that stresses the importance of impulse response and the difficulty of measuring it, and wondered if I can measure it and make meaningful conclusions.

Since I use already you ladspa plugin, this was the first place I searched.

P.S. Thanks for the great work.

bmc0 commented 3 years ago

I'm still not 100% clear on what you want to do. If you want to change the phase relationship between main speakers and subwoofer(s), you must do the crossover within my plugin (or externally, before the plugin). Then you can simply use the delay effect on the subwoofer channel(s) for constant group delay. For non-linear phase, you can use the allpass filter, or use one of the convolution effects to apply an FIR filter.

If you do not have separate subwoofer channel(s), you can only change the phase/group delay of the whole system. In other words, the relative phase relationship between the main speakers and the subwoofer(s) will not change.

mikhailian commented 3 years ago

I think this answers my question. Feel free to close.