object PV_HainsworthFoote extends Serializable
An FFT based onset detector UGen using a balance of two features. It is based on work described in Hainsworth (2003), "Techniques for the Automated Analysis of Musical Audio," PhD thesis, University of Cambridge. See especially p. 128. The Hainsworth metric is a modification of the Kullback Liebler distance.
Examples
// observe detection play { val sig = Decay.ar(Dust.ar(2), 0.1) * WhiteNoise.ar(0.25) val th = MouseX.kr(0.3, 1.0, lag = 0) th.poll(HPZ1.kr(th).abs, "thresh") val h = MouseY.kr(1.0, 0.1, lag = 0) val f = 1 - h h.poll(HPZ1.kr(h).abs, "h-f") val tr = PV_HainsworthFoote.ar(FFT(LocalBuf(2048), sig), h, f, thresh = th) Seq(sig, SinOsc.ar(440) * Decay.ar(tr * 0.01, 0.1)) }
- See also
- Alphabetic
- By Inheritance
- PV_HainsworthFoote
- Serializable
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
-
def
ar(chain: GE, hainsworth: GE = 0.0f, foote: GE = 0.0f, thresh: GE = 1.0f, waitTime: GE = 0.04f): PV_HainsworthFoote
- chain
the fft signal (buffer) to analyze
- hainsworth
what strength of detection signal from Hainsworth metric (0 to 1) to use.
- foote
what strength of detection signal from normalized Foote metric (0 to 1) to use.
- thresh
threshold level for detection
- waitTime
after an onset is detected, further detections are suppressed for this period in seconds, preventing multiple rapid triggers
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )