Module Audio.Mono.Analyze.FFT

module FFT: sig .. end
Simple implementation of the FFT algorithm. For fastest implementations optimized libraries such as fftw are recommended.

type t 
Internal data for computing FFT.
val init : int -> t
Initialize FFT for an analysis of 2^n samples.
val duration : t -> int
Duration of the FFT buffer analysis in samples.
val complex_create : Audio.Mono.buffer -> int -> int -> Complex.t array
complex_create buf ofs len create a array of complex numbers of size len by copying data from buf from ofset ofs (the imaginary part is null).
val fft : t -> Complex.t array -> unit
Perform an FFT analysis.
val band_freq : int -> t -> int -> float
Frequency associated to the k-th coefficient of an FFT.
module Window: sig .. end
Windowing functions.
val notes : int ->
t ->
?window:(Complex.t array -> unit) ->
?note_min:int ->
?note_max:int ->
?volume_min:float ->
?filter_harmonics:bool ->
float array -> int -> int -> (Audio.Note.t * float) list
val loudest_note : (Audio.Note.t * float) list -> (Audio.Note.t * float) option