import type { ChannelNumber } from '../../types'; import type { DataType } from '../Analyser'; import type { VisualizerParams, GraphicsStyles, SpectrumScale } from './Visualizer'; import { Visualizer } from './Visualizer'; export type SpectrogramParams = VisualizerParams & { type?: DataType; size?: number; scale?: SpectrumScale; duration?: number; plotInterval?: number; linearFrequencyTextInterval?: number; timeTextInterval?: number; logarithmicFrequencies?: number[]; readonly minFrequency?: number; readonly maxFrequency?: number; }; /** * This private class visualizes spectrogram. */ export declare class Spectrogram extends Visualizer { private type; private scale; private duration; private plotInterval; private linearFrequencyTextInterval; private timeTextInterval; private timeOffset; private numberOfSamples; private renderSize; private logarithmicFrequencies; private minFrequency; private maxFrequency; private ratio; private imagedata; private colorFromNumber; /** * This function maps unsigned int 8 bits to color string by Jet colormap. * @param {Uint8Array[0]|Float32Array[0]} data This argument is converted to color string based on Jet colormap. * @param {number} maxDecibels This argument is parameter for spectrogram from dB. The default value is -30 dB. * @param {number} minDecibels This argument is parameter for spectrogram from dB. The default value is -100 dB. * @return {string} Return value is color string. */ static numberToJetColor(data: Uint8Array[0] | Float32Array[0], type: DataType, maxDecibels?: number, minDecibels?: number): string; /** * @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 spectrogram. * This method is overloaded for type interface and type check. * @param {keyof SpectrogramParams|SpectrogramParams} params This argument is string if getter. Otherwise, setter. * @return {SpectrogramParams[keyof SpectrogramParams]|Spectrogram} Return value is parameter for visualizing spectrogram 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: 'duration'): number; param(params: 'plotInterval'): number; param(params: 'linearFrequencyTextInterval'): number; param(params: 'timeTextInterval'): number; param(params: 'logarithmicFrequencies'): number[]; param(params: 'minFrequency'): number; param(params: 'maxFrequency'): number; param(params: SpectrogramParams): Spectrogram; /** * This method sets function that converts number to color string. * @param {function} func This argument is function that converts number to color string; * @return {Spectrogram} Return value is for method chain. */ setColorFromNumberFunction(func: ((data: Uint8Array[0] | Float32Array[0]) => string) | null): Spectrogram; /** * This method visualizes spectrogram to Canvas. * @param {Uint8Array|Float32Array} data This argument is frequency domain data for spectrogram. * @override */ protected renderCanvas(data: Uint8Array | Float32Array): void; /** * This method visualizes spectrogram to SVG. * @param {Uint8Array|Float32Array} data This argument is frequency domain data for spectrogram. * @override */ protected renderSVG(data: Uint8Array | Float32Array): void; } //# sourceMappingURL=Spectrogram.d.ts.map