GUI objects in Pd-Vanilla are limited to bangs, toggles, sliders, number boxes (which can be used like a slider), radio buttons, and VU meters.
Because it has the cyclone
library installed, plugdata offers a wider array of GUI objects, including buttons, knobs, a function object, and a virtual keyboard object, similar to what exists in Max/MSP.
A few of the objects that can be used to compute and report signal amplitude levels are shown in the Pd patch above (note that many of these objects are not available in Pd-Vanilla).
The sig~ object takes a control-rate float or int value and outputs that value at the audio rate.
The lin2db and db2lin objects convert between linear and dB levels.
The gain~ object provides an interpolating logarithmic signal fader.
The average~ object computes a running average of an input signal over a specified number of samples. It can provide three different average types, “bipolar”, “absolute”, and “rms”.
The avg~ object computes the average of the absolute value of an input signal between bangs.
The vu~ object provides a graphical signal level meter.
The snapshot~ object outputs the current audio sample value when a bang is received.
The peakamp~ object reports the maximum absolute value of audio data between bangs or at regular intervals.
The spike~ object reports intervals of zero to non-zero transitions.
The zerox~ object counts zero-crossings, which can be used to distinguish transients from pitched signals.