Programmable reverb DSP

By: kode54

This component is loosely based on the Sony PlayStation 1 and 2 reverb engine, based on code from the P.E.Op.S. SPU emulator software. It includes presets from the PlayStation SDK, and is fully configurable to an insane degree. Probably more than adequate for most reverb needs.

Its reverb system is roughly monaural, pushing both input samples from stereo into different offsets of the same ring buffer, and sampling the left and right outputs from different offsets again. Mono input will be promoted to stereo.

Quad front/rear inputs will apply the reverb on the average of the front and rear inputs, and re-apply the difference between the two to the output, so it's also usable with the included upmix DSP which promotes the input from stereo to quad, while filling the rear channels with silence. Just add this upmix DSP before the reverb DSP, and it should produce a handy upmix effect.

Two flavors of the DSP are provided. One attempts to scale the buffer sizes and coefficient sampling and writing offsets relative to the given sample rate, since the original offsets were tuned for a reverb engine running at 22050Hz. The other reverb DSP resamples the input audio down to 22050Hz, processes it, then upsamples it again before mixing it into the output.

Current version: 1.3, released on 2017-02-03

Change log:

  • Added a link to the about page
  • (previously) Fixed 4 channel mode in the accurate/resampling DSP, broken by a typo

Works with foobar2000 v1.3 and newer


View version history
Home page
Source code

More components

Browse all
Browse by author: kode54
Tags: DSP, reverb

How to install a component?