sig
type t
val init : int -> Audio.Mono.Analyze.FFT.t
val duration : Audio.Mono.Analyze.FFT.t -> int
val complex_create :
Audio.Mono.buffer -> int -> int -> Stdlib.Complex.t array
val fft : Audio.Mono.Analyze.FFT.t -> Stdlib.Complex.t array -> unit
val band_freq : int -> Audio.Mono.Analyze.FFT.t -> int -> float
module Window :
sig
val cosine : Stdlib.Complex.t array -> unit
val hann : Stdlib.Complex.t array -> unit
val hamming : Stdlib.Complex.t array -> unit
val lanczos : Stdlib.Complex.t array -> unit
val triangular : Stdlib.Complex.t array -> unit
val bartlett_hann : Stdlib.Complex.t array -> unit
val blackman :
?alpha:float ->
Audio.Mono.Analyze.FFT.t -> Stdlib.Complex.t array -> unit
val nuttall :
Audio.Mono.Analyze.FFT.t -> Stdlib.Complex.t array -> unit
val blackman_harris :
Audio.Mono.Analyze.FFT.t -> Stdlib.Complex.t array -> unit
val blackman_nuttall :
Audio.Mono.Analyze.FFT.t -> Stdlib.Complex.t array -> unit
end
val notes :
int ->
Audio.Mono.Analyze.FFT.t ->
?window:(Stdlib.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
end