final case class WPE_ReverbFrame(in: D, psd: D, bins: I, delay: I = 3, taps: I = 10, alpha: D = 0.9999) extends MultiOut[Double] with Product with Serializable
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.
- in
the sequence of complex FFT'ed frames. Should have been obtained through
Real1FFT
withmode = 1
.- psd
the power spectrum density estimation, frame by frame corresponding with
in
. It should correspond with the shape ofin
, however being monophonic instead of multi-channel and using real instead of complex numbers (half the signal window length).- bins
the number of frequency bins (should be
fftSize / 2 + 1
)- delay
the delay in spectral frames to avoid suppression of early reflections
- taps
the filter size in spectral frames to capture the late reverberation
- alpha
the decay factor for the filter coefficients
- Alphabetic
- By Inheritance
- WPE_ReverbFrame
- Serializable
- MultiOut
- SomeOut
- Lazy
- GE
- UGenSource
- Expander
- Lazy
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new WPE_ReverbFrame(in: D, psd: D, bins: I, delay: I = 3, taps: I = 10, alpha: D = 0.9999)
- in
the sequence of complex FFT'ed frames. Should have been obtained through
Real1FFT
withmode = 1
.- psd
the power spectrum density estimation, frame by frame corresponding with
in
. It should correspond with the shape ofin
, however being monophonic instead of multi-channel and using real instead of complex numbers (half the signal window length).- bins
the number of frequency bins (should be
fftSize / 2 + 1
)- delay
the delay in spectral frames to avoid suppression of early reflections
- taps
the filter size in spectral frames to capture the late reverberation
- alpha
the decay factor for the filter coefficients
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- val alpha: D
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val bins: I
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val delay: I
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val in: D
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
- Attributes
- protected
- Definition Classes
- WPE_ReverbFrame → UGenSource
- def makeUGens(implicit b: Builder): UGenInLike[Double]
Abstract method which must be implemented by creating the actual
UGen
s during expansion.Abstract method which must be implemented by creating the actual
UGen
s during expansion. This method is at most called once during graph expansion- returns
the expanded object (depending on the type parameter
U
)
- Attributes
- protected
- Definition Classes
- WPE_ReverbFrame → Expander
- final def name: String
- Definition Classes
- UGenSource
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- val psd: D
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val taps: I
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated