sig
  module Decoder :
    sig
      exception Not_speex
      type t
      val open_sync : Ogg.Sync.t -> Speex.Wrapper.Decoder.t
      val open_file : string -> Speex.Wrapper.Decoder.t * Unix.file_descr
      val open_feed : (int -> string * int) -> Speex.Wrapper.Decoder.t
      val serial : Speex.Wrapper.Decoder.t -> nativeint
      val comments : Speex.Wrapper.Decoder.t -> (string * string) list
      val header : Speex.Wrapper.Decoder.t -> Speex.Header.t
      val decode : Speex.Wrapper.Decoder.t -> float array list
      val decode_stereo : Speex.Wrapper.Decoder.t -> float array array list
      val decode_feed :
        Speex.Wrapper.Decoder.t -> (float array -> unit) -> unit
      val decode_feed_stereo :
        Speex.Wrapper.Decoder.t -> (float array array -> unit) -> unit
      val decode_int : Speex.Wrapper.Decoder.t -> int array list
      val decode_int_stereo : Speex.Wrapper.Decoder.t -> int array array list
      val decode_int_feed :
        Speex.Wrapper.Decoder.t -> (int array -> unit) -> unit
      val decode_int_feed_stereo :
        Speex.Wrapper.Decoder.t -> (int array array -> unit) -> unit
    end
end