@sonoscope/core
Classes
Section titled “Classes”| Class | Description |
|---|---|
| ArrayAudioSource | Audio source that supplies PCM samples on demand. |
| BarsWaveformRenderer | - |
| BlobByteSource | - |
| BoxesFrequencyRulerRenderer | - |
| BoxesTimeRulerRenderer | - |
| BufferByteSource | - |
| CanvasSpectrogramRenderer | - |
| CanvasWaveformRenderer | - |
| ClippedAudioSource | Wraps an underlying AudioSource to restrict sample reads and visualization to a bounded time window. |
| DecodedAudioSource | Audio source that supplies PCM samples on demand. |
| FetchByteSource | - |
| FrameMeter | - |
| FrequencyRulerViewer | Frequency ruler viewer canvas controller and coordinate tick renderer. |
| MainThreadComputeBackend | - |
| NormalSpectrogramProgram | - |
| PerformanceProfiler | - |
| PlayheadOverlay | - |
| Sonoscope | Main coordinator that binds audio playback, viewport state, and visualization viewers. |
| SpectrogramProfiler | - |
| SpectrogramViewer | Spectrogram viewer canvas controller and inspector. |
| StreamingMp3Source | Audio source that supplies PCM samples on demand. |
| StreamingWavSource | Audio source that supplies PCM samples on demand. |
| TicksFrequencyRulerRenderer | - |
| TicksTimeRulerRenderer | - |
| TimeRulerViewer | Time ruler viewer canvas controller and coordinate tick renderer. |
| ViewportController | Controls visible time and frequency coordinates across synchronized viewers. |
| WasmComputeBackend | - |
| WasmWorkerComputeBackend | - |
| WaveformViewer | Waveform viewer canvas controller and peak renderer. |
| WebGL2ShaderProgram | - |
| WebGL2SpectrogramRenderer | - |
| WebGL2TileProgramBase | - |
| WebGL2WaveformRenderer | - |
| WorkerComputeBackend | - |
Interfaces
Section titled “Interfaces”| Interface | Description |
|---|---|
| AudioSource | Audio source that supplies PCM samples on demand. |
| AutoResizeOptions | - |
| BarsWaveformRendererOptions | - |
| DragNavigationOptions | - |
| FrequencyRulerRenderer | - |
| IDataViewer | Data-bound viewer that receives audio source updates. |
| IFrequencyRulerViewer | Frequency ruler viewer canvas controller and coordinate tick renderer. |
| IPlayheadOverlay | - |
| ISonoscope | Central coordinator managing audio playback, viewport state, and viewer creation. |
| ISonoscopeViewer | Base viewer interface with lifecycle disposal. |
| ISpectrogramViewer | Spectrogram viewer canvas controller and inspector. |
| ITimeRulerViewer | Time ruler viewer canvas controller and coordinate tick renderer. |
| IViewportController | Controls visible time and frequency coordinates across synchronized viewers. |
| IViewportViewer | Viewport-only viewer (e.g. time rulers, frequency rulers, overlays). |
| IWaveformViewer | Waveform viewer canvas controller and peak renderer. |
| NavigableViewer | Minimal adapter surface required for attaching navigation gestures. |
| NavigationOptions | - |
| PlayheadOverlayOptions | Visual styling for the playback playhead overlay. |
| SpectrogramComputeBackend | - |
| SpectrogramProfileEvent | - |
| SpectrogramProfilerOptions | - |
| SpectrogramProfileStats | - |
| SpectrogramRenderer | - |
| TimeRulerRenderer | - |
| WaveformRenderer | - |
| WheelNavigationOptions | - |
Type Aliases
Section titled “Type Aliases”Variables
Section titled “Variables”| Variable | Description |
|---|---|
| WEBGL2_FRAGMENT_UNIFORMS | - |
| WEBGL2_OVERLAY_CHECK | - |
| WEBGL2_SCALE_HELPERS | - |
Functions
Section titled “Functions”| Function | Description |
|---|---|
| attachAutoResize | Attaches 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 | - |
| clearRegisteredSpectrogramPrograms | Clears all registered custom spectrogram programs. |
| clearRegisteredSpectrogramRenderers | Clears all registered custom spectrogram renderers. |
| clearRegisteredViewers | Clears all registered custom viewers. |
| clearRegisteredWaveformRenderers | Clears all registered custom waveform renderers. |
| clipAudioSource | - |
| colorMapToRgb | - |
| computeFrequencyTicks | - |
| computeTimeTicks | - |
| createAudioSourceFromBlob | Creates an AudioSource from a Blob or File. |
| createAudioSourceFromBuffer | Creates an AudioSource from an ArrayBuffer or Uint8Array. |
| createAudioSourceFromUrl | Creates an AudioSource from an audio URL. |
| createShaderProgram | Resolves 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 | - |
| getRegisteredSpectrogramProgram | Gets a registered WebGL2 spectrogram shader program factory by name. |
| getRegisteredSpectrogramRenderer | Gets a registered spectrogram renderer factory by name. |
| getRegisteredViewer | Gets a registered viewer factory by name. |
| getRegisteredWaveformRenderer | Gets a registered waveform renderer factory by name. |
| hasRegisteredSpectrogramProgram | Checks if a WebGL2 spectrogram shader program factory is registered. |
| hasRegisteredSpectrogramRenderer | Checks if a spectrogram renderer factory is registered. |
| hasRegisteredViewer | Checks if a viewer factory is registered. |
| hasRegisteredWaveformRenderer | Checks if a waveform renderer factory is registered. |
| hzToMel | - |
| hzToScale | - |
| isSeekableByteSource | - |
| isSonoscope | - |
| isSpectrogramComputeBackend | - |
| isWasmSupported | - |
| isWorkerSupported | - |
| locateSamplePosition | - |
| melToHz | - |
| normalizeValue | - |
| panViewportFrequency | - |
| panViewportTime | - |
| parseColor | - |
| readPrefix | - |
| registerSpectrogramProgram | Registers a custom WebGL2 spectrogram shader program factory under a unique name. |
| registerSpectrogramRenderer | Registers a custom spectrogram renderer factory under a unique name. |
| registerViewer | Registers a custom viewer factory under a unique name. |
| registerWaveformRenderer | Registers a custom waveform renderer factory under a unique name. |
| sampleValueDataPosition | - |
| scaleToHz | - |
| setViewerViewport | - |
| tileFrequencyRange | - |
| tileTimeRange | - |
| timeFrequencyToCanvas | - |
| unregisterSpectrogramProgram | Unregisters a custom WebGL2 spectrogram shader program factory. |
| unregisterSpectrogramRenderer | Unregisters a custom spectrogram renderer factory. |
| unregisterViewer | Unregisters a custom viewer factory. |
| unregisterWaveformRenderer | Unregisters a custom waveform renderer factory. |
| valueDataForMode | - |
| zoomViewportFrequency | - |
| zoomViewportTime | - |