Module Audio

type sound
val tone : Playground.number -> sound
val square : Playground.number -> sound
val triangle : Playground.number -> sound
val sawtooth : Playground.number -> sound
val pluck : Playground.number -> sound
val noise : Playground.number -> sound
val note : string -> sound
val lasting : Playground.number -> sound -> sound
val fading : sound -> sound
val louder : Playground.number -> sound -> sound
val sliding : Playground.number -> sound -> sound
val low_pass : Playground.number -> sound -> sound
val high_pass : Playground.number -> sound -> sound
val arpeggio : Playground.number list -> Playground.number -> sound -> sound
val reverb : Playground.number -> sound -> sound
val drive : Playground.number -> sound -> sound
val chorus : sound -> sound
val flanger : sound -> sound
val phaser : sound -> sound
val rotary : bool -> sound -> sound
val naive : sound -> sound
val pan : Playground.number -> sound -> sound
val pitched : Playground.number -> sound -> sound
val together : sound list -> sound
val after : sound list -> sound
val abc : string -> sound
val doremi : string -> sound
val of_tune : Abc.tune -> sound
val wav : string -> sound
val recorded : sound -> sound
val midi : string -> sound
val blip : sound
val coin : sound
val jump : sound
val laser : sound
val hit : sound
val explosion : sound
val step : sound
val powerup : sound
val varied : string -> int -> sound
val random_sound : string -> int -> sound
val sfx : Sfx.t -> sound
val play : sound -> unit
val silently : (unit -> 'a) -> 'a
val keep_playing : string -> sound -> unit
val loop : string -> sound -> unit
val stop : string -> unit
val faster : Playground.number -> sound -> sound
val change_loop : string -> sound -> unit
val fetch : string -> (string option -> unit) -> unit
val play_module : string -> string -> unit
val loop_from : string -> string -> unit
type instrument
val instrument : string -> (unit -> Instrument.t) -> instrument
val note_on : instrument -> string -> unit
val note_off : instrument -> string -> unit
val set : instrument -> string -> Playground.number -> unit
val position : string -> Playground.number option
val latency : unit -> Playground.number