Module Stream.Sample

Operations with samples as unit time.

val every : unit -> int -> bool t
val convolve : float array -> float -> float t

Convolution with an impulse response.

module Ringbuffer : sig ... end

Ringbuffers.

val delay : unit -> int -> sample -> sample t

Delay the signal by given amount of samples.

val rec_delay : unit -> int -> (sample -> sample t) -> sample t

A fixed delay which inputs the sample at t-delay, passes it to a function, and writes the result. Useful for implementing the recursive part of filters.

val comb : ?kind:[< `Feedback | `Feedforward Feedback ] -> unit -> int -> float -> sample -> sample t

Comb filter.

val schroeder_allpass : unit -> int -> float -> sample -> sample t

All-pass filter.

val fft : Extlib.Complex.t array -> int -> int -> Extlib.Complex.t array

Fast Fourrier transform.

val ifft : Extlib.Complex.t array -> Extlib.Complex.t array