Packages

final case class SpecFlatness(chain: GE) extends SingleOut with ControlRated with IsIndividual with Product with Serializable

A UGen to measure spectral flatness. Given an FFT chain this calculates the Spectral Flatness measure, defined as a power spectrum's geometric mean divided by its arithmetic mean. This gives a measure which ranges from approx 0 for a pure sinusoid, to approx 1 for white noise.

The measure is calculated linearly. For some applications you may wish to convert the value to a decibel scale. Note that this UGen may output NaN when the input is zero (probably due to division by zero). In that case, CheckBadValues can be used to prevent further problems.

Note that despite running at control-rate, the output remains constant for each FFT frame. E.g. with an FFT size of 1024 and 50% overlap, a new measure is generated every 512 audio frames, or (at control block size 64) every 8 control blocks.

chain

the fft signal (buffer) to analyze

See also

CheckBadValues

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SpecFlatness
  2. Serializable
  3. IsIndividual
  4. ControlRated
  5. SingleOut
  6. SomeOut
  7. Lazy
  8. GE
  9. UGenSource
  10. Expander
  11. Lazy
  12. Product
  13. Equals
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new SpecFlatness(chain: GE)

    chain

    the fft signal (buffer) to analyze

Value Members

  1. val chain: GE
  2. lazy val hashCode: Int
    Definition Classes
    UGenSource → AnyRef → Any
  3. final def name: String
    Definition Classes
    UGenSource
  4. def productElementNames: Iterator[String]
    Definition Classes
    Product
  5. final def rate: Rate
    Definition Classes
    ControlRated