当前位置: 首页 > 编程语言 > C#

如何在c#中将midi转为wav-mp3?share

时间:2023-04-10 23:23:11 C#

如何在C#中将midi转换为wav/mp3?我已经开始了一个涉及使用MIDI文件的小项目。我一直在想,是否有任何C#或VB.Net代码可以在MIDI和WAV文件之间进行转换?您可以尝试以某种方式与开源的Timidity交互:TiMidity++是一种软件合成器。可以将MIDI文件转换为PCM波形数据进行播放;给它一个MIDI数据和数字乐器数据的文件,然后实时合成它们并播放它们。它不仅可以播放声音,还可以将生成的波形以各种音频文件格式保存到硬盘中。FluidSynth是一个类似的最近更新的开源项目:FluidSynth是一个基于SoundFont2规范的实时软件合成器。您可以从此列表中的站点下载一些免费的SoundFonts(这些合成器用于“渲染”MIDI文件的实际PCM数据)。MIDI文件只包含音符和控制器信息,不包含声音。为了从MIDI文件中获取声音,您必须通过音乐合成器或采样器传递该文件,这会将音符和控制器信息转换为实际声音。实际上,这意味着任何给定的MIDI文件都没有特定的声音。将MIDI文件转换为音频所产生的声音会因合成器或样本库的质量以及执行转换所选择的声音而异。许多声卡都能够从MIDI文件中产生声音。他们之所以能够这样做,是因为许多MIDI文件都遵循通常称为通用MIDI规范的标准。通用MIDI规范提供了映射特定乐器分配的标准化方法。如果您的MIDI文件符合此标准,您可以通过通用MIDI声音发生器播放它,并期望军鼓听起来像军鼓,而不是小号。如果你有像Cakewalk这样复杂的音乐制作软件包,你可以加载一个MIDI文件,它会使用它的板载声音库为你渲染一个声音文件,这实际上可以比实时更快地完成(即它没有必要通过声卡播放声音并捕捉输出)。我想我想说的是这里有很多活动部件。没有任何一段代码或类模块可以为您完成这项工作。您可以购买许多程序来执行此操作(谷歌“将midi转换为WAV”),但我从未遇到过执行此操作的公开可用.Net代码(我认为其中一些程序是用这些代码编写的)。net,但源代码不可用)。我有一个在线朋友正在研究商业MIDI到WAV转换器,但它不在.Net中,也不会开源。正如RobertHarvey所提到的,这根本不是一件容易的事,因为它基本上涉及编写您自己的软件合成器(我想到的一项任务)。以上就是C#学习教程:Howtoconvertmiditowav/mp3inc#?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: