我是javascript世界的新手,我想用javascript重新创建我的项目(用python编写)。
所以我想用nodejs编写一个脚本,该脚本读取一个wav文件并从中生成一个频谱图。
我使用node-wav
,canvas
和audio-context
尝试重新创建在此module中应用的方法
我正在使用笔记本电脑和javascript客户端上的本地文件。我想在本地做所有事情。这是我的代码:
const canvas = createCanvas(480, 240)
const spectro = spectrogram(canvas, false)
const spectrogramsGenerator = async () => {
// wavfiles return a list of wav files (it works)
const files = await wavFiles()
for (file in files) {
const buffer = fs.readFileSync('path/to/file/' + files[file])
spectro.connectSource(buffer, audioContext)
spectro.start()
}
}
使用该代码段,出现以下错误:
/path/to/workspace/node_modules/spectrogram/spectrogram.js:34
window.onresize = function() {
^
ReferenceError: window is not defined
at new Spectrogram (/path/to/workspace/spectrogram/spectrogram.js:34:5)
at Spectrogram (/path/to/workspace/node_modules/spectrogram/spectrogram.js:16:14)
at Object.<anonymous> (/path/to/workspace/spectrogram.js:13:17)
at Module._compile (internal/modules/cjs/loader.js:736:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:747:10)
at Module.load (internal/modules/cjs/loader.js:628:32)
at tryModuleLoad (internal/modules/cjs/loader.js:568:12)
at Function.Module._load (internal/modules/cjs/loader.js:560:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:801:12)
at executeUserCode (internal/bootstrap/node.js:526:15)
如果这样做做错了(我认为是)..我应该使用哪些软件包来实现我的目标,或者应该如何解决此问题。预先感谢