有谁知道如何将模拟声波转换为 MIDI 文件?
我知道这与 WAV 和 MP3 不同,但目前这并不重要。我只想学习转换的基本逻辑。
我意识到您想编写自己的波形到 MIDI 转换器。
但是,我不知道有几家公司拥有执行波形到 MIDI 转换的软件。
为了感兴趣的人,这里有一个MIDI 程序的音频列表。
我选择了WidiSoft网站进行查看,因为它位于列表的顶部,并且在 Google 搜索中排名靠前。英语不是他们的第一语言。但是,您可以在购买之前下载并试用该软件。
这不是产品评论,但根据您的转换需求,您应该能够找到已经存在的东西。
波是某种声音的实际声波。MIDI 可以被认为是在预定义乐器上播放的音乐音符(存储在计算机或声卡上)。
因此,midi 产生的声音是可以存储在波形文件中的声音子集。这意味着您不能将 wave 转换为 midi(尽管您可以反过来做)。
如果您知道有关要转换的波浪的某些事情,那么它可能是可能的。例如,如果您知道波形仅包含一个 paino,则可以将其转换为音符并从该音符转换为 midi。
在我看来,您应该首先将音频分成小片段(每个片段可能为 0.25 秒)。然后,您可以使用 FFT 获得每个剪辑所需的尽可能多的频率和相关幅度(可能是 8 个?)。然后你可以将频率四舍五入到最接近的音符。然后我认为将其转换为 MIDI 非常容易,至少在这个基本级别上是这样。因此,您需要编写对音频剪辑进行采样的 C# 软件(完成:参见 NAudio),然后获取(我不知道在哪里)对剪辑进行 FFT 的软件。频率到音符的转换是查表。您也可以找到进行转换的商业软件:https ://www.celemony.com/en/melodyne/new-in-melodyne-5
使用遗传编程中的想法:蒙娜丽莎项目的演变,但应用于声音而不是图像。