nodejs-audio-visualizer 5.5.3 → 5.6.4

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.
Files changed (49) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +84 -83
  3. package/dist/audio.d.ts +13 -13
  4. package/dist/audio.js +128 -128
  5. package/dist/beats.d.ts +39 -39
  6. package/dist/beats.js +220 -220
  7. package/dist/bpmEncoder.d.ts +14 -14
  8. package/dist/bpmEncoder.js +97 -97
  9. package/dist/config.d.ts +81 -80
  10. package/dist/config.js +392 -391
  11. package/dist/config.js.map +1 -1
  12. package/dist/dsp.d.ts +16 -16
  13. package/dist/dsp.js +76 -76
  14. package/dist/highlight.d.ts +91 -91
  15. package/dist/highlight.js +606 -606
  16. package/dist/image.d.ts +107 -97
  17. package/dist/image.js +614 -545
  18. package/dist/image.js.map +1 -1
  19. package/dist/index.d.ts +98 -96
  20. package/dist/index.js +673 -667
  21. package/dist/index.js.map +1 -1
  22. package/dist/subtitleConvert.d.ts +3 -3
  23. package/dist/subtitleConvert.js +61 -61
  24. package/dist/video.d.ts +171 -171
  25. package/dist/video.js +743 -743
  26. package/dist/waitForEventLoop.d.ts +1 -1
  27. package/dist/waitForEventLoop.js +5 -5
  28. package/package.json +62 -62
  29. package/src/audio.ts +129 -129
  30. package/src/beats.ts +279 -279
  31. package/src/bpmEncoder.ts +97 -97
  32. package/src/config.ts +504 -501
  33. package/src/dsp.ts +95 -95
  34. package/src/highlight.ts +617 -617
  35. package/src/image.ts +791 -707
  36. package/src/index.ts +896 -885
  37. package/src/subtitleConvert.ts +63 -63
  38. package/src/tests/audio.test.ts +102 -102
  39. package/src/tests/beats.test.ts +134 -134
  40. package/src/tests/config.test.ts +568 -553
  41. package/src/tests/dsp.test.ts +24 -24
  42. package/src/tests/highlight.test.ts +397 -397
  43. package/src/tests/image.test.ts +371 -319
  44. package/src/tests/index.test.ts +180 -180
  45. package/src/tests/subtitleConvert.test.ts +23 -23
  46. package/src/tests/video.test.ts +652 -652
  47. package/src/typings.d.ts +28 -28
  48. package/src/video.ts +947 -947
  49. package/src/waitForEventLoop.ts +2 -2
@@ -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
@@ -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
+ }>;