Peak

object Peak extends ProductReader[Peak]

A UGen to measure a signal's peak amplitude. Technically, this UGen works like RunningMax after the absolute value of the input signal is taken.

The UGen keeps an internal state that reflects the maximum absolute input value observed. When a trigger occurs at the reset input, it first copies the current maximum value to its output and then (quasi-simultaneously) resets its internal state to the current absolute input value. This way, the peak value seen from the outside at trigger time is the correct peak value up to that moment. See the 'illustrate timing' example to understand this timing.

===Examples===

// illustrate timing
play {
 val i  = Impulse.ar(0)
 // first impulse after 100ms
 val t1 = DelayN.ar(i * 1.0 , 0.100, 0.100)
 // one sample later
 val t2 = Delay1.ar(t1) * 0.5
 // another sample later
 val t3 = Delay1.ar(t2)
 val p  = Peak.ar(t1 + t2, t2)
 // at t1, peak has already seen t1
 p.poll(t1, "t1")
 // at t2, peak still reports 1.0, while internally resetting
 p.poll(t2, "t2")
 // at t3, we observe 0.5, therefore peak did reset at t2
 p.poll(t3, "t3")
 ()
}
See also
Companion
class
trait Product
trait Mirror
trait ProductReader[Peak]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(in: GE, trig: GE): Peak
Value Params
in

input signal to analyze

trig

resets the maximum observed value to the current absolute value of the input signal

def kr(in: GE, trig: GE): Peak
Value Params
in

input signal to analyze

trig

resets the maximum observed value to the current absolute value of the input signal

def read(in: RefMapIn, key: String, arity: Int): Peak