Class

de.sciss.fscape.graph

MelFilter

Related Doc: package graph

Permalink

final case class MelFilter(in: GE, size: GE, minFreq: GE = 55.0, maxFreq: GE = 18000.0, sampleRate: GE = 44100.0, bands: GE = 42) extends SingleOut with Product with Serializable

A UGen that maps short-time Fourier transformed spectra to the mel scale. To obtain the MFCC, one has to take the log of the output of this UGen and decimate it with a DCT.

Example:

def mfcc(in: GE) = {
  val fsz  = 1024
  val lap  = Sliding(in, fsz, fsz/2) * GenWindow(fsz, GenWindow.Hann)
  val fft  = Real1FFT(lap, fsz, mode = 1)
  val mag  = fft.complex.mag.max(-80)
  val mel  = MelFilter(mag, fsz/2, bands = 42)
  DCT_II(mel.log, 42, 13, zero = 0)
}
in

magnitudes of spectra, as output by Real1FFT(..., mode = 1).complex.abs

size

bands in input spectrum (assumed to be fft-size / 2). lowest band corresponds to DC and highest to (size - 1)/size * sampleRate/2.

minFreq

lower frequency to sample. Will be clipped between zero (inclusive) and Nyquist (exclusive).

maxFreq

upper frequency to sample. Will be clipped between minFreq (inclusive) and Nyquist (exclusive).

bands

number of filter bands output

Linear Supertypes
Serializable, Serializable, SingleOut, SomeOut[StreamOut], GE.Lazy, GE, UGenSource[UGenInLike, StreamOut], Expander[UGenInLike], Lazy, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MelFilter
  2. Serializable
  3. Serializable
  4. SingleOut
  5. SomeOut
  6. Lazy
  7. GE
  8. UGenSource
  9. Expander
  10. Lazy
  11. Product
  12. Equals
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MelFilter(in: GE, size: GE, minFreq: GE = 55.0, maxFreq: GE = 18000.0, sampleRate: GE = 44100.0, bands: GE = 42)

    Permalink

    in

    magnitudes of spectra, as output by Real1FFT(..., mode = 1).complex.abs

    size

    bands in input spectrum (assumed to be fft-size / 2). lowest band corresponds to DC and highest to (size - 1)/size * sampleRate/2.

    minFreq

    lower frequency to sample. Will be clipped between zero (inclusive) and Nyquist (exclusive).

    maxFreq

    upper frequency to sample. Will be clipped between minFreq (inclusive) and Nyquist (exclusive).

    bands

    number of filter bands output

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. val bands: GE

    Permalink

    number of filter bands output

  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. val in: GE

    Permalink

    magnitudes of spectra, as output by Real1FFT(..., mode = 1).complex.abs

  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. def makeUGen(args: IndexedSeq[UGenIn])(implicit b: Builder): UGenInLike

    Permalink
    Attributes
    protected
    Definition Classes
    MelFilterUGenSource
  13. def makeUGens(implicit b: Builder): UGenInLike

    Permalink

    Abstract method which must be implemented by creating the actual UGens during expansion.

    Abstract method which must be implemented by creating the actual UGens 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
    MelFilterExpander
  14. val maxFreq: GE

    Permalink

    upper frequency to sample.

    upper frequency to sample. Will be clipped between minFreq (inclusive) and Nyquist (exclusive).

  15. val minFreq: GE

    Permalink

    lower frequency to sample.

    lower frequency to sample. Will be clipped between zero (inclusive) and Nyquist (exclusive).

  16. final def name: String

    Permalink
    Definition Classes
    UGenSource
  17. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  19. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def rewrap(args: IndexedSeq[UGenInLike], exp: Int)(implicit b: Builder): UGenInLike

    Permalink
    Attributes
    protected
    Definition Classes
    SomeOutUGenSource
  21. val sampleRate: GE

    Permalink
  22. val size: GE

    Permalink

    bands in input spectrum (assumed to be fft-size / 2).

    bands in input spectrum (assumed to be fft-size / 2). lowest band corresponds to DC and highest to (size - 1)/size * sampleRate/2.

  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  24. final def unwrap(args: IndexedSeq[UGenInLike])(implicit b: Builder): UGenInLike

    Permalink
    Attributes
    protected
    Definition Classes
    UGenSource
  25. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from SingleOut

Inherited from SomeOut[StreamOut]

Inherited from GE.Lazy

Inherited from GE

Inherited from UGenSource[UGenInLike, StreamOut]

Inherited from Expander[UGenInLike]

Inherited from Lazy

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped