我有大约80个用MIDI编写的乐曲,我想用声音库将它们转换成WAVE。因此,它们可以在所有计算机上播放并发出相同的声音。是否有可以自动执行此操作的库?
最好是在C#中,但其他编程语言也可以。
答案 0 :(得分:3)
这就是所谓的Soft Synth,如果您希望所有机器上的声音相同,您还需要一组乐器样本。
如果您只是将它们全部转换为波形文件并发送波形文件,您可能会发现将节省内存。高质量的仪器组件可能非常大,并且大多数都是受版权保护的。
答案 1 :(得分:3)
我已经使用了Timidity来做到这一点,但那已经很多年了,而且还在Linux上。
答案 2 :(得分:3)
快速回答 - 看看FluidSynth。它是使用SoundFont格式的声音库的软件合成器。它还有一个可用于“渲染”MIDI文件的库。
可以在http://www.hammersound.com上找到具有通用MIDI声音设置的银行,例如http://www.hammersound.com/cgi-bin/soundlink.pl?action=view_download_page;ID=407;SoundFont_Location_Selected=Download;SoundFont_Filename_Selected=http://www.jchyun.com/~sonic/sf2/hubbe/Hubbe64%20GM%20v2.50.zip。
你可以采取另一种方式 - 你可以通过你的设备播放它们,启动录音软件,将输入设置为“你听到的”,录制它然后剪切它。
更长的答案 - 问题是,您对此程序的需求和目的是什么?
如果您喜欢不同计算机上MIDI文件的相同声音,则可以使用以下选项:
P.S。很抱歉没有链接,因为我是新来的,我的答案中只有两个链接。
答案 3 :(得分:0)
如果它们是静态midi安排,你可以使用带有一些软合成插件的DAW(例如http://www.cockos.com/reaper/ Cubase等等,并且只为你的应用提供wavs \ mp3s??
答案 4 :(得分:0)
PistonSofts的直接MIDI转MP3转换器。我不认为它本身就是库,但它有一个命令行界面。
答案 5 :(得分:0)
你可以使用FFMPEG来处理电影和音频的转换,包括我相信MIDI到Wave。 http://ffmpeg.arrozcru.org/wiki/index.php?title=Links有关于该过程的一些基本信息,但基本上一旦安装,您就可以在后台进程线程中运行命令行进程并在完成后引发事件。
http://code.google.com/p/ffmpeg-sharp/是为FFMPEG和.net框架构建的包装器。我相信可能还有更多