sig
  class type t =
    object
      method dead : bool
      method fill : Audio.Mono.buffer -> int -> int -> unit
      method fill_add : Audio.Mono.buffer -> int -> int -> unit
      method release : unit
      method set_frequency : float -> unit
      method set_volume : float -> unit
    end
  class sine : int -> ?volume:float -> ?phase:float -> float -> t
  class square : int -> ?volume:float -> ?phase:float -> float -> t
  class saw : int -> ?volume:float -> ?phase:float -> float -> t
  class triangle : int -> ?volume:float -> ?phase:float -> float -> t
  class white_noise : ?volume:float -> int -> t
  class chain : Audio.Mono.Generator.t -> Audio.Mono.Effect.t -> t
  class add : Audio.Mono.Generator.t -> Audio.Mono.Generator.t -> t
  class mult : Audio.Mono.Generator.t -> Audio.Mono.Generator.t -> t
  class adsr : Audio.Mono.Effect.ADSR.t -> Audio.Mono.Generator.t -> t
end