在 C# 中从和弦中提取音符

发布于 2024-11-07 04:41:34 字数 138 浏览 3 评论 0原文

目前我没有代码可以帮助我,但快速傅立叶变换可能与我的目标有关。

我想接受麦克风输入并从和弦中“提取”音符,无论它们是口语元音还是器乐音符。我想在某个提示后在列表中显示提取的频率值。提示并不重要。

感谢您的帮助,如果需要我会添加更多

At the moment I have no code to help me, but the Fast Fourier Transform probably has something to do with my goal.

I would like to take microphone input and 'extract' the notes from the chords, whether they are spoken vowels or instrumental. I want to display the values of the extracted frequencies in a list after a certain cue. The cue is not important.

Thanks for any help, I'll add more if needed

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

青瓷清茶倾城歌 2024-11-14 04:41:34

这已经在 SO 上讨论过很多次了,但本质上你是这样做的:

  • 应用窗口函数(例如 Hanning)
  • 计算 FFT 以获得复杂的频谱
  • 计算幅度(sqrt(re*re+im*im))获取功率谱
  • 找到功率谱中的峰值

This has been covered many times on SO already, but essentially you do this:

  • apply window function (e.g. Hanning)
  • calculate FFT to get complex spectrum
  • calculate magnitude (sqrt(re*re+im*im)) to get power spectrum
  • find peaks in power spectrum
瑶笙 2024-11-14 04:41:34

正如其他人已经提到的那样,对于详细解决这个问题存在很大的问题。但应该注意的是,在大多数这些问题中,您会发现提取构成和弦的音符非常困难,而且不准确。您可能最多只能做出有根据的猜测。

As others already mentioned there are great questions on SO addressing this in great detail. It should be noted however, that in most of those questions you will read that it is very difficult to extract the notes that make up a chord and will not be exact. You will probably have to end up making an educated guess at best.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文