nodejs-audio-visualizer 4.1.0 → 4.1.2

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 CHANGED
@@ -6,10 +6,10 @@ Supports PNG, JPG for images, MP4/MOV/AVI/MKV for background videos, and MP3, WA
6
6
  ```javascript
7
7
  const renderAudioVisualizer = require('nodejs-audio-visualizer').renderAudioVisualizer;
8
8
  const config = {
9
- image: {
9
+ image: { // Optional.
10
10
  path: 'media/background.png' // Supports PNG and JPG images. Use either 'image' or 'video', not both.
11
11
  },
12
- // OR use a video as background:
12
+ // OR use a video as background (optional):
13
13
  // video: {
14
14
  // path: 'media/background.mp4', // Supports MP4, MOV, AVI, MKV. Loops automatically if shorter than audio.
15
15
  // autoEdit: true, // Optional. Detects scene cuts and advances between them on each beat so the background edits with the music; omit or false for one continuous play-through from the start.
@@ -53,12 +53,7 @@ const onProgress = (progressPercent: number) => { // not necessary callback
53
53
  console.log(`progress: ${progressPercent} %`);
54
54
  };
55
55
 
56
- let counter = 0;
57
56
  const shouldStop = () => { // not necessary callback
58
- if (counter > 5) {
59
- return true;
60
- }
61
- counter++;
62
57
  return false;
63
58
  };
64
59
 
package/dist/index.js CHANGED
@@ -91,28 +91,45 @@ var createVisualizerFrameGenerator = function (config, backgroundWidth, backgrou
91
91
  return createSpectrumVisualizerFrame(__assign(__assign({}, params), { size: { width: spectrumWidth, height: spectrumHeight }, position: { x: spectrumX, y: spectrumY }, rotation: spectrumRotation, margin: spectrumBusMargin, color: spectrumColor, opacity: spectrumOpacity, spectrumEffect: spectrumEffect }));
92
92
  };
93
93
  };
94
- var preProcessAudio = function (audioBuffer, sampleRate, fps, framesCount) {
95
- var audioDataStep = Math.trunc(audioBuffer.length / framesCount);
96
- var processingBuffer = new Float32Array(PROCESSING_BUFFER_SIZE).fill(0);
97
- var skipFramesCount = fps < 45 ? 1 : 2;
98
- var processSpectrum = audio_1.createSpectrumsProcessor(sampleRate, skipFramesCount);
99
- var detectBeat = beats_1.createBeatDetector(fps);
100
- var spectrums = [];
101
- var beatFrameIndices = [];
102
- for (var i = 0; i < framesCount; i++) {
103
- var currentFrameData = exports.PCM_FORMAT.parseFunction(audioBuffer, i * audioDataStep, i * audioDataStep + audioDataStep);
104
- processingBuffer.copyWithin(0, currentFrameData.length);
105
- processingBuffer.set(currentFrameData, PROCESSING_BUFFER_SIZE - currentFrameData.length);
106
- var audioDataParser = function () { return Array.from(processingBuffer); };
107
- var spectrum = processSpectrum(audioDataParser);
108
- var beat = detectBeat(spectrum);
109
- spectrums.push(spectrum);
110
- if (beat.isBeat) {
111
- beatFrameIndices.push(i);
94
+ var PREPROCESS_YIELD_EVERY = 1;
95
+ var preProcessAudio = function (audioBuffer, sampleRate, fps, framesCount) { return __awaiter(void 0, void 0, void 0, function () {
96
+ var audioDataStep, processingBuffer, skipFramesCount, processSpectrum, detectBeat, spectrums, beatFrameIndices, i, currentFrameData, audioDataParser, spectrum, beat;
97
+ return __generator(this, function (_a) {
98
+ switch (_a.label) {
99
+ case 0:
100
+ audioDataStep = Math.trunc(audioBuffer.length / framesCount);
101
+ processingBuffer = new Float32Array(PROCESSING_BUFFER_SIZE).fill(0);
102
+ skipFramesCount = fps < 45 ? 1 : 2;
103
+ processSpectrum = audio_1.createSpectrumsProcessor(sampleRate, skipFramesCount);
104
+ detectBeat = beats_1.createBeatDetector(fps);
105
+ spectrums = [];
106
+ beatFrameIndices = [];
107
+ i = 0;
108
+ _a.label = 1;
109
+ case 1:
110
+ if (!(i < framesCount)) return [3 /*break*/, 4];
111
+ currentFrameData = exports.PCM_FORMAT.parseFunction(audioBuffer, i * audioDataStep, i * audioDataStep + audioDataStep);
112
+ processingBuffer.copyWithin(0, currentFrameData.length);
113
+ processingBuffer.set(currentFrameData, PROCESSING_BUFFER_SIZE - currentFrameData.length);
114
+ audioDataParser = function () { return Array.from(processingBuffer); };
115
+ spectrum = processSpectrum(audioDataParser);
116
+ beat = detectBeat(spectrum);
117
+ spectrums.push(spectrum);
118
+ if (beat.isBeat) {
119
+ beatFrameIndices.push(i);
120
+ }
121
+ if (!((i + 1) % PREPROCESS_YIELD_EVERY === 0)) return [3 /*break*/, 3];
122
+ return [4 /*yield*/, new Promise(function (resolve) { return setImmediate(resolve); })];
123
+ case 2:
124
+ _a.sent();
125
+ _a.label = 3;
126
+ case 3:
127
+ i++;
128
+ return [3 /*break*/, 1];
129
+ case 4: return [2 /*return*/, { spectrums: spectrums, beatFrameIndices: beatFrameIndices }];
112
130
  }
113
- }
114
- return { spectrums: spectrums, beatFrameIndices: beatFrameIndices };
115
- };
131
+ });
132
+ }); };
116
133
  function prepareBackgroundForRender(params) {
117
134
  var _a, _b, _c, _d, _e, _f;
118
135
  return __awaiter(this, void 0, void 0, function () {
@@ -248,7 +265,12 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
248
265
  audioDuration = audioBuffer.length / sampleRate;
249
266
  framesCount = Math.trunc(audioDuration * FPS);
250
267
  outputResolution = config_1.getOutputResolution(config);
251
- preprocessed = preProcessAudio(audioBuffer, sampleRate, FPS, framesCount);
268
+ if (onProgress) {
269
+ onProgress(0);
270
+ }
271
+ return [4 /*yield*/, preProcessAudio(audioBuffer, sampleRate, FPS, framesCount)];
272
+ case 2:
273
+ preprocessed = _b.sent();
252
274
  return [4 /*yield*/, prepareBackgroundForRender({
253
275
  useVideoBackground: useVideoBackground,
254
276
  backgroundVideoPath: backgroundVideoPath,
@@ -259,15 +281,15 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
259
281
  fps: FPS,
260
282
  autoEditVideo: config_1.getAutoEditVideo(config),
261
283
  })];
262
- case 2:
284
+ case 3:
263
285
  _a = _b.sent(), backgroundWidth = _a.backgroundWidth, backgroundHeight = _a.backgroundHeight, defaultColor = _a.defaultColor, staticBackgroundBuffer = _a.staticBackgroundBuffer, videoFrameReader = _a.videoFrameReader, videoFrameSize = _a.videoFrameSize, encodeVideoFrame = _a.encodeVideoFrame, concatFilePath = _a.concatFilePath;
264
286
  createVisualizerFrame = createVisualizerFrameGenerator(config, backgroundWidth, backgroundHeight, defaultColor, spectrumBusMargin);
265
287
  ffmpegVideoWriter = video_1.spawnFfmpegVideoWriter(__assign(__assign(__assign({ audioFilename: audioFilePath, videoFileName: outVideoPath, fps: FPS }, (!!onProgress && { onStderr: video_1.getProgress(video_1.calculateProgress(framesCount + 1, onProgress)) })), (ffmpeg_cfr && { crf: ffmpeg_cfr })), (ffmpeg_preset && { preset: ffmpeg_preset })));
266
288
  ffmpegVideoWriter.on('exit', function (code) { return resolve(code); });
267
289
  i = 0;
268
- _b.label = 3;
269
- case 3:
270
- if (!(i < framesCount)) return [3 /*break*/, 9];
290
+ _b.label = 4;
291
+ case 4:
292
+ if (!(i < framesCount)) return [3 /*break*/, 10];
271
293
  spectrum = preprocessed.spectrums[i];
272
294
  return [4 /*yield*/, resolveBackgroundFrameBuffer({
273
295
  frameIndex: i,
@@ -277,7 +299,7 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
277
299
  encodeVideoFrame: encodeVideoFrame,
278
300
  staticBackgroundBuffer: staticBackgroundBuffer,
279
301
  })];
280
- case 4:
302
+ case 5:
281
303
  backgroundImageBuffer = _b.sent();
282
304
  commonVisualizerFrameProps = {
283
305
  backgroundImageBuffer: backgroundImageBuffer,
@@ -285,24 +307,24 @@ exports.renderAudioVisualizer = function (config, onProgress, shouldStop) {
285
307
  };
286
308
  frameImage = createVisualizerFrame(commonVisualizerFrameProps);
287
309
  isFrameProcessed = ffmpegVideoWriter.stdin.write(frameImage.data);
288
- if (!!isFrameProcessed) return [3 /*break*/, 6];
310
+ if (!!isFrameProcessed) return [3 /*break*/, 7];
289
311
  return [4 /*yield*/, video_1.waitDrain(ffmpegVideoWriter.stdin)];
290
- case 5:
291
- _b.sent();
292
- _b.label = 6;
293
312
  case 6:
313
+ _b.sent();
314
+ _b.label = 7;
315
+ case 7:
294
316
  if (shouldStop && shouldStop()) {
295
- return [3 /*break*/, 9];
317
+ return [3 /*break*/, 10];
296
318
  }
297
- if (!frame_processing_delay) return [3 /*break*/, 8];
319
+ if (!frame_processing_delay) return [3 /*break*/, 9];
298
320
  return [4 /*yield*/, sleep(frame_processing_delay)];
299
- case 7:
300
- _b.sent();
301
- _b.label = 8;
302
321
  case 8:
303
- i++;
304
- return [3 /*break*/, 3];
322
+ _b.sent();
323
+ _b.label = 9;
305
324
  case 9:
325
+ i++;
326
+ return [3 /*break*/, 4];
327
+ case 10:
306
328
  if (videoFrameReader) {
307
329
  videoFrameReader.kill();
308
330
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.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": "4.1.0",
3
+ "version": "4.1.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -166,12 +166,14 @@ interface PreProcessedAudio {
166
166
  beatFrameIndices: number[];
167
167
  }
168
168
 
169
- const preProcessAudio = (
169
+ const PREPROCESS_YIELD_EVERY = 1;
170
+
171
+ const preProcessAudio = async (
170
172
  audioBuffer: Buffer,
171
173
  sampleRate: number,
172
174
  fps: number,
173
175
  framesCount: number,
174
- ): PreProcessedAudio => {
176
+ ): Promise<PreProcessedAudio> => {
175
177
  const audioDataStep = Math.trunc(audioBuffer.length / framesCount);
176
178
  const processingBuffer = new Float32Array(PROCESSING_BUFFER_SIZE).fill(0);
177
179
  const skipFramesCount = fps < 45 ? 1 : 2;
@@ -194,6 +196,10 @@ const preProcessAudio = (
194
196
  if (beat.isBeat) {
195
197
  beatFrameIndices.push(i);
196
198
  }
199
+
200
+ if ((i + 1) % PREPROCESS_YIELD_EVERY === 0) {
201
+ await new Promise<void>(resolve => setImmediate(resolve));
202
+ }
197
203
  }
198
204
 
199
205
  return { spectrums, beatFrameIndices };
@@ -367,7 +373,10 @@ export const renderAudioVisualizer = (config: Config, onProgress?: (progress: nu
367
373
  const framesCount = Math.trunc(audioDuration * FPS);
368
374
  const outputResolution = getOutputResolution(config);
369
375
 
370
- const preprocessed = preProcessAudio(audioBuffer, sampleRate, FPS, framesCount);
376
+ if (onProgress) {
377
+ onProgress(0);
378
+ }
379
+ const preprocessed = await preProcessAudio(audioBuffer, sampleRate, FPS, framesCount);
371
380
 
372
381
  const {
373
382
  backgroundWidth,