p5.js 麦克风输入的傅里叶变换没有输出
p5.js fourier transform of mic input gives no output
我尝试使用 p5.sound 库通过以下代码分析麦克风输入的频谱。
控制台的输出只是一个array of 1024 0's
,就好像他们没有声音一样。我用电脑自带的录音机软件测试了一下,是可以录音的。
所以我想我在开始记录和分析它之间遗漏了一些东西,我就是想不通是什么。
我导入了p5.js, P5.sound.js, audiosynth.js
库,通过quickstaet bootstrap cdn,应该也会加载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
}
您可能希望 运行 在按下按钮时、经过一段时间后或每 x 秒后进行分析。这是一个简单的例子,在调用 init 后 10 秒调用分析,这应该有时间收集一些数据。
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
}
我尝试使用 p5.sound 库通过以下代码分析麦克风输入的频谱。
控制台的输出只是一个array of 1024 0's
,就好像他们没有声音一样。我用电脑自带的录音机软件测试了一下,是可以录音的。
所以我想我在开始记录和分析它之间遗漏了一些东西,我就是想不通是什么。
我导入了p5.js, P5.sound.js, audiosynth.js
库,通过quickstaet bootstrap cdn,应该也会加载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
}
您可能希望 运行 在按下按钮时、经过一段时间后或每 x 秒后进行分析。这是一个简单的例子,在调用 init 后 10 秒调用分析,这应该有时间收集一些数据。
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
}