sig
  exception Error of int
  exception Unanticipated_host_error
  val string_of_error : int -> string
  val get_last_host_error : unit -> int * string
  val get_version : unit -> int
  val get_version_string : unit -> string
  val init : unit -> unit
  val terminate : unit -> unit
  val get_host_api_count : unit -> int
  val get_default_host_api : unit -> int
  val get_default_input_device : unit -> int
  val get_default_output_device : unit -> int
  val get_device_count : unit -> int
  type sample_format =
      Format_int8
    | Format_int16
    | Format_int24
    | Format_int32
    | Format_float32
  type stream_parameters = {
    channels : int;
    device : int;
    sample_format : Portaudio.sample_format;
    latency : float;
  }
  type stream
  val open_default_stream :
    ?callback:(unit -> unit) ->
    ?format:Portaudio.sample_format ->
    int -> int -> int -> int -> Portaudio.stream
  val close_stream : Portaudio.stream -> unit
  val start_stream : Portaudio.stream -> unit
  val stop_stream : Portaudio.stream -> unit
  val abort_stream : Portaudio.stream -> unit
  val write_stream :
    Portaudio.stream -> float array array -> int -> int -> unit
  val read_stream :
    Portaudio.stream -> float array array -> int -> int -> unit
end