A library to handle reduce/map kind of operation in Faust. Its official prefix is rm.



Fold-like high order function. Apply a binary operation op on a block of consecutive samples of a signal x. For example: reduce(max,128) will compute the maximun of each block of 128 samples. Please note that the resulting value, while produced continuously, will be constant for the duration of a block. A new value is only produced at the end of a block. Note also that blocks should be of at least one sample (n>0).


reduce(op, n, x)


Like reduce but a foo function is applied to the result. From a mathematical point of view: reducemap(op,foo,n) is equivalent to reduce(op,n):foo but more efficient.


reducemap(op, foo, n, x)