import {parentPort} from "worker_threads"; import Kali from "@descript/kali"; import {workerData} from "worker_threads"; try{ let decodeAudio = await import('audio-decode') let decoders = decodeAudio.decoders; await decoders.mp3(); let decoded = await decoders.mp3( workerData.binary ) let kali = new Kali(1) let samplerate = decoded.sampleRate / workerData.pitch kali.setup(samplerate, workerData.pitch, true) kali.input(decoded.getChannelData(workerData.channel)) kali.process() let output = new Float32Array(samplerate * decoded.duration) kali.output(output); parentPort.postMessage({output, samplerate}) }catch(err){ console.log(err) }