Skip to content

API Reference


API Reference / RealTimeBpmAnalyzer

Class: RealTimeBpmAnalyzer

Defined in: core/realtime-bpm-analyzer.ts:46

Core analyzer class for real-time BPM detection.

This class manages the state and logic for analyzing audio chunks in real-time to detect beats per minute. It's used internally by the AudioWorklet processor.

Remarks

Most users should use createRealtimeBpmAnalyzer instead of instantiating this class directly. This class is primarily for internal use or advanced scenarios.

Deprecated

This class is an internal implementation detail and will be removed in a future major release. Use createRealtimeBpmAnalyzer instead.

Constructors

Constructor

ts
new RealTimeBpmAnalyzer(options): RealTimeBpmAnalyzer;

Defined in: core/realtime-bpm-analyzer.ts:79

Parameters

ParameterType
optionsRealTimeBpmAnalyzerParameters

Returns

RealTimeBpmAnalyzer

Methods

updateComputedValues()

ts
updateComputedValues(): void;

Defined in: core/realtime-bpm-analyzer.ts:87

Update the computed values

Returns

void


reset()

ts
reset(): void;

Defined in: core/realtime-bpm-analyzer.ts:95

Reset BPM computation properties to get a fresh start

Returns

void


clearValidPeaks()

ts
clearValidPeaks(minThreshold): Promise<void>;

Defined in: core/realtime-bpm-analyzer.ts:107

Remve all validPeaks between the minThreshold pass in param to optimize the weight of datas

Parameters

ParameterTypeDescription
minThresholdnumberValue between 0.9 and 0.2

Returns

Promise<void>


analyzeChunk()

ts
analyzeChunk(options): Promise<void>;

Defined in: core/realtime-bpm-analyzer.ts:131

Attach this function to an audioprocess event on a audio/video node to compute BPM / Tempo in realtime

Parameters

ParameterTypeDescription
optionsRealtimeAnalyzeChunkOptionsRealtimeAnalyzeChunkOptions

Returns

Promise<void>


findPeaks()

ts
findPeaks(options): Promise<void>;

Defined in: core/realtime-bpm-analyzer.ts:212

Find the best threshold with enought peaks

Parameters

ParameterTypeDescription
optionsRealtimeFindPeaksOptionsOptions for finding peaks

Returns

Promise<void>

Properties

PropertyTypeDefault valueDescriptionDefined in
optionsRealTimeBpmAnalyzerOptionsundefinedDefault configurationcore/realtime-bpm-analyzer.ts:50
minValidThresholdnumberundefinedMinimum valid threshold, below this level result would be irrelevant.core/realtime-bpm-analyzer.ts:60
validPeaksValidPeaksundefinedContain all valid peakscore/realtime-bpm-analyzer.ts:64
nextIndexPeaksNextIndexPeaksundefinedNext index (+muteTimeInIndexes samples, see consts.defaultMuteTimeInIndexes) to take care about peakscore/realtime-bpm-analyzer.ts:68
skipIndexesnumberundefinedNumber / Position of chunkscore/realtime-bpm-analyzer.ts:72
effectiveBufferTimenumberundefined-core/realtime-bpm-analyzer.ts:73
computedStabilizationTimeInSecondsnumber0Computed valuescore/realtime-bpm-analyzer.ts:77

Released under the Apache License 2.0