sig
  val compand_mu_law : float -> Audio.Mono.buffer -> int -> int -> unit
  class type t =
    object method process : Audio.Mono.buffer -> int -> int -> unit end
  class amplify : float -> t
  class clip : float -> t
  class biquad_filter :
    int ->
    [ `All_pass
    | `Band_pass
    | `High_pass
    | `High_shelf
    | `Low_pass
    | `Low_shelf
    | `Notch
    | `Peaking ] -> ?gain:float -> float -> float -> t
  module ADSR :
    sig
      type t
      val make :
        int -> float * float * float * float -> Audio.Mono.Effect.ADSR.t
      type state
      val init : unit -> Audio.Mono.Effect.ADSR.state
      val release :
        Audio.Mono.Effect.ADSR.state -> Audio.Mono.Effect.ADSR.state
      val dead : Audio.Mono.Effect.ADSR.state -> bool
      val process :
        Audio.Mono.Effect.ADSR.t ->
        Audio.Mono.Effect.ADSR.state ->
        Audio.Mono.buffer -> int -> int -> Audio.Mono.Effect.ADSR.state
    end
end