net.beadsproject.beads.ugens
Class RMS

java.lang.Object
  extended by net.beadsproject.beads.core.Bead
      extended by net.beadsproject.beads.core.UGen
          extended by net.beadsproject.beads.ugens.RMS

public class RMS
extends UGen

Calculates and outputs the RMS (root-mean-squares) power factor for a signal over a given time frame. The algorithm accounts for multi-channel input by summing the squares of each channel and dividing by the square root of the number of channels.

Version:
0.9.5
Author:
Benito Crawford

Nested Class Summary
 
Nested classes/interfaces inherited from class net.beadsproject.beads.core.UGen
UGen.OutputInitializationRegime, UGen.OutputPauseRegime
 
Field Summary
 
Fields inherited from class net.beadsproject.beads.core.UGen
bufferSize, bufIn, bufOut, context, ins, outputInitializationRegime, outputPauseRegime, outs
 
Constructor Summary
RMS(AudioContext context, int channels, int memorySize)
          Constructor.
 
Method Summary
 void calculateBuffer()
          Called by the signal chain to update this UGen's ouput data.
 int getChannels()
          Gets the number of channels.
 int getMemorySize()
          Gets the number of samples over which the RMS is calculated.
 
Methods inherited from class net.beadsproject.beads.core.UGen
addDependent, addInput, addInput, clearDependents, clearInputConnections, containsInput, crossfadeInput, getConnectedInputs, getContext, getEnvelopes, getIns, getNumberOfConnectedUGens, getNumberOfDependents, getOutBuffer, getOuts, getTimeTakenLastUpdate, getValue, getValue, getValueDouble, getValueDouble, initializeOuts, isTimerMode, isUpdated, noInputs, pause, printInBuffers, printInputList, printOutBuffers, removeAllConnections, removeConnection, removeDependent, setOutsToPause, setTimerMode, setValue, update, zeroIns, zeroOuts
 
Methods inherited from class net.beadsproject.beads.core.Bead
getKillListener, getName, isDeleted, isPaused, kill, message, messageReceived, setKillListener, setName, start, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RMS

public RMS(AudioContext context,
           int channels,
           int memorySize)
Constructor.

Parameters:
context - The audio context.
channels - The number of channels.
memorySize - The number of samples over which to compute the RMS.
Method Detail

calculateBuffer

public void calculateBuffer()
Description copied from class: UGen
Called by the signal chain to update this UGen's ouput data. Subclassses of UGen should implement the UGen's DSP perform routine here. In general this involves grabbing data from UGen.bufIn and putting data into UGen.bufOut in some way. UGen.bufIn and UGen.bufOut are 2D arrays of floats of the form float[numChannels][bufferSize]. The length of the buffers is given by UGen.bufferSize, and the number of channels of the input and output buffers are given by UGen.ins and UGen.outs respectively.

Specified by:
calculateBuffer in class UGen

getChannels

public int getChannels()
Gets the number of channels.

Returns:
The number of channels.

getMemorySize

public int getMemorySize()
Gets the number of samples over which the RMS is calculated.

Returns:
The number of samples.