bmc0 / dsp

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

DRC #28

Closed arjunmenon closed 6 years ago

arjunmenon commented 6 years ago

Hey How can we add DRC to the mix? Is it possible?

bmc0 commented 6 years ago

You can do room correction just fine; you just need a separate piece of software to do measurements and/or generate the required filters. Room EQ Wizard can be used to do the measurements and find appropriate IIR filters for correction (save the filter settings using File → Export → Export filter settings as text, then use scripts/rew_to_dsp.sh to generate the effects chain). Alternatively, you can use the zita_convolver effect to apply FIR filters produced by DRC or other software.

Ape commented 6 years ago

DRC could also mean 'dynamic range compression'.

bmc0 commented 6 years ago

That's true... I didn't think of that. If that's what was meant, then the built-in compress effect could be used, but, honestly, I'm not sure I'd recommend it because it's extremely simplistic. A better option would be to use the ladspa_host effect to load a LADSPA compressor (SC4 from Steve Harris is a good one to try).

arjunmenon commented 6 years ago

Well good to know about both. I was talking about room correction. What you suggested is not for real-time correction, right? I wanted to know if BruteFIR can be used for this purpose.

bmc0 commented 6 years ago

The zita_convolver effect uses the same convolution library as Jconvolver and works just fine for realtime correction. With the default settings, the zita_convolver effect adds only 64 samples of latency (1.45ms at 44.1kHz), which isn't a problem in most cases. If you need even lower latency, your best option is probably to set up JACK and use Jconvolver, since it can be configured for zero latency.

I haven't used BruteFIR myself.