我正在尝试通过麦克风实时输入来检测语音。
我已经收到输入,执行 FFT 算法并得到以 dB 为单位的结果。我有一个频域、一个时域和一个频谱图。
如何获得基频? 如果我得到基频,我可以指定如果频率在某些值之间,那么我们正在说话的是语音吗? 有没有其他方法可以用我已经拥有的东西来做到这一点?
提前致谢
最佳答案
frequency estimation 有很多不同的算法,正确使用取决于你在做什么。你期望什么样的输入?你想用这个输入做什么?你有什么样的处理能力?
检测基频并不能帮助您识别特定的人是否在说话,如果您正试图这样做的话。你的声音频率不断变化。你必须对这个人的共振峰等做一个“指纹”。
简单地找到 FFT 的峰值不会给您带来好的语音结果。查看cepstral analysis .
关于c# - c#中的基频+语音检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1613774/