Как конвертировать WAV-файл в 8000 Гц, используя Nodejs - PullRequest
1 голос
/ 27 февраля 2020

Я пытался преобразовать речевой WAV-файл в текст, используя nodejs, но он отображает ошибку следующим образом:

Ошибка:

data: '{\ n "error" : "Для этого аудиовхода 8000 Гц требуется узкополосная модель." \ N} ',

Код:

let directory = `File Directory`;
let dirbuf = Buffer.from(directory);
let files = fs.readdirSync(directory);

// Create the stream.


// Pipe in the audio.
files.forEach(wav_files => {
//how can i convert that wav file into 8000hz and use that same wav file for speech to text convert
  fs.createReadStream(wav_files).pipe(recognizeStream);
  recognizeStream.on('data', function(event) { onEvent('Data:',event,wav_files); });
}

1 Ответ

0 голосов
/ 27 февраля 2020

Я не уверен, что вы уже исследовали пакет wav или нет. Но я создал чит так:

const fs = require('fs');
const WaveFile = require('wavefile').WaveFile;

let wav = new WaveFile(fs.readFileSync("source.wav"));

// do it like this
wav.toSampleRate(8000);

// or like following way with your choice method
// wav.toSampleRate(44100, {method: "cubic"});

// write new file
fs.writeFileSync("target-file.wav", wav.toBuffer());

Для полного примера запуска клона node-cheat wav-8000hz и запуска node wav.js с последующим npm i wavefile.

...