我开始一个小项目,其中包括与MIDI文件的工作。我一直在想,有没有peforms MIDI和WAV文件之间的施放任何C#或VB.Net代码?

有帮助吗?

解决方案

您可以尝试以某种方式与接口胆怯,这是开源的:

  

胆怯++是一个软件合成。它可以通过将它们转换为PCM波形数据播放MIDI文件;给它一个MIDI数据与数字化仪的数据文件一起,然后将其综合处理,实时,和戏剧。它不仅可以播放声音,但也可以将所生成的波形保存到硬盘作为各种音频文件格式。

FluidSynth 是类似的静脉中的最近更新的开源项目:

  

FluidSynth是基于所述音色库实时软件合成器2级的规格。

您可以下载一些免费的SoundFonts从的此列表

其他提示

MIDI文件 仅包含音符和控制器的信息,不声音。为了从一个MIDI文件中获取的声音,你必须通过一个音乐合成器或采样器,这将音符和控制器的信息转换成真实的声音传递文件。

在实践中,这意味着,任何给定的MIDI文件不具有特定的声音给它。从MIDI文件转换成音频产生的声音将取决于合成或样品库的质量,和被选择的声音来执行转换。

许多声卡具有MIDI文件产生声音的能力。他们能做到这一点,因为很多MIDI文件都遵循一种名为 常规MIDI规范 <标准/ A>。通用MIDI规格提供了标准化的方式来映射特定仪器分配。如果您的MIDI文件符合这个标准,你可以通过一个通用MIDI音源播放,并期待着军鼓听起来像一个小鼓,而不是像一个小号。

如果你有一个复杂的音乐制作封装如 步态 ,你可以加载MIDI文件到它,它会使用其搭载的音色库呈现一个声音文件为你,这其实是可以做的比实时更快(即它没有通过声音播放声音卡并捕获输出)。

我猜我想说的是,有很多运动部件如此。没有一个单一的一段代码或类模块,将用于执行此操作。

有一些程序,你可以购买,将做到这(谷歌“MIDI转换成WAV”),但我从来没有碰到过公开可用的.Net代码,做这个(我认为这些程序是写在.net,但源代码不可用)。

我有一个在线的朋友,谁是工作的一个商业MIDI到WAV转换器,但它不是在.Net和它不会是开源的。正如罗伯特·哈维所说,这不是一个简单的任务,在所有的,因为它主要涉及编写自己的软件合成器(后我自己的心脏任务)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top