tiny_libs.audio
Synth
tiny_libs.ai_bots
tiny_libs.ai_decision
tiny_libs.ai_learning
tiny_libs.ai_movement
tiny_libs.ai_search
tiny_libs.audio_abc
tiny_libs.audio_effects
tiny_libs.audio_instruments
tiny_libs.audio_midi
tiny_libs.audio_mod
tiny_libs.audio_mpeg
tiny_libs.audio_signal
tiny_libs.audio_synthesis
tiny_libs.audio_vorbis
tiny_libs.audio_wav
tiny_libs.compression
tiny_libs.compression_brotli
tiny_libs.compression_brotli_words
tiny_libs.core
tiny_libs.crypto
tiny_libs.graphics_2d
tiny_libs.graphics_2d_geometry
tiny_libs.graphics_3d
tiny_libs.graphics_3d_geometry
tiny_libs.graphics_animation
tiny_libs.graphics_avi
tiny_libs.graphics_core
tiny_libs.graphics_fli
tiny_libs.graphics_font
tiny_libs.graphics_gif
tiny_libs.graphics_gpu
tiny_libs.graphics_ilbm
tiny_libs.graphics_images
tiny_libs.graphics_imaging
tiny_libs.graphics_jpeg
tiny_libs.graphics_movie
tiny_libs.graphics_mpeg1
tiny_libs.graphics_mpeg_system
tiny_libs.graphics_png
tiny_libs.graphics_raytrace
tiny_libs.graphics_rgba
tiny_libs.graphics_svg
tiny_libs.graphics_xpm
tiny_libs.graphics_y4m
tiny_libs.graphics_yuv
tiny_libs.gui
tiny_libs.highlight_code
tiny_libs.juice
tiny_libs.networking_mail
tiny_libs.networking_netcode
tiny_libs.networking_protocols
tiny_libs.networking_tls
tiny_libs.networking_unix
tiny_libs.physics_2d
tiny_libs.physics_3d
tiny_libs.random
tiny_libs.terminal
tiny_libs.terminal_unix
type source =
| Wave of Oscillator.waveform
| Naive of Oscillator.waveform
| Fm of {
ratio : float;
index : float;
}
| Noise
| Pluck
type voice = {
source : source;
frequency : float;
slide : float option;
seconds : float;
volume : float;
fade : bool;
effects : Pitch_effect.t list;
envelope : Envelope.t option;
type t =
| Voice of voice
| Together of t list
| After of t list
| Samples of Signal.t
| Filtered of filter * t
| Echo of echo * t
| Reverb of float * t
| Panned of float * t
| Processed of processed * t
and echo = {
delay : float;
feedback : float;
and filter = {
kind : Filter.kind;
cutoff : float;
cutoff_to : float;
q : float;
and processed = {
make : unit -> Signal.stereo -> unit;
tail : float;
val band_limited : bool ref
val voice : source -> float -> t
val lasting : float -> t -> t
val fading : t -> t
val louder : float -> t -> t
val sliding : float -> t -> t
val naive : t -> t
val with_effect : Pitch_effect.t -> t -> t
val faster : float -> t -> t
val pitched : float -> t -> t
val duration : t -> float
val render : t -> Signal.t
val render_stereo : t -> Signal.stereo
val tail : delay:float -> feedback:float -> float
val echo : delay:float -> feedback:float -> Signal.t -> Signal.t
val reverb : seconds:float -> ?mix:float -> Signal.t -> Signal.t
type running
val start : unit -> running
val continue : running -> voice -> int -> Signal.t * running
val release : running -> voice -> int -> Signal.t