Skip to content

Instantly share code, notes, and snippets.

View Apiko-tutorials's full-sized avatar

Code Tutorials [by Apiko] Apiko-tutorials

View GitHub Profile
const spawn = require('threads').spawn;
const { decode } = require('./src/utils/decoder');
const { fft, spliceSpectrum } = require('./src/utils/fft');
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all the files inside the folder
const files = await getFilesInFolder(inFolder);
for (let i = 0; i < files.length; i++) {
const thread = spawn(function (input, done) {
const {
Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
const path = require('path');
const { getFilesInFolder } = require('./src/utils/file-reader');
const { writeToFile } = require('./src/utils/file-writer');
const decodeFiles = async (inFolder, outFolder) => {
console.time('executing time');
// 1 read all the files inside the folder
const path = require('path')
const { getFilesInFolder } = require('./src/utils/file-reader');
const { FFTThreadWorker } = require('./src/FFT');
const { writeToFile } = require('./src/utils/file-writer');
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all files inside of the folder
const files = await getFilesInFolder(inFolder);
const results = await Promise.all(
const spawn = require('threads').spawn;
const { decode } = require('./src/utils/decoder');
const { fft, spliceSpectrum } = require('./src/utils/fft');
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all the files inside the folder
const files = await getFilesInFolder(inFolder);
for (let i = 0; i < files.length; i++) {
const thread = spawn(function (input, done) {
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all the files inside the folder
const files = await getFilesInFolder(inFolder);
for(let i=0; i < files.length; i++) {
// 2 decode .wav to float array and get spectrum by fff
decode(files[i].filePath).then(audioData => {
const { spectrum } = fft(audioData.channelData[0]);
const { splicedSpectrum } = spliceSpectrum(spectrum);
// 3 write result into the folder
const {
Worker, isMainThread, parentPort, workerData
} = require('worker_threads');
const path = require('path');
const { getFilesInFolder } = require('./src/utils/file-reader');
const { writeToFile } = require('./src/utils/file-writer');
const decodeFiles = async (inFolder, outFolder) => {
console.time('executing time');
// 1 read all file inside of in folder
const {
isMainThread, parentPort, workerData
} = require('worker_threads');
const { decode } = require('./decoder');
const { fft, spliceSpectrum } = require('./fft');
const { filePath, fileName } = workerData; // get data from main thread
decode(filePath).then(audioData => {
const wave = audioData.channelData[0];
const path = require('path')
const { getFilesInFolder } = require('./src/utils/file-reader');
const { FFTThreadWorker } = require('./src/FFT');
const { writeToFile } = require('./src/utils/file-writer');
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all file inside of in folder
const files = await getFilesInFolder(inFolder);
const results = await Promise.all(
const path = require('path')
const { getFilesInFolder } = require('./src/utils/file-reader');
const { FFTThreadWorker } = require('./src/FFT');
const { writeToFile } = require('./src/utils/file-writer');
const decodeFiles = async (inFolder, outFolder) => {
// 1 read all file inside of in folder
const files = await getFilesInFolder(inFolder);
const results = await Promise.all(
const spawn = require('threads').spawn;
class FFTThreadWorker {
constructor(payload) {
this.start = this.start.bind(this);
this.log = this.log.bind(this);
this._payload = payload;
}
log(message) {
// console.log(`-> [FFTThreadWorker]: ${message.message || message}`);