sig
  type t
  type parameters = { samplerate : int; channels : int; bitrate : int; }
  exception Samples_per_frame
  exception Invalid_bitrate
  exception Invalid_samplerate
  exception Invalid_channels
  val samples_per_frame : int
  val create : Shine.parameters -> Shine.t
  val encode_buffer : Shine.t -> float array array -> string
  val encode_s16le : Shine.t -> string -> int -> string
  val flush : Shine.t -> string
end