Packages

final case class MelFilter(in: D, size: I, minFreq: D = 55.0, maxFreq: D = 18000.0, sampleRate: D = 44100.0, bands: I = 42) extends SingleOut[Double] 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, SingleOut[Double], SomeOut[Double, StreamOut], GE.Lazy[Double], GE[Double], UGenSource[UGenInLike[Double], StreamOut], Expander[UGenInLike[Double]], Lazy, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MelFilter
  2. Serializable
  3. SingleOut
  4. SomeOut
  5. Lazy
  6. GE
  7. UGenSource
  8. Expander
  9. Lazy
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

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

    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
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val bands: I
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. val in: D
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def makeUGen(args: IndexedSeq[UGenIn[_]])(implicit b: Builder): UGenInLike[Double]
    Attributes
    protected
    Definition Classes
    MelFilterUGenSource
  12. def makeUGens(implicit b: Builder): UGenInLike[Double]

    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
  13. val maxFreq: D
  14. val minFreq: D
  15. final def name: String
    Definition Classes
    UGenSource
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def productElementNames: Iterator[String]
    Definition Classes
    Product
  20. val sampleRate: D
  21. val size: I
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from SingleOut[Double]

Inherited from SomeOut[Double, StreamOut]

Inherited from GE.Lazy[Double]

Inherited from GE[Double]

Inherited from UGenSource[UGenInLike[Double], StreamOut]

Inherited from Expander[UGenInLike[Double]]

Inherited from Lazy

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped