It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center




7年前关闭。




我正在尝试找出一种方法来比较两种旋律,以了解它们之间的相似程度。音色没关系。因此,如果我有两张唱片,一支长笛演奏“生日快乐”,另一只吹小号,以相同的音调和节奏演奏同一件事,那么它应该被认为是一场比赛。

是否有可以执行此操作的.NET或C++库?如果没有,有人可以告诉我我需要做些什么技术吗?

最佳答案

Aubio具有C++接口(interface)和执行音高检测的几种方法。

由于您可以确保音高和节奏保持一致,并且似乎在排除和声,因此您可以随时间测量音高并比较两个结果。

您的比较算法将需要反复试验的改进。记住:

  • 噪音,音色和音量波动会随时使音高成为主观主题
  • 现实世界中的演奏者可以具有类似的音调和速度,但不太可能完全相同。
  • 录音中的两首歌曲可能不会同时开始。
  • 关于c++ - 匹配的旋律,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14568204/

    10-11 22:09