我想知道,有没有一种方法,我们可以检测音频从麦克风在HTML5网络音频。我想做一个在线吉他调谐器,我需要有音频赫兹,从声音输入。我见过一些EQ和滤波器的效果,但我没有看到任何关于频率识别的东西。
编辑:
我找到这个:http://www.smartjava.org/content/exploring-html5-web-audio-visualizing-sound
第二点(分析器节点)非常有趣。我看到了他的源代码,但我不知道如何将分析仪连接到麦克风输入端。
当mp3文件开始播放时,他调用playSound()函数,并在那里绘制画布。但我没有playSound()这样的函数。。。
最佳答案
我写了一个网络音频库,除其他外,它可以检测麦克风输入的频率。查看https://github.com/rserota/wad#pitch-detection
var voice = new Wad({source : 'mic' });
var tuner = new Wad.Poly();
tuner.add(voice);
voice.play();
tuner.updatePitch() // The tuner is now calculating the pitch and note name of its input 60 times per second. These values are stored in tuner.pitch and tuner.noteName.
var logPitch = function(){
console.log(tuner.pitch, tuner.noteName)
requestAnimationFrame(logPitch)
};
logPitch();
// If you sing into your microphone, your pitch will be logged to the console in real time.
tuner.stopUpdatingPitch(); // Stop calculating the pitch if you don't need to know it anymore.