我尝试使用p5.sound库使用以下代码分析麦克风输入的频谱。
控制台中的输出仅为array of 1024 0's
,好像它们没有声音一样。我用计算机附带的记录器软件测试了它能够记录某些东西。
所以我认为我在开始录制和分析音频之间缺少一些东西,我只是想不通。
我通过quickstaet bootstrap cdn导入了p5.js, P5.sound.js, audiosynth.js
库,它也应该加载Jquery库。
var mic;
var fft;
window.onload = init;
function init() {
mic = new p5.AudioIn();
mic.start();
fft = new p5.FFT();
fft.setInput(mic);
let frequencies = fft.analyze();
console.log(frequencies); // always an array full of 0's
}
答案 0 :(得分:0)
您可能希望在按下按钮时或经过一段时间后或每隔x秒运行分析。这是一个简单的示例,在调用init之后10秒钟调用了analyst,这应该给一些时间来收集一些数据。
var mic;
var fft;
function getFreqSpectrum() {
let frequencies = fft.analyze();
console.log(frequencies);
}
window.onload = init;
function init() {
mic = new p5.AudioIn();
mic.start();
fft = new p5.FFT();
fft.setInput(mic);
setTimeout(getFreqSpectrum, 10000); // do this in 10 seconds
}