2010-02-23 23 views
4

我有大約80首用MIDI編寫的作品,我想用聲音庫將它們轉換爲WAVE。所以他們可以在所有電腦上播放,聽起來也一樣。有沒有可以自動執行此操作的庫?需要一個能夠從Midi生成WAVE的庫

最好在C#中,但其他編程語言也不錯。

+0

我見過這麼多的問題,我覺得不得不寫這個確切的問題:http://is.gd/igp4m如果你正在考慮編寫一些需要的軟件系統,請花時間閱讀它去做。 – 2010-12-06 18:58:31

回答

3

這就是所謂的Soft Synth,如果您希望它們在所有機器上的聲音相同,您還需要一組樂器樣本。

如果您只是將它們全部轉換爲波形文件併發送波形文件,您可能會發現將節省內存。高質量的樂器組可能非常大,而且其中大部分都受版權保護。

3

我已經使用Timidity來做到這一點,但那已經很多年了,在Linux上。

+1

仍然有效 - 最簡單的方法是使用Timidity轉換MIDI - > WAV,然後'ffmpeg'或'lame'來轉換WAV - > MP3。 http://www.ehow.com/how_5114457_convert-midi-mp-ubuntu.html – Piskvor 2011-03-05 20:41:40

0

如果它們是靜態的MIDI安排,你可以使用一些軟件合成器插件的DAW(如http://www.cockos.com/reaper/的Cubase等,只是提供wav文件\ MP3音樂與您的應用程序...?

0

PistonSofts的直接MIDI到MP3播放器。我不認爲它本身是,但它有一個命令行界面。

0

您可以使用FFMPEG來處理電影和音頻的轉換,包括我相信MIDI到Wave。http://ffmpeg.arrozcru.org/wiki/index.php?title=Links有一些基本的關於進程的信息,但基本上一旦安裝完畢,您可以在後臺進程線程中運行命令行進程,並在com上引發一個事件plete。

http://code.google.com/p/ffmpeg-sharp/是爲FFMPEG和.net框架構建的包裝。我相信有可能更多

+0

http://www.ffmpeg-csharp.com/包裝的另一個例子。谷歌可以找到幾個不同的東西 – 2010-09-12 18:53:30

+0

ffmpeg可以轉換很多東西,但不是MIDI,對不起 - 這是一種完全不同的方式來表示音樂(如樂器演奏的音符),而不是通常的聲音格式(如聲波 - 這是什麼ffmpeg支持)。 (您*可以*使用軟件MIDI syntethizer(如Timidity)從MIDI文件創建聲波文件,然後*然後*使用ffmpeg將該中間文件轉換爲MP3) – Piskvor 2011-03-05 20:44:17

2

快速回答 - 看看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文件更喜歡相同的聲音,您有以下選項:

  • 只是使用MIDI。 MIDI聲音是標準化的,雖然聲卡可能存在差異。你有一些特別好的聲音,你想使用?
  • 使用支持SoundFonts的卡 - 如SoundBlaster AWE 32和更高版本,將錄音輸入設置爲「聽到的內容」並錄製聲音。
  • 將MIDI文件轉換爲某種跟蹤器格式。這種格式將音符保存爲MIDI,但也允許將聲音樣本保存在一個文件中。雖然轉換需要一定的工作量。模塊文件包含可按請求順序播放的所謂模式。那將是您輕鬆循環播放一首歌曲的遊戲的理想例子。優點是每臺電腦都有相同的聲音,體積小巧。缺點可能是質量損失,因爲樣品間距上下移動以產生各種色調。如果您使用多采樣儀器,那不會是您的擔憂。如果你喜歡這種方式,我建議你看看IT(ImpulseTracker)和mo3格式。可以使用跟蹤器編輯器OpenMPT。它還允許導入和導出MIDI文件。爲了播放這些文件,你可以使用MikMod庫或FMOD庫(商業版)。
  • 使用使用音色庫的軟件合成器。這種合成器的例子是FluidSynth。如果這種音樂應該嵌入到某個程序中,那可能是一個很好的選擇。
  • 使用外部MIDI聲音模塊,如Roland SonicCell或任何優秀的發聲鍵盤作爲我最喜愛的Korg M50,將此模塊的輸出插入您的聲卡,在某些MIDI播放器中設置播放列表,選擇此設備,從連接的錄製軟件開始聲音輸入,錄製和剪切。

P.S.對不起,沒有鏈接,因爲我在這裏是新的,只有兩個鏈接可以在我的答案。