如何使用Node.js将WAV文件转换为8000hz

问题描述 投票:1回答:1

我已经尝试使用nodejs将语音wav文件转换为文本,但是它显示如下错误:

错误:

数据:'{\ n“错误”:“此8000hz音频输入需要窄带模型。“ \ 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); });
}
node.js nodes ibm-watson speech-to-text
1个回答
0
投票

我不确定您是否已经浏览过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

© www.soinside.com 2019 - 2024. All rights reserved.