Feedback wanted: "DIRT" deconvolver tool / impulse response extractor

DIRT - Delt’s Impulse Response Tool. I started writing a simple command line deconvolver / sinewave sweep generator a few days ago. It’s actually pretty usable as of now, and i’m getting really good results with it.

For now, it can:

  • generate dry sweeps to either a .wav file or to a JACK input port
  • deconvolve recorded/wet sweeps against the dry ones
  • by default it adds and uses alignment markers at the beginning of generated .wav files but this can be disabled.
  • JACK “round-trip mode”: play back an existing or on-the-fly sweep via JACK while recording the result & deconvolve to a usable IR without any temporary .wav files.
  • trim silence below a threshold (default 80dB) from beginning and end of resulting IR

Simple usage examples:

# generate a dry sweep with 1 second preroll and 0.1 second alignment marker:
dirt --makesweep 30 --preroll 1 --marker 0.1 -o dry_sweep.wav

# later, after recording through your cab/FX:
dirt dry_sweep.wav wet_recorded.wav my_cab_ir.wav

# send sweep to Carla:audio-in1, record from Carla:audio-out1, write IR:
dirt --sweep-sr 48000 -d Carla:audio-in1 -w Carla:audio-out1 -o my_cab_ir.wav

Feedback / criticism / suggestions would be much appreciated.

5 Likes

Nice! It’s fun to write small tools like that.

If you’re in need for a true stereo (4 channel) version to capture reverbs (as opposed to cabinets), there’s GitHub - x42/jack-ir: JACK Audio Batch Impulse Response Recorder (which I wrote for x42 Zero Config|Latency Convolver), but that doesn’t offer a separate sweep and capture stages like dirt.

Ardour comes with a Lua script to record IRs though that is rather cumbersome, dirt is a lot easier to use. Thanks for sharing!

Now. If you have a couple of good IRs that can be redistributed, please consider sharing them.

1 Like