Packages

c

de.sciss.fscape.graph

MelFilter

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)

    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: GE
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. val in: GE
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def makeUGen(args: IndexedSeq[UGenIn])(implicit b: Builder): UGenInLike
    Attributes
    protected
    Definition Classes
    MelFilterUGenSource
  13. def makeUGens(implicit b: Builder): UGenInLike

    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
  15. val minFreq: GE
  16. final def name: String
    Definition Classes
    UGenSource
  17. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  19. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. val sampleRate: GE
  21. val size: GE
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @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