import type { ChannelNumber } from '../../types'; import type { DataType } from '../Analyser'; import type { VisualizerParams, GraphicsStyles, SpectrumScale } from './Visualizer'; import { Visualizer } from './Visualizer'; export type FFTParams = VisualizerParams & { type?: DataType; size?: number; scale?: SpectrumScale; logarithmicFrequencies?: number[]; textInterval?: number; readonly minFrequency?: number; readonly maxFrequency?: number; }; /** * This private class visualizes spectrum. */ export declare class FFT extends Visualizer { private type; private size; private scale; private logarithmicFrequencies; private minFrequency; private maxFrequency; private ratio; private log10Ratio; private textInterval; /** * @param {number} sampleRate This argument is sample rate. * @param {ChannelNumber} channel This argument is channel number (Left: 0, Right: 1 ...). * @param {AnalyserNode} analyser This argument is instance of `AnalyserNode`. */ constructor(sampleRate: number, channel: ChannelNumber, analyser: AnalyserNode); /** * This method gets or sets parameters for visualizing spectrum. * This method is overloaded for type interface and type check. * @param {keyof FFTParams|FFTParams} params This argument is string if getter. Otherwise, setter. * @return {FFTParams[keyof FFTParams]|FFT} Return value is parameter for visualizing spectrum if getter. * Otherwise, return value is for method chain. * @override */ param(params: 'interval'): number; param(params: 'styles'): GraphicsStyles; param(params: 'type'): DataType; param(params: 'size'): number; param(params: 'scale'): SpectrumScale; param(params: 'logarithmicFrequencies'): number[]; param(params: 'minFrequency'): number; param(params: 'maxFrequency'): number; param(params: 'textInterval'): number; param(params: FFTParams): FFT; /** * This method visualizes spectrum to Canvas. * @param {Uint8Array|Float32Array} data This argument is frequency domain data for spectrum. * @param {number} minDecibels This argument is in order to determine dB range of spectrum. The default value is -100 dB. * @param {number} maxDecibels This argument is in order to determine db range of spectrum. The default value is -30 dB. * @override */ protected renderCanvas(data: Uint8Array | Float32Array, minDecibels?: number, maxDecibels?: number): void; /** * This method visualizes spectrum to SVG. * @param {Uint8Array|Float32Array} data This argument is frequency domain data for spectrum. * @param {number} minDecibels This argument is in order to determine dB range of spectrum. Default value is -100 dB. * @param {number} maxDecibels This argument is in order to determine db range of spectrum. Default value is -30 dB. * @override */ protected renderSVG(data: Uint8Array | Float32Array, minDecibels?: number, maxDecibels?: number): void; } //# sourceMappingURL=FFT.d.ts.map