sig
  type t
  val loadFromFile : filename:string -> SFSoundBuffer.t
  val loadFromMemory : data:string -> SFSoundBuffer.t
  val loadFromSamples :
    samples:(int, Bigarray.int16_signed_elt, Bigarray.c_layout)
            Bigarray.Array1.t ->
    channelCount:int -> sampleRate:int -> SFSoundBuffer.t
  val getSampleCount : soundBuffer:SFSoundBuffer.t -> int
  val getSampleRate : soundBuffer:SFSoundBuffer.t -> int
  val getChannelCount : soundBuffer:SFSoundBuffer.t -> int
  val getDuration : soundBuffer:SFSoundBuffer.t -> SFTime.t
  val saveToFile : soundBuffer:SFSoundBuffer.t -> filename:string -> unit
end