sig
  type t
  val create :
    (int -> string * int) ->
    (int -> Unix.seek_command -> int) ->
    (unit -> int) -> Vorbis.File.Decoder.t
  val openfile : string -> Vorbis.File.Decoder.t * Unix.file_descr
  val openfile_with_fd : Unix.file_descr -> Vorbis.File.Decoder.t
  val decode_float :
    Vorbis.File.Decoder.t -> float array array -> int -> int -> int
  val decode_float_alloc : Vorbis.File.Decoder.t -> int -> float array array
  val decode :
    Vorbis.File.Decoder.t ->
    ?big_endian:bool ->
    ?sample_size:int -> ?signed:bool -> string -> int -> int -> int
  val streams : Vorbis.File.Decoder.t -> int
  val bitstream : Vorbis.File.Decoder.t -> Vorbis.bitstream
  val comments :
    Vorbis.File.Decoder.t ->
    Vorbis.bitstream -> string * (string * string) list
  val info : Vorbis.File.Decoder.t -> Vorbis.bitstream -> Vorbis.info
  val bitrate : Vorbis.File.Decoder.t -> Vorbis.bitstream -> int
  val samples : Vorbis.File.Decoder.t -> Vorbis.bitstream -> int
  val duration : Vorbis.File.Decoder.t -> Vorbis.bitstream -> float
  val serialnumber : Vorbis.File.Decoder.t -> Vorbis.bitstream -> int
end