Skip to content

ISpectrogramViewer

Spectrogram viewer canvas controller and inspector.

PropertyTypeInherited from
getTimeBounds?() => TimeBoundsNavigableViewer.getTimeBounds
canvasToTimeFrequency(x: number, y: number): object;

Converts canvas pixel coordinates to time (seconds) and frequency (Hz).

ParameterType
xnumber
ynumber

object

frequency: number;
time: number;
NavigableViewer.canvasToTimeFrequency

clearCache(): void;

Clears cached STFT tiles from memory.

void


destroy(): void;

Disposes the renderer, WebGL resources, and event listeners.

void

IDataViewer.destroy


getCacheStats(): CacheStats;

Returns current STFT tile cache statistics.

CacheStats


getCanvas(): HTMLCanvasElement;

Returns the bound HTML canvas element.

HTMLCanvasElement

NavigableViewer.getCanvas


getConfig(): ResolvedSpectrogramConfig;

Returns the resolved spectrogram configuration options.

ResolvedSpectrogramConfig

NavigableViewer.getConfig


getFrequencyBounds(): object;

Returns the full available frequency bounds in Hz.

object

maxFrequency: number;
minFrequency: number;
NavigableViewer.getFrequencyBounds

getFrequencyScale(): FrequencyScale;

Returns the active frequency scale (linear, log, or mel).

FrequencyScale


getNyquist(): number;

Returns the Nyquist frequency in Hz.

number


getRendererKind(): "webgl2" | "canvas2d";

Returns the active rendering engine (webgl2 or canvas2d).

"webgl2" | "canvas2d"


optional getScope(): object;

object

getDuration(): number;

number

optional getSampleRate(): number | undefined;

number | undefined

NavigableViewer.getScope


getSource(): AudioSource;

Returns the active audio source.

AudioSource


getStatus(): SpectrogramStatus;

Returns the current render status.

SpectrogramStatus


getTileStates(): TileStateInfo[];

Returns status information for all computation tiles.

TileStateInfo[]


getViewport(): ViewportConfig;

Returns the visible time and frequency viewport.

ViewportConfig

NavigableViewer.getViewport


getViewportController(): IViewportController;

Returns the bound viewport controller.

IViewportController


on<Name>(name: Name, handler: (event: SpectrogramEvents[Name]) => void): () => void;

Subscribes to spectrogram events.

Type Parameter
Name extends keyof SpectrogramEvents
ParameterType
nameName
handler(event: SpectrogramEvents[Name]) => void

() => void


queryCanvasPoint(input: object): Promise<SpectrumPoint>;

Queries the spectral intensity value at canvas pixel coordinates.

ParameterTypeDescription
input{ channel?: number; mode?: ValueMode; x: number; y: number; }Canvas X and Y in pixels, optional channel, and value mode.
input.channel?number-
input.mode?ValueMode-
input.xnumber-
input.ynumber-

Promise<SpectrumPoint>


queryFrame(input: object): Promise<SpectrumSlice>;

Queries spectral magnitudes for a specific STFT frame index.

ParameterTypeDescription
input{ channel?: number; frameIndex: number; mode?: ValueMode; }Frame index, optional channel, and value mode.
input.channel?number-
input.frameIndexnumber-
input.mode?ValueMode-

Promise<SpectrumSlice>


queryPoint(input: object): Promise<SpectrumPoint>;

Queries the spectral intensity value at a specific time and frequency.

ParameterTypeDescription
input{ channel?: number; frequency: number; mode?: ValueMode; time: number; }Time in seconds, frequency in Hz, optional channel, and value mode.
input.channel?number-
input.frequencynumber-
input.mode?ValueMode-
input.timenumber-

Promise<SpectrumPoint>


querySpectrum(input: object): Promise<SpectrumSlice>;

Queries spectral magnitudes across all frequency bins at a specific timestamp.

ParameterTypeDescription
input{ channel?: number; mode?: ValueMode; time: number; }Target time in seconds, optional channel, and value mode.
input.channel?number-
input.mode?ValueMode-
input.timenumber-

Promise<SpectrumSlice>


render(): Promise<void>;

Renders the current spectrogram viewport asynchronously.

Promise<void>


requestRender(): void;

Schedules a render on the next animation frame.

void

NavigableViewer.requestRender


setConfig(input: Partial<SpectrogramOptions>): void;

Alias for updateConfig.

ParameterType
inputPartial<SpectrogramOptions>

void


setSource(source: AudioSource): void;

Updates the audio source and invalidates the tile cache.

ParameterType
sourceAudioSource

void

IDataViewer.setSource


setViewport(viewport: Partial<ViewportConfig>): void;
ParameterType
viewportPartial<ViewportConfig>

void

NavigableViewer.setViewport


timeFrequencyToCanvas(time: number, frequency: number): object;

Converts time (seconds) and frequency (Hz) to canvas pixel coordinates.

ParameterType
timenumber
frequencynumber

object

x: number;
y: number;
NavigableViewer.timeFrequencyToCanvas

updateConfig(input: Partial<SpectrogramOptions>): void;

Updates configuration options and triggers a re-render.

ParameterType
inputPartial<SpectrogramOptions>

void