有没有任何开源软件或c#库可以从复调音乐文件中提取钢琴和弦?

本文关键字:文件 音乐 提取 钢琴 软件 开源 任何 有没有 | 更新日期: 2023-09-27 18:03:48

我是这个领域的新手,所以恳请您的帮助。有没有可以从复调音乐文件中提取钢琴和弦的c#库?我想用这个钢琴和弦创建一个midi文件。这可能吗?如果你能给我指出任何开源软件也可以。

提前感谢。Shereen

有没有任何开源软件或c#库可以从复调音乐文件中提取钢琴和弦?

对于"您想要的库在这里"的回答,这不是一个微不足道的问题。

你们要开始熟悉什么是快速傅里叶变换,有很多实现它的库。fft可以将时间维数据(如音乐文件)转换为频率维数据。你可以使用FFT算法来转换音乐文件,寻找频率峰值,尝试将它们映射到音符和和弦。

这是一个维基百科条目,展示了傅立叶分析是什么以及它可以应用的例子。

对于寻找c# FFT库的人来说,这里是一个SO答案

一点也不容易,祝你好运。

编辑:正如递归指出的那样,您不仅仅是在寻找一种读取/写入midi文件的方法。我误解了。如果您试图从mp3/wav文件中提取注释,那么您将很难找到能够做到这一点的库。这并不简单,因为你处理的基本上是模拟数据,而不是数字数据。我见过一些应用程序,至少会给你一个音频的摄谱仪,如果音频足够干净,只有一个乐器,你可以看到什么是音符。但你得手动算出来。同位素RX就是我想要的VST。

我大概在5或6年前就遇到了这个问题,并最终开始写我自己的(不像听起来那么容易)。我得到了一些可以读的东西,但不能写,但最终没有时间来完成这个项目。

我会尝试NAudio。我不能特别担保,因为我没有亲自使用过它。然而,功能列表显示它对读写MIDI文件有广泛的支持