API Reference / RealTimeBpmAnalyzer
Class: RealTimeBpmAnalyzer
Defined in: core/realtime-bpm-analyzer.ts:42
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.
Constructors
Constructor
new RealTimeBpmAnalyzer(options): RealTimeBpmAnalyzer;Defined in: core/realtime-bpm-analyzer.ts:75
Parameters
| Parameter | Type |
|---|---|
options | RealTimeBpmAnalyzerParameters |
Returns
RealTimeBpmAnalyzer
Methods
updateComputedValues()
updateComputedValues(): void;Defined in: core/realtime-bpm-analyzer.ts:83
Update the computed values
Returns
void
reset()
reset(): void;Defined in: core/realtime-bpm-analyzer.ts:90
Reset BPM computation properties to get a fresh start
Returns
void
clearValidPeaks()
clearValidPeaks(minThreshold): Promise<void>;Defined in: core/realtime-bpm-analyzer.ts:102
Remve all validPeaks between the minThreshold pass in param to optimize the weight of datas
Parameters
| Parameter | Type | Description |
|---|---|---|
minThreshold | number | Value between 0.9 and 0.2 |
Returns
Promise<void>
analyzeChunk()
analyzeChunk(options): Promise<void>;Defined in: core/realtime-bpm-analyzer.ts:123
Attach this function to an audioprocess event on a audio/video node to compute BPM / Tempo in realtime
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RealtimeAnalyzeChunkOptions | RealtimeAnalyzeChunkOptions |
Returns
Promise<void>
findPeaks()
findPeaks(options): Promise<void>;Defined in: core/realtime-bpm-analyzer.ts:192
Find the best threshold with enought peaks
Parameters
| Parameter | Type | Description |
|---|---|---|
options | RealtimeFindPeaksOptions | Options for finding peaks |
Returns
Promise<void>
Properties
| Property | Type | Default value | Description | Defined in |
|---|---|---|---|---|
options | RealTimeBpmAnalyzerOptions | undefined | Default configuration | core/realtime-bpm-analyzer.ts:46 |
minValidThreshold | number | undefined | Minimum valid threshold, below this level result would be irrelevant. | core/realtime-bpm-analyzer.ts:56 |
validPeaks | ValidPeaks | undefined | Contain all valid peaks | core/realtime-bpm-analyzer.ts:60 |
nextIndexPeaks | NextIndexPeaks | undefined | Next index (+10000 ...) to take care about peaks | core/realtime-bpm-analyzer.ts:64 |
skipIndexes | number | undefined | Number / Position of chunks | core/realtime-bpm-analyzer.ts:68 |
effectiveBufferTime | number | undefined | - | core/realtime-bpm-analyzer.ts:69 |
computedStabilizationTimeInSeconds | number | 0 | Computed values | core/realtime-bpm-analyzer.ts:73 |