WPE_ReverbFrame

final case class WPE_ReverbFrame(in: D, psd: D, bins: I, delay: I, taps: I, alpha: D) extends MultiOut[Double]

A UGen implementation of a single frame Weighted Prediction Error (WPE) de-reverberation algorithm in the frequency domain. It takes a DFT'ed input signal frame by frame and returns the estimated reverberated components. To actually obtain the de-reverberated signal, subtract the output from the input signal, then perform inverse FFT and overlap-add reconstruction.

The algorithm closely follows the Python package described in L. Drude, J. Heymann, Ch. Boeddeker, R. Haeb-Umbach, 'NARA-WPE: A Python package for weighted prediction error dereverberation in Numpy and Tensorflow for online and offline processing' and its Numpy implementation (MIT licensed).

'''Note:''' this does not yet work correctly with multi-channel input.

Value parameters:
alpha

the decay factor for the filter coefficients

bins

the number of frequency bins (should be fftSize / 2 + 1)

delay

the delay in spectral frames to avoid suppression of early reflections

in

the sequence of complex FFT'ed frames. Should have been obtained through Real1FFT with mode = 1.

psd

the power spectrum density estimation, frame by frame corresponding with in. It should correspond with the shape of in, however being monophonic instead of multi-channel and using real instead of complex numbers (half the signal window length).

taps

the filter size in spectral frames to capture the late reverberation

Companion:
object
trait Serializable
trait MultiOut[Double]
trait Lazy[Double]
trait GE[Double]
trait UGenSource[UGenInLike[Double], IndexedSeq[StreamOut]]
trait Expander[UGenInLike[Double]]
trait Lazy
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Inherited methods

final def name: String
Inherited from:
UGenSource
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product