nodejs-audio-visualizer 5.4.0 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/beats.d.ts +9 -4
- package/dist/beats.js +158 -65
- package/dist/beats.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +3 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/video.d.ts +2 -0
- package/dist/video.js +9 -1
- package/dist/video.js.map +1 -1
- package/package.json +2 -3
- package/src/beats.ts +187 -70
- package/src/config.ts +3 -0
- package/src/index.ts +3 -0
- package/src/tests/video.test.ts +652 -614
- package/src/typings.d.ts +0 -22
- package/src/video.ts +948 -937
package/dist/video.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"video.js","sourceRoot":"","sources":["../src/video.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodejs-audio-visualizer",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"bmp-js": "^0.1.0",
|
|
57
57
|
"ffmpeg-static": "^5.2.0",
|
|
58
58
|
"fft-js": "^0.0.12",
|
|
59
|
-
"jimp": "^0.9.3"
|
|
60
|
-
"music-tempo": "^1.0.3"
|
|
59
|
+
"jimp": "^0.9.3"
|
|
61
60
|
}
|
|
62
61
|
}
|
package/src/beats.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import MusicTempo from 'music-tempo';
|
|
2
|
-
|
|
3
1
|
export interface BeatInfo {
|
|
4
2
|
isBeat: boolean;
|
|
5
3
|
intensity: number;
|
|
@@ -28,14 +26,26 @@ export interface TempoEstimate {
|
|
|
28
26
|
beatsSec?: number[];
|
|
29
27
|
}
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
/** Detected tempo is folded (doubled/halved) into this range. */
|
|
30
|
+
export const MIN_TEMPO_BPM = 90;
|
|
32
31
|
export const MAX_TEMPO_BPM = 180;
|
|
33
|
-
export const PREFERRED_TEMPO_BPM_MIN = 90;
|
|
34
|
-
export const PREFERRED_TEMPO_BPM_MAX = 160;
|
|
35
32
|
export const DEFAULT_BASS_END_INDEX = 8;
|
|
36
|
-
/** Longest PCM window
|
|
33
|
+
/** Longest PCM window used for tempo analysis (seconds), taken from the start of the audio. */
|
|
37
34
|
export const MAX_TEMPO_ANALYSIS_SECONDS = 90;
|
|
38
|
-
|
|
35
|
+
/** Band-pass (low pass then high pass) that isolates kick impulses before peak picking. */
|
|
36
|
+
const TEMPO_LOW_PASS_HZ = 150;
|
|
37
|
+
const TEMPO_HIGH_PASS_HZ = 100;
|
|
38
|
+
/** Biquad Q in dB, as in the Web Audio BiquadFilterNode. */
|
|
39
|
+
const TEMPO_FILTER_Q_DB = 1;
|
|
40
|
+
/** Audio is split into parts of this length; each part contributes its loudest sample as a peak. */
|
|
41
|
+
const TEMPO_PART_SECONDS = 0.5;
|
|
42
|
+
/** Each peak is compared with this many following peaks to build intervals. */
|
|
43
|
+
const TEMPO_INTERVAL_NEIGHBOURS = 9;
|
|
44
|
+
/** Peaks are moved left by this share of a beat to land on the start of the hit, not its maximum. */
|
|
45
|
+
const TEMPO_PEAK_LEFT_SHIFT_SHARE = 0.05;
|
|
46
|
+
/** Peaks whose beat offset is within this many seconds of the loudest peak's offset set the phase. */
|
|
47
|
+
const TEMPO_OFFSET_TOLERANCE_SEC = 0.05;
|
|
48
|
+
const SILENCE_THRESHOLD = 1e-4;
|
|
39
49
|
|
|
40
50
|
export const frameBassEnergy = (spectrum: number[], bassEndIndex = DEFAULT_BASS_END_INDEX): number => {
|
|
41
51
|
const end = Math.min(bassEndIndex, spectrum.length);
|
|
@@ -98,29 +108,6 @@ export const createBeatDetector = (fps: number, options?: BeatDetectorOptions) =
|
|
|
98
108
|
};
|
|
99
109
|
};
|
|
100
110
|
|
|
101
|
-
const foldTempoBpm = (bpm: number): number => {
|
|
102
|
-
let folded = bpm;
|
|
103
|
-
while (folded > MAX_TEMPO_BPM && folded / 2 >= MIN_TEMPO_BPM) {
|
|
104
|
-
folded /= 2;
|
|
105
|
-
}
|
|
106
|
-
while (folded < MIN_TEMPO_BPM && folded * 2 <= MAX_TEMPO_BPM) {
|
|
107
|
-
folded *= 2;
|
|
108
|
-
}
|
|
109
|
-
return folded;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
const samplesToArray = (samples: ArrayLike<number>, maxLength: number): number[] => {
|
|
113
|
-
const n = Math.min(samples.length, maxLength);
|
|
114
|
-
if (Array.isArray(samples) && n === samples.length) {
|
|
115
|
-
return samples;
|
|
116
|
-
}
|
|
117
|
-
const audioData = new Array<number>(n);
|
|
118
|
-
for (let i = 0; i < n; i++) {
|
|
119
|
-
audioData[i] = samples[i];
|
|
120
|
-
}
|
|
121
|
-
return audioData;
|
|
122
|
-
};
|
|
123
|
-
|
|
124
111
|
const wrapIntoPeriod = (value: number, period: number): number => {
|
|
125
112
|
if (!(period > 0) || !isFinite(value)) {
|
|
126
113
|
return 0;
|
|
@@ -150,58 +137,188 @@ const circularMeanPhase = (frames: number[], period: number): number => {
|
|
|
150
137
|
return wrapIntoPeriod(phase, period);
|
|
151
138
|
};
|
|
152
139
|
|
|
153
|
-
|
|
140
|
+
/** Signed distance from `value` to `reference` on a circle of length `period`, in [-period/2, period/2). */
|
|
141
|
+
const circularDiff = (value: number, reference: number, period: number): number =>
|
|
142
|
+
wrapIntoPeriod(value - reference + period / 2, period) - period / 2;
|
|
143
|
+
|
|
144
|
+
type BiquadType = 'lowpass' | 'highpass';
|
|
145
|
+
|
|
146
|
+
/** Biquad filter with the Web Audio BiquadFilterNode (RBJ cookbook) coefficients. */
|
|
147
|
+
const biquadFilter = (
|
|
154
148
|
samples: ArrayLike<number>,
|
|
149
|
+
length: number,
|
|
155
150
|
sampleRate: number,
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
151
|
+
type: BiquadType,
|
|
152
|
+
frequency: number,
|
|
153
|
+
qDb: number,
|
|
154
|
+
): Float32Array => {
|
|
155
|
+
const w0 = 2 * Math.PI * Math.min(frequency, sampleRate / 2 - 1) / sampleRate;
|
|
156
|
+
const cosW0 = Math.cos(w0);
|
|
157
|
+
const alpha = Math.sin(w0) / (2 * Math.pow(10, qDb / 20));
|
|
158
|
+
const a0 = 1 + alpha;
|
|
159
|
+
const b1 = (type === 'lowpass' ? 1 - cosW0 : -(1 + cosW0)) / a0;
|
|
160
|
+
const b0 = (type === 'lowpass' ? b1 / 2 : -b1 / 2);
|
|
161
|
+
const b2 = b0;
|
|
162
|
+
const a1 = (-2 * cosW0) / a0;
|
|
163
|
+
const a2 = (1 - alpha) / a0;
|
|
164
|
+
|
|
165
|
+
const out = new Float32Array(length);
|
|
166
|
+
let x1 = 0;
|
|
167
|
+
let x2 = 0;
|
|
168
|
+
let y1 = 0;
|
|
169
|
+
let y2 = 0;
|
|
170
|
+
for (let i = 0; i < length; i++) {
|
|
171
|
+
const x = samples[i];
|
|
172
|
+
const y = b0 * x + b1 * x1 + b2 * x2 - a1 * y1 - a2 * y2;
|
|
173
|
+
out[i] = y;
|
|
174
|
+
x2 = x1;
|
|
175
|
+
x1 = x;
|
|
176
|
+
y2 = y1;
|
|
177
|
+
y1 = y;
|
|
178
|
+
}
|
|
179
|
+
return out;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
interface Peak {
|
|
183
|
+
position: number;
|
|
184
|
+
volume: number;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Loudest sample of each part (`getVolume` picks how a sample is measured). */
|
|
188
|
+
const partPeaks = (
|
|
189
|
+
data: Float32Array,
|
|
190
|
+
partSize: number,
|
|
191
|
+
getVolume: (sample: number) => number,
|
|
192
|
+
positionShift = 0,
|
|
193
|
+
): Peak[] => {
|
|
194
|
+
const peaks: Peak[] = [];
|
|
195
|
+
for (let start = 0; start < data.length; start += partSize) {
|
|
196
|
+
const end = Math.min(start + partSize, data.length);
|
|
197
|
+
let max: Peak | null = null;
|
|
198
|
+
for (let j = start; j < end; j++) {
|
|
199
|
+
const volume = getVolume(data[j]);
|
|
200
|
+
if (!max || volume > max.volume) {
|
|
201
|
+
max = { position: j - positionShift, volume };
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (max) {
|
|
205
|
+
peaks.push(max);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return peaks;
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
/** Loudest half of the per-part peaks, in playback order. */
|
|
212
|
+
const getLoudPeaks = (data: Float32Array, partSize: number): Peak[] => {
|
|
213
|
+
const peaks = partPeaks(data, partSize, Math.abs)
|
|
214
|
+
.sort((a, b) => b.volume - a.volume);
|
|
215
|
+
return peaks
|
|
216
|
+
.slice(0, Math.floor(peaks.length / 2))
|
|
217
|
+
.filter(p => p.volume > SILENCE_THRESHOLD)
|
|
218
|
+
.sort((a, b) => a.position - b.position);
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
const foldTempoBpm = (bpm: number): number => {
|
|
222
|
+
let folded = bpm;
|
|
223
|
+
while (folded <= MIN_TEMPO_BPM) {
|
|
224
|
+
folded *= 2;
|
|
225
|
+
}
|
|
226
|
+
while (folded > MAX_TEMPO_BPM) {
|
|
227
|
+
folded /= 2;
|
|
160
228
|
}
|
|
229
|
+
return folded;
|
|
230
|
+
};
|
|
161
231
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
const
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
const beatInterval = Number(mt.beatInterval);
|
|
174
|
-
let bpm = Number(mt.tempo);
|
|
175
|
-
if (!(bpm > 0) && beatInterval > 0) {
|
|
176
|
-
bpm = 60 / beatInterval;
|
|
232
|
+
/** Most frequent tempo among the intervals between each peak and its following neighbours. */
|
|
233
|
+
const getMostFrequentTempo = (peaks: Peak[], sampleRate: number): number | null => {
|
|
234
|
+
const counts = new Map<number, number>();
|
|
235
|
+
peaks.forEach((peak, index) => {
|
|
236
|
+
for (let i = 1; index + i < peaks.length && i <= TEMPO_INTERVAL_NEIGHBOURS; i++) {
|
|
237
|
+
const distance = peaks[index + i].position - peak.position;
|
|
238
|
+
if (distance <= 0) {
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
const tempo = Math.round(foldTempoBpm((60 * sampleRate) / distance));
|
|
242
|
+
counts.set(tempo, (counts.get(tempo) ?? 0) + 1);
|
|
177
243
|
}
|
|
178
|
-
|
|
179
|
-
|
|
244
|
+
});
|
|
245
|
+
let best: number | null = null;
|
|
246
|
+
let bestCount = 0;
|
|
247
|
+
counts.forEach((count, tempo) => {
|
|
248
|
+
if (count > bestCount) {
|
|
249
|
+
best = tempo;
|
|
250
|
+
bestCount = count;
|
|
180
251
|
}
|
|
252
|
+
});
|
|
253
|
+
return best;
|
|
254
|
+
};
|
|
181
255
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
256
|
+
/**
|
|
257
|
+
* Beat offset in [0, beat) seconds: the loudest peak is taken as a strong beat, and the offsets
|
|
258
|
+
* of peaks that agree with it (within `TEMPO_OFFSET_TOLERANCE_SEC`) are averaged.
|
|
259
|
+
*/
|
|
260
|
+
const getBeatOffsetSec = (data: Float32Array, partSize: number, sampleRate: number, bpm: number): number => {
|
|
261
|
+
const beatSec = 60 / bpm;
|
|
262
|
+
const shift = Math.round(beatSec * TEMPO_PEAK_LEFT_SHIFT_SHARE * sampleRate);
|
|
263
|
+
const peaks = partPeaks(data, partSize, v => v, shift)
|
|
264
|
+
.filter(p => p.volume > SILENCE_THRESHOLD)
|
|
265
|
+
.sort((a, b) => b.volume - a.volume);
|
|
266
|
+
if (peaks.length === 0) {
|
|
267
|
+
return 0;
|
|
268
|
+
}
|
|
269
|
+
const refOffset = wrapIntoPeriod(peaks[0].position / sampleRate, beatSec);
|
|
270
|
+
let diffSum = 0;
|
|
271
|
+
let count = 0;
|
|
272
|
+
for (const peak of peaks) {
|
|
273
|
+
const diff = circularDiff(peak.position / sampleRate, refOffset, beatSec);
|
|
274
|
+
if (Math.abs(diff) < TEMPO_OFFSET_TOLERANCE_SEC) {
|
|
275
|
+
diffSum += diff;
|
|
276
|
+
count++;
|
|
185
277
|
}
|
|
278
|
+
}
|
|
279
|
+
return wrapIntoPeriod(refOffset + diffSum / count, beatSec);
|
|
280
|
+
};
|
|
186
281
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
282
|
+
/**
|
|
283
|
+
* Estimates the track tempo and beat phase (after BeatDetect.js by Arthur Beaulieu):
|
|
284
|
+
* band-pass the audio around the kick, take the loudest sample of every half second,
|
|
285
|
+
* keep the loudest half of those peaks, and pick the most frequent tempo among the intervals
|
|
286
|
+
* between neighbouring peaks. The beat phase comes from the loudest peak and the peaks aligned with it.
|
|
287
|
+
*/
|
|
288
|
+
export const estimateTempo = (
|
|
289
|
+
samples: ArrayLike<number>,
|
|
290
|
+
sampleRate: number,
|
|
291
|
+
fps: number,
|
|
292
|
+
): TempoEstimate | null => {
|
|
293
|
+
if (!samples || samples.length === 0 || !(sampleRate > 0) || !(fps > 0)) {
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
195
296
|
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
297
|
+
const length = Math.min(samples.length, Math.max(1, Math.floor(sampleRate * MAX_TEMPO_ANALYSIS_SECONDS)));
|
|
298
|
+
const lowPassed = biquadFilter(samples, length, sampleRate, 'lowpass', TEMPO_LOW_PASS_HZ, TEMPO_FILTER_Q_DB);
|
|
299
|
+
const data = biquadFilter(lowPassed, length, sampleRate, 'highpass', TEMPO_HIGH_PASS_HZ, TEMPO_FILTER_Q_DB);
|
|
300
|
+
const partSize = Math.max(1, Math.round(sampleRate * TEMPO_PART_SECONDS));
|
|
301
|
+
|
|
302
|
+
const bpm = getMostFrequentTempo(getLoudPeaks(data, partSize), sampleRate);
|
|
303
|
+
if (bpm === null) {
|
|
203
304
|
return null;
|
|
204
305
|
}
|
|
306
|
+
|
|
307
|
+
const beatSec = 60 / bpm;
|
|
308
|
+
const offsetSec = getBeatOffsetSec(data, partSize, sampleRate, bpm);
|
|
309
|
+
const durationSec = length / sampleRate;
|
|
310
|
+
const beatsSec: number[] = [];
|
|
311
|
+
for (let t = offsetSec; t < durationSec; t += beatSec) {
|
|
312
|
+
beatsSec.push(t);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const periodFrames = fps * beatSec;
|
|
316
|
+
return {
|
|
317
|
+
bpm,
|
|
318
|
+
periodFrames,
|
|
319
|
+
phaseFrame: wrapIntoPeriod(offsetSec * fps, periodFrames),
|
|
320
|
+
...(beatsSec.length > 0 ? { beatsSec } : {}),
|
|
321
|
+
};
|
|
205
322
|
};
|
|
206
323
|
|
|
207
324
|
export const shiftTempoPhase = (
|
package/src/config.ts
CHANGED
|
@@ -190,6 +190,9 @@ export const getFPS = (config: Config) =>
|
|
|
190
190
|
export const getOutputResolution = (config: Config) =>
|
|
191
191
|
config.outVideo.resolution;
|
|
192
192
|
|
|
193
|
+
export const getEnhanceFilters = (config: Config) =>
|
|
194
|
+
config.outVideo.enhanceFilters === true;
|
|
195
|
+
|
|
193
196
|
export const getSpectrumBusMargin = () => defaults.spectrumBusMargin;
|
|
194
197
|
|
|
195
198
|
const getSpectrumWidth = (config: Config) =>
|
package/src/index.ts
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
getFrame_processing_delay,
|
|
22
22
|
getVideoTimeouts,
|
|
23
23
|
getOutputResolution,
|
|
24
|
+
getEnhanceFilters,
|
|
24
25
|
rotationAliasValues,
|
|
25
26
|
getSpectrumRotation,
|
|
26
27
|
getSpectrumEffect,
|
|
@@ -101,6 +102,7 @@ export interface Config {
|
|
|
101
102
|
width: number;
|
|
102
103
|
height: number;
|
|
103
104
|
};
|
|
105
|
+
enhanceFilters?: boolean;
|
|
104
106
|
spectrum?: {
|
|
105
107
|
width?: SpectrumSizeValue;
|
|
106
108
|
height?: SpectrumSizeValue;
|
|
@@ -784,6 +786,7 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
|
|
|
784
786
|
}),
|
|
785
787
|
...(ffmpeg_cfr && { crf: ffmpeg_cfr }),
|
|
786
788
|
...(ffmpeg_preset && { preset: ffmpeg_preset }),
|
|
789
|
+
enhanceFilters: getEnhanceFilters(config),
|
|
787
790
|
});
|
|
788
791
|
const exitPromise = waitForProcessExit(
|
|
789
792
|
ffmpegVideoWriter,
|