nodejs-audio-visualizer 5.5.2 → 5.6.3
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/LICENSE +21 -21
- package/README.md +84 -83
- package/dist/audio.d.ts +13 -13
- package/dist/audio.js +128 -128
- package/dist/beats.d.ts +39 -44
- package/dist/beats.js +220 -313
- package/dist/beats.js.map +1 -1
- package/dist/bpmEncoder.d.ts +14 -14
- package/dist/bpmEncoder.js +97 -97
- package/dist/config.d.ts +81 -80
- package/dist/config.js +392 -391
- package/dist/config.js.map +1 -1
- package/dist/dsp.d.ts +16 -16
- package/dist/dsp.js +76 -76
- package/dist/highlight.d.ts +91 -91
- package/dist/highlight.js +606 -606
- package/dist/image.d.ts +107 -97
- package/dist/image.js +614 -545
- package/dist/image.js.map +1 -1
- package/dist/index.d.ts +98 -96
- package/dist/index.js +673 -667
- package/dist/index.js.map +1 -1
- package/dist/subtitleConvert.d.ts +3 -3
- package/dist/subtitleConvert.js +61 -61
- package/dist/video.d.ts +171 -171
- package/dist/video.js +743 -743
- package/dist/waitForEventLoop.d.ts +1 -1
- package/dist/waitForEventLoop.js +5 -5
- package/package.json +62 -61
- package/src/audio.ts +129 -129
- package/src/beats.ts +279 -396
- package/src/bpmEncoder.ts +97 -97
- package/src/config.ts +504 -501
- package/src/dsp.ts +95 -95
- package/src/highlight.ts +617 -617
- package/src/image.ts +791 -707
- package/src/index.ts +896 -885
- package/src/subtitleConvert.ts +63 -63
- package/src/tests/audio.test.ts +102 -102
- package/src/tests/beats.test.ts +134 -134
- package/src/tests/config.test.ts +568 -553
- package/src/tests/dsp.test.ts +24 -24
- package/src/tests/highlight.test.ts +397 -397
- package/src/tests/image.test.ts +371 -319
- package/src/tests/index.test.ts +180 -180
- package/src/tests/subtitleConvert.test.ts +23 -23
- package/src/typings.d.ts +28 -6
- package/src/waitForEventLoop.ts +2 -2
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/dsp.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export interface SpectrumPoint {
|
|
2
|
-
frequency: number;
|
|
3
|
-
magnitude: number;
|
|
4
|
-
}
|
|
5
|
-
export interface FrequencyBus {
|
|
6
|
-
startFreq: number;
|
|
7
|
-
endFreq: number;
|
|
8
|
-
magnitude: number;
|
|
9
|
-
}
|
|
10
|
-
export declare const FREQUENCY_BANDS: {
|
|
11
|
-
name: string;
|
|
12
|
-
start: number;
|
|
13
|
-
end: number;
|
|
14
|
-
}[];
|
|
15
|
-
export declare const brutForceFFTSignalLength: (PCMDataLength: number) => number;
|
|
16
|
-
export declare const getSpectrum: (PCMData: number[], sampleRate: number) => number[];
|
|
1
|
+
export interface SpectrumPoint {
|
|
2
|
+
frequency: number;
|
|
3
|
+
magnitude: number;
|
|
4
|
+
}
|
|
5
|
+
export interface FrequencyBus {
|
|
6
|
+
startFreq: number;
|
|
7
|
+
endFreq: number;
|
|
8
|
+
magnitude: number;
|
|
9
|
+
}
|
|
10
|
+
export declare const FREQUENCY_BANDS: {
|
|
11
|
+
name: string;
|
|
12
|
+
start: number;
|
|
13
|
+
end: number;
|
|
14
|
+
}[];
|
|
15
|
+
export declare const brutForceFFTSignalLength: (PCMDataLength: number) => number;
|
|
16
|
+
export declare const getSpectrum: (PCMData: number[], sampleRate: number) => number[];
|
package/dist/dsp.js
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var fft_js_1 = require("fft-js");
|
|
4
|
-
// Common frequency bands (in Hz)
|
|
5
|
-
exports.FREQUENCY_BANDS = [
|
|
6
|
-
{ name: 'Sub Bass 1', start: 20, end: 30 },
|
|
7
|
-
{ name: 'Sub Bass 2', start: 30, end: 40 },
|
|
8
|
-
{ name: 'Sub Bass 3', start: 50, end: 60 },
|
|
9
|
-
{ name: 'Sub Bass 4', start: 20, end: 60 },
|
|
10
|
-
{ name: 'Bass 1', start: 60, end: 107.5 },
|
|
11
|
-
{ name: 'Bass 2', start: 107.5, end: 155 },
|
|
12
|
-
{ name: 'Bass 3', start: 155, end: 202.5 },
|
|
13
|
-
{ name: 'Bass 4', start: 202.5, end: 250 },
|
|
14
|
-
{ name: 'Low Mids 1', start: 250, end: 312.5 },
|
|
15
|
-
{ name: 'Low Mids 2', start: 312.5, end: 375 },
|
|
16
|
-
{ name: 'Low Mids 3', start: 375, end: 437.5 },
|
|
17
|
-
{ name: 'Low Mids 4', start: 437.5, end: 500 },
|
|
18
|
-
{ name: 'Mids 1', start: 500, end: 875 },
|
|
19
|
-
{ name: 'Mids 2', start: 875, end: 1250 },
|
|
20
|
-
{ name: 'Mids 3', start: 1250, end: 1625 },
|
|
21
|
-
{ name: 'Mids 4', start: 1625, end: 2000 },
|
|
22
|
-
{ name: 'High Mids 1', start: 2000, end: 2500 },
|
|
23
|
-
{ name: 'High Mids 2', start: 2500, end: 3000 },
|
|
24
|
-
{ name: 'High Mids 3', start: 3000, end: 3500 },
|
|
25
|
-
{ name: 'High Mids 4', start: 3500, end: 4000 },
|
|
26
|
-
{ name: 'Presence 1', start: 4000, end: 5000 },
|
|
27
|
-
{ name: 'Presence 2', start: 5000, end: 6000 },
|
|
28
|
-
{ name: 'Brilliance 1', start: 6000, end: 13000 },
|
|
29
|
-
{ name: 'Brilliance 2', start: 13000, end: 20000 },
|
|
30
|
-
];
|
|
31
|
-
var combineToBuses = function (spectrum) {
|
|
32
|
-
return exports.FREQUENCY_BANDS.map(function (band) {
|
|
33
|
-
var pointsInBand = spectrum.filter(function (point) {
|
|
34
|
-
return point.frequency >= band.start && point.frequency < band.end;
|
|
35
|
-
});
|
|
36
|
-
// If no points found in this band, return zero magnitude
|
|
37
|
-
if (pointsInBand.length === 0) {
|
|
38
|
-
return 0;
|
|
39
|
-
}
|
|
40
|
-
// Average the magnitudes in this frequency band
|
|
41
|
-
var avgMagnitude = pointsInBand.reduce(function (sum, point) {
|
|
42
|
-
return sum + point.magnitude;
|
|
43
|
-
}, 0) / pointsInBand.length;
|
|
44
|
-
return avgMagnitude;
|
|
45
|
-
});
|
|
46
|
-
};
|
|
47
|
-
exports.brutForceFFTSignalLength = function (PCMDataLength) {
|
|
48
|
-
var exponent = 1;
|
|
49
|
-
while (true) {
|
|
50
|
-
var pow = Math.pow(2, exponent);
|
|
51
|
-
if ((pow * 2) > PCMDataLength) {
|
|
52
|
-
return Math.pow(2, exponent - 1) * 2;
|
|
53
|
-
}
|
|
54
|
-
exponent++;
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
exports.getSpectrum = function (PCMData, sampleRate) {
|
|
58
|
-
var signalLength = exports.brutForceFFTSignalLength(PCMData.length);
|
|
59
|
-
var signalStartIndex = Math.trunc(PCMData.length / 2 - signalLength / 2);
|
|
60
|
-
var signal = PCMData.slice(signalStartIndex, signalStartIndex + signalLength);
|
|
61
|
-
// Use fft-js to compute the FFT
|
|
62
|
-
var phasors = fft_js_1.fft(signal);
|
|
63
|
-
var frequencies = fft_js_1.util.fftFreq(phasors, sampleRate);
|
|
64
|
-
var magnitudes = fft_js_1.util.fftMag(phasors);
|
|
65
|
-
// Create combined spectrum array with both frequency and magnitude
|
|
66
|
-
var spectrum = frequencies.map(function (freq, i) { return ({
|
|
67
|
-
frequency: freq,
|
|
68
|
-
magnitude: magnitudes[i]
|
|
69
|
-
}); });
|
|
70
|
-
// Apply frequency-dependent scaling
|
|
71
|
-
for (var i = 0; i < spectrum.length; i++) {
|
|
72
|
-
spectrum[i].magnitude *= -1 * Math.log((signalLength / 2 - i) * (0.5 / signalLength / 2)) * signalLength;
|
|
73
|
-
}
|
|
74
|
-
// Combine frequencies into buses
|
|
75
|
-
return combineToBuses(spectrum);
|
|
76
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var fft_js_1 = require("fft-js");
|
|
4
|
+
// Common frequency bands (in Hz)
|
|
5
|
+
exports.FREQUENCY_BANDS = [
|
|
6
|
+
{ name: 'Sub Bass 1', start: 20, end: 30 },
|
|
7
|
+
{ name: 'Sub Bass 2', start: 30, end: 40 },
|
|
8
|
+
{ name: 'Sub Bass 3', start: 50, end: 60 },
|
|
9
|
+
{ name: 'Sub Bass 4', start: 20, end: 60 },
|
|
10
|
+
{ name: 'Bass 1', start: 60, end: 107.5 },
|
|
11
|
+
{ name: 'Bass 2', start: 107.5, end: 155 },
|
|
12
|
+
{ name: 'Bass 3', start: 155, end: 202.5 },
|
|
13
|
+
{ name: 'Bass 4', start: 202.5, end: 250 },
|
|
14
|
+
{ name: 'Low Mids 1', start: 250, end: 312.5 },
|
|
15
|
+
{ name: 'Low Mids 2', start: 312.5, end: 375 },
|
|
16
|
+
{ name: 'Low Mids 3', start: 375, end: 437.5 },
|
|
17
|
+
{ name: 'Low Mids 4', start: 437.5, end: 500 },
|
|
18
|
+
{ name: 'Mids 1', start: 500, end: 875 },
|
|
19
|
+
{ name: 'Mids 2', start: 875, end: 1250 },
|
|
20
|
+
{ name: 'Mids 3', start: 1250, end: 1625 },
|
|
21
|
+
{ name: 'Mids 4', start: 1625, end: 2000 },
|
|
22
|
+
{ name: 'High Mids 1', start: 2000, end: 2500 },
|
|
23
|
+
{ name: 'High Mids 2', start: 2500, end: 3000 },
|
|
24
|
+
{ name: 'High Mids 3', start: 3000, end: 3500 },
|
|
25
|
+
{ name: 'High Mids 4', start: 3500, end: 4000 },
|
|
26
|
+
{ name: 'Presence 1', start: 4000, end: 5000 },
|
|
27
|
+
{ name: 'Presence 2', start: 5000, end: 6000 },
|
|
28
|
+
{ name: 'Brilliance 1', start: 6000, end: 13000 },
|
|
29
|
+
{ name: 'Brilliance 2', start: 13000, end: 20000 },
|
|
30
|
+
];
|
|
31
|
+
var combineToBuses = function (spectrum) {
|
|
32
|
+
return exports.FREQUENCY_BANDS.map(function (band) {
|
|
33
|
+
var pointsInBand = spectrum.filter(function (point) {
|
|
34
|
+
return point.frequency >= band.start && point.frequency < band.end;
|
|
35
|
+
});
|
|
36
|
+
// If no points found in this band, return zero magnitude
|
|
37
|
+
if (pointsInBand.length === 0) {
|
|
38
|
+
return 0;
|
|
39
|
+
}
|
|
40
|
+
// Average the magnitudes in this frequency band
|
|
41
|
+
var avgMagnitude = pointsInBand.reduce(function (sum, point) {
|
|
42
|
+
return sum + point.magnitude;
|
|
43
|
+
}, 0) / pointsInBand.length;
|
|
44
|
+
return avgMagnitude;
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
exports.brutForceFFTSignalLength = function (PCMDataLength) {
|
|
48
|
+
var exponent = 1;
|
|
49
|
+
while (true) {
|
|
50
|
+
var pow = Math.pow(2, exponent);
|
|
51
|
+
if ((pow * 2) > PCMDataLength) {
|
|
52
|
+
return Math.pow(2, exponent - 1) * 2;
|
|
53
|
+
}
|
|
54
|
+
exponent++;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.getSpectrum = function (PCMData, sampleRate) {
|
|
58
|
+
var signalLength = exports.brutForceFFTSignalLength(PCMData.length);
|
|
59
|
+
var signalStartIndex = Math.trunc(PCMData.length / 2 - signalLength / 2);
|
|
60
|
+
var signal = PCMData.slice(signalStartIndex, signalStartIndex + signalLength);
|
|
61
|
+
// Use fft-js to compute the FFT
|
|
62
|
+
var phasors = fft_js_1.fft(signal);
|
|
63
|
+
var frequencies = fft_js_1.util.fftFreq(phasors, sampleRate);
|
|
64
|
+
var magnitudes = fft_js_1.util.fftMag(phasors);
|
|
65
|
+
// Create combined spectrum array with both frequency and magnitude
|
|
66
|
+
var spectrum = frequencies.map(function (freq, i) { return ({
|
|
67
|
+
frequency: freq,
|
|
68
|
+
magnitude: magnitudes[i]
|
|
69
|
+
}); });
|
|
70
|
+
// Apply frequency-dependent scaling
|
|
71
|
+
for (var i = 0; i < spectrum.length; i++) {
|
|
72
|
+
spectrum[i].magnitude *= -1 * Math.log((signalLength / 2 - i) * (0.5 / signalLength / 2)) * signalLength;
|
|
73
|
+
}
|
|
74
|
+
// Combine frequencies into buses
|
|
75
|
+
return combineToBuses(spectrum);
|
|
76
|
+
};
|
|
77
77
|
//# sourceMappingURL=dsp.js.map
|
package/dist/highlight.d.ts
CHANGED
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
/** Output length per segment when `audio.autoHighlight` is true (seconds). */
|
|
2
|
-
export declare const HIGHLIGHT_DURATION_SEC = 15;
|
|
3
|
-
export interface BeatFrameEvent {
|
|
4
|
-
frameIndex: number;
|
|
5
|
-
intensity: number;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* How far (seconds) a highlight boundary may move to land on a beat. The final length can
|
|
9
|
-
* therefore differ from `HIGHLIGHT_DURATION_SEC` by up to twice this value.
|
|
10
|
-
*/
|
|
11
|
-
export declare const MAX_BEAT_SNAP_SEC = 1.5;
|
|
12
|
-
/** Seconds of audio compared before and after a frame to score it as a drop. */
|
|
13
|
-
export declare const DROP_WINDOW_SEC = 4;
|
|
14
|
-
/** Tempo grid used to snap highlight cuts to beats (subset of `TempoEstimate`). */
|
|
15
|
-
export interface HighlightBeatGrid {
|
|
16
|
-
periodFrames: number;
|
|
17
|
-
phaseFrame: number;
|
|
18
|
-
/** Beat times in seconds from the start of the audio. */
|
|
19
|
-
beatsSec?: number[];
|
|
20
|
-
}
|
|
21
|
-
export interface HighlightAudioSegment {
|
|
22
|
-
seekSeconds: number;
|
|
23
|
-
durationSeconds: number;
|
|
24
|
-
/** Silence played before the audio, for a lead-in reaching back past the track start. */
|
|
25
|
-
delaySeconds?: number;
|
|
26
|
-
}
|
|
27
|
-
/** One auto-highlight segment before concatenation (for separate output files). */
|
|
28
|
-
export interface HighlightRun {
|
|
29
|
-
startFrame: number;
|
|
30
|
-
highlightFrames: number;
|
|
31
|
-
spectrums: number[][];
|
|
32
|
-
beatFrameIndices: number[];
|
|
33
|
-
beatIntensities: number[];
|
|
34
|
-
audioSegment: HighlightAudioSegment;
|
|
35
|
-
/** Frames from the run start to the detected drop (or window start); set when a lead-in was requested. */
|
|
36
|
-
leadInFrames?: number;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Moves a drop (and its window start with it) onto the nearest beat within `DROP_BEAT_SNAP_SHARE`
|
|
40
|
-
* of a beat. Only done with a tempo grid: raw onsets alone are too unreliable to override the
|
|
41
|
-
* energy onset. A lead-in that fit in the track is never pushed back past its start.
|
|
42
|
-
*/
|
|
43
|
-
export declare function snapDropToBeat(drop: {
|
|
44
|
-
startFrame: number;
|
|
45
|
-
dropFrame: number;
|
|
46
|
-
}, beatFrames: number[], periodFrames?: number): void;
|
|
47
|
-
/**
|
|
48
|
-
* Beat frames (sorted, unique, within [0, totalFrames]) where a highlight may start or end.
|
|
49
|
-
* With a tempo grid: tracked beats from the analyzed region, then the regular grid beyond it
|
|
50
|
-
* (each grid beat nudged onto a nearby detected onset to follow slight tempo drift).
|
|
51
|
-
* Without one: the detected onset beats.
|
|
52
|
-
*/
|
|
53
|
-
export declare function buildBeatCandidates(fps: number, totalFrames: number, beatEvents: BeatFrameEvent[], beatGrid?: HighlightBeatGrid | null): number[];
|
|
54
|
-
/**
|
|
55
|
-
* Moves a fixed-length window's start and end onto beats (each by at most `maxShiftFrames`),
|
|
56
|
-
* preferring lengths that span whole bars when the beat period is known.
|
|
57
|
-
* Boundaries without a nearby beat stay where they are.
|
|
58
|
-
*/
|
|
59
|
-
export declare function snapSegmentToBeats(seg: {
|
|
60
|
-
startFrame: number;
|
|
61
|
-
highlightFrames: number;
|
|
62
|
-
}, totalFrames: number, beatFrames: number[], maxShiftFrames: number, periodFrames?: number,
|
|
63
|
-
/** Keep the start where it is and only move the end. */
|
|
64
|
-
lockStart?: boolean): {
|
|
65
|
-
startFrame: number;
|
|
66
|
-
highlightFrames: number;
|
|
67
|
-
};
|
|
68
|
-
/**
|
|
69
|
-
* Picks up to `segmentCount` non-overlapping ~15s windows with highest summed spectral energy each,
|
|
70
|
-
* moves their boundaries onto beats (see `snapSegmentToBeats`), sorts them chronologically,
|
|
71
|
-
* concatenates spectrums, and remaps beat indices.
|
|
72
|
-
*
|
|
73
|
-
* With `leadInFrames` (e.g. a hook video's length), each window is instead built around a detected
|
|
74
|
-
* drop: it starts `leadInFrames` before the drop, so the whole lead-in plays and ends on the drop
|
|
75
|
-
* (see `HighlightRun.leadInFrames`), and runs ~15s past the drop, so the lead-in is added on top of
|
|
76
|
-
* the ~15s rather than taken out of it. With a tempo grid, the drop is moved onto a nearby beat
|
|
77
|
-
* (see `snapDropToBeat`), so the hook ends on the beat. When no drop fits, the lead-in is put before the energy
|
|
78
|
-
* window instead. The lead-in is never shortened: where it reaches back past the track start,
|
|
79
|
-
* the run starts at a negative frame and that part is silent (see `buildHighlightRun`).
|
|
80
|
-
*/
|
|
81
|
-
export declare function computeHighlightSlice(fps: number, totalFrames: number, spectrums: number[][], beatEvents: BeatFrameEvent[], segmentCount?: number, beatGrid?: HighlightBeatGrid | null, leadInFrames?: number): Promise<{
|
|
82
|
-
startFrame: number;
|
|
83
|
-
highlightFrames: number;
|
|
84
|
-
spectrums: number[][];
|
|
85
|
-
beatFrameIndices: number[];
|
|
86
|
-
beatIntensities: number[];
|
|
87
|
-
audioSeekSeconds: number;
|
|
88
|
-
audioDurationSeconds: number;
|
|
89
|
-
audioSegments: HighlightAudioSegment[];
|
|
90
|
-
runs: HighlightRun[];
|
|
91
|
-
}>;
|
|
1
|
+
/** Output length per segment when `audio.autoHighlight` is true (seconds). */
|
|
2
|
+
export declare const HIGHLIGHT_DURATION_SEC = 15;
|
|
3
|
+
export interface BeatFrameEvent {
|
|
4
|
+
frameIndex: number;
|
|
5
|
+
intensity: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* How far (seconds) a highlight boundary may move to land on a beat. The final length can
|
|
9
|
+
* therefore differ from `HIGHLIGHT_DURATION_SEC` by up to twice this value.
|
|
10
|
+
*/
|
|
11
|
+
export declare const MAX_BEAT_SNAP_SEC = 1.5;
|
|
12
|
+
/** Seconds of audio compared before and after a frame to score it as a drop. */
|
|
13
|
+
export declare const DROP_WINDOW_SEC = 4;
|
|
14
|
+
/** Tempo grid used to snap highlight cuts to beats (subset of `TempoEstimate`). */
|
|
15
|
+
export interface HighlightBeatGrid {
|
|
16
|
+
periodFrames: number;
|
|
17
|
+
phaseFrame: number;
|
|
18
|
+
/** Beat times in seconds from the start of the audio. */
|
|
19
|
+
beatsSec?: number[];
|
|
20
|
+
}
|
|
21
|
+
export interface HighlightAudioSegment {
|
|
22
|
+
seekSeconds: number;
|
|
23
|
+
durationSeconds: number;
|
|
24
|
+
/** Silence played before the audio, for a lead-in reaching back past the track start. */
|
|
25
|
+
delaySeconds?: number;
|
|
26
|
+
}
|
|
27
|
+
/** One auto-highlight segment before concatenation (for separate output files). */
|
|
28
|
+
export interface HighlightRun {
|
|
29
|
+
startFrame: number;
|
|
30
|
+
highlightFrames: number;
|
|
31
|
+
spectrums: number[][];
|
|
32
|
+
beatFrameIndices: number[];
|
|
33
|
+
beatIntensities: number[];
|
|
34
|
+
audioSegment: HighlightAudioSegment;
|
|
35
|
+
/** Frames from the run start to the detected drop (or window start); set when a lead-in was requested. */
|
|
36
|
+
leadInFrames?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Moves a drop (and its window start with it) onto the nearest beat within `DROP_BEAT_SNAP_SHARE`
|
|
40
|
+
* of a beat. Only done with a tempo grid: raw onsets alone are too unreliable to override the
|
|
41
|
+
* energy onset. A lead-in that fit in the track is never pushed back past its start.
|
|
42
|
+
*/
|
|
43
|
+
export declare function snapDropToBeat(drop: {
|
|
44
|
+
startFrame: number;
|
|
45
|
+
dropFrame: number;
|
|
46
|
+
}, beatFrames: number[], periodFrames?: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Beat frames (sorted, unique, within [0, totalFrames]) where a highlight may start or end.
|
|
49
|
+
* With a tempo grid: tracked beats from the analyzed region, then the regular grid beyond it
|
|
50
|
+
* (each grid beat nudged onto a nearby detected onset to follow slight tempo drift).
|
|
51
|
+
* Without one: the detected onset beats.
|
|
52
|
+
*/
|
|
53
|
+
export declare function buildBeatCandidates(fps: number, totalFrames: number, beatEvents: BeatFrameEvent[], beatGrid?: HighlightBeatGrid | null): number[];
|
|
54
|
+
/**
|
|
55
|
+
* Moves a fixed-length window's start and end onto beats (each by at most `maxShiftFrames`),
|
|
56
|
+
* preferring lengths that span whole bars when the beat period is known.
|
|
57
|
+
* Boundaries without a nearby beat stay where they are.
|
|
58
|
+
*/
|
|
59
|
+
export declare function snapSegmentToBeats(seg: {
|
|
60
|
+
startFrame: number;
|
|
61
|
+
highlightFrames: number;
|
|
62
|
+
}, totalFrames: number, beatFrames: number[], maxShiftFrames: number, periodFrames?: number,
|
|
63
|
+
/** Keep the start where it is and only move the end. */
|
|
64
|
+
lockStart?: boolean): {
|
|
65
|
+
startFrame: number;
|
|
66
|
+
highlightFrames: number;
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* Picks up to `segmentCount` non-overlapping ~15s windows with highest summed spectral energy each,
|
|
70
|
+
* moves their boundaries onto beats (see `snapSegmentToBeats`), sorts them chronologically,
|
|
71
|
+
* concatenates spectrums, and remaps beat indices.
|
|
72
|
+
*
|
|
73
|
+
* With `leadInFrames` (e.g. a hook video's length), each window is instead built around a detected
|
|
74
|
+
* drop: it starts `leadInFrames` before the drop, so the whole lead-in plays and ends on the drop
|
|
75
|
+
* (see `HighlightRun.leadInFrames`), and runs ~15s past the drop, so the lead-in is added on top of
|
|
76
|
+
* the ~15s rather than taken out of it. With a tempo grid, the drop is moved onto a nearby beat
|
|
77
|
+
* (see `snapDropToBeat`), so the hook ends on the beat. When no drop fits, the lead-in is put before the energy
|
|
78
|
+
* window instead. The lead-in is never shortened: where it reaches back past the track start,
|
|
79
|
+
* the run starts at a negative frame and that part is silent (see `buildHighlightRun`).
|
|
80
|
+
*/
|
|
81
|
+
export declare function computeHighlightSlice(fps: number, totalFrames: number, spectrums: number[][], beatEvents: BeatFrameEvent[], segmentCount?: number, beatGrid?: HighlightBeatGrid | null, leadInFrames?: number): Promise<{
|
|
82
|
+
startFrame: number;
|
|
83
|
+
highlightFrames: number;
|
|
84
|
+
spectrums: number[][];
|
|
85
|
+
beatFrameIndices: number[];
|
|
86
|
+
beatIntensities: number[];
|
|
87
|
+
audioSeekSeconds: number;
|
|
88
|
+
audioDurationSeconds: number;
|
|
89
|
+
audioSegments: HighlightAudioSegment[];
|
|
90
|
+
runs: HighlightRun[];
|
|
91
|
+
}>;
|