gpt4 book ai didi

c# - 实时从吉他输入获取频率

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:39 25 4
gpt4 key购买 nike

我正在尝试从插件吉他获取输入,从中获取频率并检查用户是否弹奏了正确的音符。像吉他调音器之类的东西(我也需要做吉他调音器)。

我的第一个问题是,如何实时获取吉他输入的频率?

是否可以做类似的事情:

if (frequency == noteCFrequency)
{
//print This is a C note!!
}

我现在可以从声卡获取输入,录制和播放输入的声音了。

最佳答案

有关 C# 中 FFT 的实现,您可以查看 at this .虽然我认为您不需要完全理解 FFT 就可以使用它,但您应该了解一些基本限制:

  1. 您总是需要一个示例窗口。你可能有一个滑动窗口,但这里快速的本质是获取大量信号并接受一些错误。
  2. 你有频率“桶”而不是精确的频率。结果类似于“在 420Hz - 440Hz 范围内,你有 30% 的信号”。 (桶的“宽度”应该是可调的)
  3. 窗口大小必须包含 2 的幂的样本数。
  4. 窗口大小必须至少是您要检测的最长波长的两个波长。
  5. 最高频率由采样率给出。 (这个你不用太担心)
  6. 您希望频率分离得越精确,您的窗口就应该越长。

关于c# - 实时从吉他输入获取频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com