【问题标题】:TensorflowJS Speech obtain spectrogram from wav file in javascriptTensorflowJS Speech从javascript中的wav文件获取频谱图
【发布时间】:2020-08-19 08:30:38
【问题描述】:

TensorflowJS readme 中的离线识别部分提到我们需要“通过某种方式获取音频 sn-p 的频谱图,例如,通过从 .wav 文件加载数据或以编程方式合成频谱图”。

谁能解释一下如何从 javascript 中的 wav 文件中获取频谱图?我找不到路。

为了进一步解释,我将展示我做了什么以及问题是什么:

let buffer = fs.readFilSync('zero1.wav');
let input = wav.decode(buffer);

# To make size of input equal to 9976 as per the restrictions of TensorflowJS i.e. 
# (1,43,232): 1*43*232 = 9976 in size
input = input['channelData'][0].slice(1000, 10976)
const x = tf.tensor(inp, [1].concat(recognizer.modelInputShape().slice(1)));
const output = await recognizer.recognize(x);

当使用上述时(注意 zero1.wav 是从训练数据中获得的文件,因此应该给出高精度输出),我得到以下模棱两可的输出 -

这仅表示 recognizer.recognize() 的输入不正确。

那么,我应该如何将我的 wav 文件转换为频谱图并将其输入到识别器.recognize() 中?

如果需要任何说明,请告诉我。任何帮助表示赞赏

【问题讨论】:

标签: speech-recognition tensorflow.js


【解决方案1】:

https://js.tensorflow.org/api/latest/#signal.stft 您可以使用这种 tensorflow 方法来计算频谱图。您需要做一点数学运算来计算参数,从 Speech_command.recognizer 的参数中获取参考。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 2014-03-12
    • 2022-08-16
    相关资源
    最近更新 更多