Statistical analysis on buffer channels.
FluidBufStats statistically summarises a time-series (or any values) that is in a buffer, returning seven statistics for each channel: the buffer channel's mean, standard deviation, skewness, kurtosis, low, middle, and high values. See the low
, middle
and high
parameters below for more description on these values.
For a detailed explanation of FluidBufStats features visit http://learn.flucoma.org/reference/bufstats.
The stats
output buffer of FluidBufStats will have the same number of channels as the input buffer, each one containing the statistics of its corresponding channel in the input buffer. Because the dimension of time is summarised statistically, the frames in the stats
buffer do not represent time as they normally would. The first seven frames in every channel of the stats
buffer will have the seven statistics computed on the input buffer channel. After these first seven frames, there will be seven more frames for each derivative requested, each containing the seven statistical summaries for the corresponding derivative.
For example if the input to FluidBufStats is a three-channel buffer and numDerivs
= 1 the output stats
buffer would contain:
ch 0 mean | ch 0 std dev | ch 0 skewness | ch 0 kurtosis | ch 0 low | ch 0 middle | ch 0 high | ch 0 deriv 1 mean | ch 0 deriv 1 std dev | ch 0 deriv 1 skewness | ch 0 deriv 1 kurtosis | ch 0 deriv 1 low | ch 0 deriv 1 middle | ch 0 deriv 1 high |
ch 1 mean | ch 1 std dev | ch 1 skewness | ch 1 kurtosis | ch 1 low | ch 1 middle | ch 1 high | ch 1 deriv 1 mean | ch 1 deriv 1 std dev | ch 1 deriv 1 skewness | ch 1 deriv 1 kurtosis | ch 1 deriv 1 low | ch 1 deriv 1 middle | ch 1 deriv 1 high |
ch 2 mean | ch 2 std dev | ch 2 skewness | ch 2 kurtosis | ch 2 low | ch 2 middle | ch 2 high | ch 2 deriv 1 mean | ch 2 deriv 1 std dev | ch 2 deriv 1 skewness | ch 2 deriv 1 kurtosis | ch 2 deriv 1 low | ch 2 deriv 1 middle | ch 2 deriv 1 high |
Read more about FluidBufStats on the learn platform.
Processs the source Buffer on the Server. processBlocking
will execute directly in the server command FIFO, whereas process
will delegate to a separate worker thread. The latter is generally only worthwhile for longer-running jobs where you don't wish to tie up the server.
server |
The Server on which the buffers to be processed are allocated. |
source |
The buffer to statistically summarise. Each channel of multichannel buffers will be computed independently. |
startFrame |
The position (in frames) to begin the statistical analysis. FluidBufStats is unaware of what kind of time-series is in Constraints
|
numFrames |
The number of frames to use in the statistical analysis. The default of -1 indicates to use all the frames from |
startChan |
The channel from which to begin computing statistics for. The default is 0. Constraints
|
numChans |
The number of channels to compute statistics for. The default of -1 indicates to compute statistics through the last channel in the |
stats |
The buffer to write the statistical summary into. |
select |
An array of |
numDerivs |
The number of derivatives of the original time-series to compute statistics on. The default of 0 will compute statistics on no derivatives, only the original time-series itself. Setting this parameter > 0 (maximum of 2) will return the same seven statistics computed on consecutive derivatives of the channel's time-series. ( Constraints
|
low |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 4 (zero-counting). By default, it is percentile 0.0, which is the minimum value of the channel. Constraints
|
middle |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 5 (zero-counting). By default, it is percentile 50.0, which is the median value of the channel. Constraints
|
high |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 6 (zero-counting). By default, it is percentile 100.0, which is the maximum value of the channel. Constraints
|
outliersCutoff |
A ratio of the inter quantile range (IQR) that defines a range from the median, outside of which data will be considered an outlier and not used to compute the statistical summary. For each frame, if a single value in any channel of that frame is considered an outlier (when compared to the rest of the values in its channel), the whole frame (on all channels) will not be used for statistical calculations. The default of -1 bypasses this function, keeping all frames in the statistical measurements. Constraints
|
weights |
A buffer to provide relative weighting of each frame in the
|
freeWhenDone |
Free the server instance when processing complete. Default |
action |
A function to be evaluated once the offline process has finished and all Buffer's instance variables have been updated on the client side. The function will be passed |
An instance of the processor
Trigger the equivalent behaviour to processBlocking / process
from a Synth. Can be useful for expressing a sequence of buffer and data processing jobs to execute. Note that the work still executes on the server command FIFO (not the audio thread), and it is the caller's responsibility to manage the sequencing, using the done
status of the various UGens.
source |
The buffer to statistically summarise. Each channel of multichannel buffers will be computed independently. |
startFrame |
The position (in frames) to begin the statistical analysis. FluidBufStats is unaware of what kind of time-series is in Constraints
|
numFrames |
The number of frames to use in the statistical analysis. The default of -1 indicates to use all the frames from |
startChan |
The channel from which to begin computing statistics for. The default is 0. Constraints
|
numChans |
The number of channels to compute statistics for. The default of -1 indicates to compute statistics through the last channel in the |
stats |
The buffer to write the statistical summary into. |
select |
An array of |
numDerivs |
The number of derivatives of the original time-series to compute statistics on. The default of 0 will compute statistics on no derivatives, only the original time-series itself. Setting this parameter > 0 (maximum of 2) will return the same seven statistics computed on consecutive derivatives of the channel's time-series. ( Constraints
|
low |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 4 (zero-counting). By default, it is percentile 0.0, which is the minimum value of the channel. Constraints
|
middle |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 5 (zero-counting). By default, it is percentile 50.0, which is the median value of the channel. Constraints
|
high |
The value at this percentile (indicated as 0.0-100.0) will be written into frame 6 (zero-counting). By default, it is percentile 100.0, which is the maximum value of the channel. Constraints
|
outliersCutoff |
A ratio of the inter quantile range (IQR) that defines a range from the median, outside of which data will be considered an outlier and not used to compute the statistical summary. For each frame, if a single value in any channel of that frame is considered an outlier (when compared to the rest of the values in its channel), the whole frame (on all channels) will not be used for statistical calculations. The default of -1 bypasses this function, keeping all frames in the statistical measurements. Constraints
|
weights |
A buffer to provide relative weighting of each frame in the
|
trig |
A |
blocking |
Whether to execute this process directly on the server command FIFO or delegate to a worker thread. See |
Cancels non-blocking processing
When called in the context of a Routine (it won't work otherwise), will block execution until the processor has finished. This can be convinient for writing sequences of processes more linearly than using lots of nested actions.
Derivative
Weights
Outliers
A didactic example