gpt4 book ai didi

javascript - 在node.js中读取WAV音量数据

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:50 32 4
gpt4 key购买 nike

我迫切需要帮助了解如何读取 WAV 文件的音量级别。基本上,我需要一种方法来计算音频文件中特定时间的音量(例如 0.01 秒),以便找到特定的“峰值”。

我正在使用 node-wav ( https://github.com/TooTallNate/node-wav ) 和以下代码:

var file = fs.createReadStream('test.wav'),
reader = new wav.Reader(),
bufSize = 4410;

reader.on('readable', function() {
while (null !== (chunk = reader.read(bufSize))) {
// I'M TOTALLY LOST HERE
}
});

基本上,我不知道要使用什么 bufSize (我很确定这取决于我想要的结果如何“微调”。而且我知道我必须以某种方式平均每个 block 中的数据,并且我尝试取平均值等,但似乎无法获得任何有用的数据..

如有任何帮助,我们将不胜感激!

最佳答案

我认为您在这里不需要 bufSize,只需按照 wav.Reader 的示例即可:

var fs = require('fs');
var wav = require('wav');
var file = fs.createReadStream('track01.wav');
var reader = new wav.Reader();

// the "format" event gets emitted at the end of the WAVE header
reader.on('format', function (format) {
// do your calculation here, using format
});

// pipe the WAVE file to the Reader instance
file.pipe(reader);
<小时/>

无论如何,根据WAV file format ,可以从WAV文件的头 block 中提取数据 block 的大小和数量。

关于javascript - 在node.js中读取WAV音量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21285247/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com