Skip to content

@sonoscope/core

ClassDescription
ArrayAudioSourceAudio source that supplies PCM samples on demand.
BarsWaveformRenderer-
BlobByteSource-
BoxesFrequencyRulerRenderer-
BoxesTimeRulerRenderer-
BufferByteSource-
CanvasSpectrogramRenderer-
CanvasWaveformRenderer-
ClippedAudioSourceWraps an underlying AudioSource to restrict sample reads and visualization to a bounded time window.
DecodedAudioSourceAudio source that supplies PCM samples on demand.
FetchByteSource-
FrameMeter-
FrequencyRulerViewerFrequency ruler viewer canvas controller and coordinate tick renderer.
MainThreadComputeBackend-
NormalSpectrogramProgram-
PerformanceProfiler-
PlayheadOverlay-
SonoscopeMain coordinator that binds audio playback, viewport state, and visualization viewers.
SpectrogramProfiler-
SpectrogramViewerSpectrogram viewer canvas controller and inspector.
StreamingMp3SourceAudio source that supplies PCM samples on demand.
StreamingWavSourceAudio source that supplies PCM samples on demand.
TicksFrequencyRulerRenderer-
TicksTimeRulerRenderer-
TimeRulerViewerTime ruler viewer canvas controller and coordinate tick renderer.
ViewportControllerControls visible time and frequency coordinates across synchronized viewers.
WasmComputeBackend-
WasmWorkerComputeBackend-
WaveformViewerWaveform viewer canvas controller and peak renderer.
WebGL2ShaderProgram-
WebGL2SpectrogramRenderer-
WebGL2TileProgramBase-
WebGL2WaveformRenderer-
WorkerComputeBackend-
InterfaceDescription
AudioSourceAudio source that supplies PCM samples on demand.
AutoResizeOptions-
BarsWaveformRendererOptions-
DragNavigationOptions-
FrequencyRulerRenderer-
IDataViewerData-bound viewer that receives audio source updates.
IFrequencyRulerViewerFrequency ruler viewer canvas controller and coordinate tick renderer.
IPlayheadOverlay-
ISonoscopeCentral coordinator managing audio playback, viewport state, and viewer creation.
ISonoscopeViewerBase viewer interface with lifecycle disposal.
ISpectrogramViewerSpectrogram viewer canvas controller and inspector.
ITimeRulerViewerTime ruler viewer canvas controller and coordinate tick renderer.
IViewportControllerControls visible time and frequency coordinates across synchronized viewers.
IViewportViewerViewport-only viewer (e.g. time rulers, frequency rulers, overlays).
IWaveformViewerWaveform viewer canvas controller and peak renderer.
NavigableViewerMinimal adapter surface required for attaching navigation gestures.
NavigationOptions-
PlayheadOverlayOptionsVisual styling for the playback playhead overlay.
SpectrogramComputeBackend-
SpectrogramProfileEvent-
SpectrogramProfilerOptions-
SpectrogramProfileStats-
SpectrogramRenderer-
TimeRulerRenderer-
WaveformRenderer-
WheelNavigationOptions-
Type AliasDescription
AudioRange-
AutoRendererConfig-
BackendMode-
BarPeakBlock-
BarsWaveformRendererConfig-
BuiltInColorMap-
CacheStats-
Canvas2DRendererConfig-
Canvas2DWaveformRendererConfig-
ClipBoundsClip boundaries in seconds.
ClippedSourceEvents-
ColorMapConfig-
ColorPoint-
ComputeTileRequest-
CustomViewerFactoryFactory function to construct a custom viewer instance.
FollowPlaybackModePlayhead tracking behavior during audio playback. - page: Flips the viewport forward when the playhead leaves the screen. - smooth: Continuously scrolls the viewport to keep the playhead centered. - off: Disables automatic viewport scrolling.
FrameStats-
FrequencyBounds-
FrequencyFormatMode-
FrequencyRulerConfig-
FrequencyRulerEvents-
FrequencyRulerFrame-
FrequencyRulerOptions-
FrequencyRulerRendererName-
FrequencyRulerRenderInput-
FrequencyRulerStatus-
FrequencyRulerViewport-
FrequencyScaleFrequency scaling mode for the Y-axis. - linear: Uniform spacing in Hz. - log: Logarithmic frequency distribution. - mel: Perceptual pitch scale.
FrequencyTicksResult-
ModifierKey-
NavigationAxis-
PeakBlock-
PerformanceDetail-
PerformanceMeasure-
RendererKind-
RendererMode-
RenderInput-
ResolvedFrequencyRulerConfig-
ResolvedSpectrogramConfig-
ResolvedTimeRulerConfig-
ResolvedWaveformConfig-
Rgba-
SonoscopeEvents-
SonoscopeOptionsOptions for initializing a Sonoscope coordinator instance.
SpectrogramConfig-
SpectrogramEvents-
SpectrogramMatrix-
SpectrogramOptions-
SpectrogramRendererConfig-
SpectrogramRendererFactoryFactory function to construct a custom spectrogram renderer.
SpectrogramStatus-
SpectrogramTransform-
SpectrumPoint-
SpectrumSlice-
StftConfig-
TileState-
TileStateInfo-
TimeBounds-
TimeFormatMode-
TimeRulerConfig-
TimeRulerEvents-
TimeRulerFrame-
TimeRulerOptions-
TimeRulerRendererName-
TimeRulerRenderInput-
TimeRulerStatus-
TimeRulerViewport-
TimeTicksResult-
TransformContext-
ValueMode-
ValueScaleConfig-
ViewportConfigVisible time and frequency boundaries for a viewer.
ViewportConstraintsConstraints applied to viewport zooming and panning.
ViewportControllerOptions-
ViewportEvents-
ViewportStateComplete viewport state including bounds and total audio duration.
WaveformConfig-
WaveformEvents-
WaveformOptions-
WaveformRendererFactoryFactory function to construct a custom waveform renderer.
WaveformRendererKind-
WaveformRendererMode-
WaveformRenderInput-
WaveformStatus-
WaveformViewport-
WebGL2Frame-
WebGL2RenderProgramA paintable spectrogram shader program. The renderer owns any instance handed to it and disposes it when replaced or destroyed.
WebGL2RenderResources-
WebGL2SpectrogramProgramFactoryFactory function to construct a custom WebGL2 spectrogram shader program.
WebGL2WaveformRendererConfig-
WebGLRendererConfig-
WebGLRendererProgram-
WebGLRendererProgramName-
WindowName-
VariableDescription
WEBGL2_FRAGMENT_UNIFORMS-
WEBGL2_OVERLAY_CHECK-
WEBGL2_SCALE_HELPERS-
FunctionDescription
attachAutoResizeAttaches a ResizeObserver to an HTMLCanvasElement that synchronizes its internal buffer dimensions (canvas.width, canvas.height) with its rendered CSS layout size.
attachDragNavigation-
attachNavigation-
attachPlayheadOverlay-
attachWheelNavigation-
buildColorMap-
canvasToTimeFrequency-
clampViewportTimes-
clearRegisteredSpectrogramProgramsClears all registered custom spectrogram programs.
clearRegisteredSpectrogramRenderersClears all registered custom spectrogram renderers.
clearRegisteredViewersClears all registered custom viewers.
clearRegisteredWaveformRenderersClears all registered custom waveform renderers.
clipAudioSource-
colorMapToRgb-
computeFrequencyTicks-
computeTimeTicks-
createAudioSourceFromBlobCreates an AudioSource from a Blob or File.
createAudioSourceFromBufferCreates an AudioSource from an ArrayBuffer or Uint8Array.
createAudioSourceFromUrlCreates an AudioSource from an audio URL.
createShaderProgramResolves a renderer mode into a concrete shader program for the given canvas. Returns undefined when the canvas has no usable WebGL2 context.
createSpectrogramBackend-
createSpectrogramProgram-
createSpectrogramRenderer-
createWaveformRenderer-
encodeWavBlob-
encodeWavBuffer-
formatFrequencyLabel-
formatTimeLabel-
frequencyScaleCode-
getRegisteredSpectrogramProgramGets a registered WebGL2 spectrogram shader program factory by name.
getRegisteredSpectrogramRendererGets a registered spectrogram renderer factory by name.
getRegisteredViewerGets a registered viewer factory by name.
getRegisteredWaveformRendererGets a registered waveform renderer factory by name.
hasRegisteredSpectrogramProgramChecks if a WebGL2 spectrogram shader program factory is registered.
hasRegisteredSpectrogramRendererChecks if a spectrogram renderer factory is registered.
hasRegisteredViewerChecks if a viewer factory is registered.
hasRegisteredWaveformRendererChecks if a waveform renderer factory is registered.
hzToMel-
hzToScale-
isSeekableByteSource-
isSonoscope-
isSpectrogramComputeBackend-
isWasmSupported-
isWorkerSupported-
locateSamplePosition-
melToHz-
normalizeValue-
panViewportFrequency-
panViewportTime-
parseColor-
readPrefix-
registerSpectrogramProgramRegisters a custom WebGL2 spectrogram shader program factory under a unique name.
registerSpectrogramRendererRegisters a custom spectrogram renderer factory under a unique name.
registerViewerRegisters a custom viewer factory under a unique name.
registerWaveformRendererRegisters a custom waveform renderer factory under a unique name.
sampleValueDataPosition-
scaleToHz-
setViewerViewport-
tileFrequencyRange-
tileTimeRange-
timeFrequencyToCanvas-
unregisterSpectrogramProgramUnregisters a custom WebGL2 spectrogram shader program factory.
unregisterSpectrogramRendererUnregisters a custom spectrogram renderer factory.
unregisterViewerUnregisters a custom viewer factory.
unregisterWaveformRendererUnregisters a custom waveform renderer factory.
valueDataForMode-
zoomViewportFrequency-
zoomViewportTime-