генерация спектрограммы из файла wav nodejs и сохранение ее - PullRequest
0 голосов
/ 25 февраля 2019

Я новичок в мире javascript, и я хотел воссоздать мой проект (написанный на python) с использованием javascript.

, поэтому я хочу написать скрипт с nodejs, который читает файл wav игенерировать из него спектрограмму.

Я использовал node-wav, canvas и audio-context, пытаясь воссоздать метод, примененный в этом модуле

Я работаю с локальными файлами с моего ноутбукаи с клиентской стороны 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)

если это неправильно (если я так думаю) ... какие пакетыДолжен ли я использовать для достижения своей цели или как я должен подойти к этой проблеме.Заранее спасибо

...