どのように私はC#でのwav / mp3にミディの間で変換することができますか?
質問
私は、MIDIファイルでの作業が含ま小規模なプロジェクトを開始しました。私は、MIDIとWAVファイル間のキャストをpeforms任意のC#またはVB.Netのコードがあり、思ってきた?
解決
あなたはオープンソースである臆病に、とのインタフェース何とかしようとすることができ
登録TiMidity ++ソフトウェアシンセサイザーです。これは、PCM波形データに変換することにより、MIDIファイルを再生することができます。それはリアルタイムでそれらを合成し、演劇、デジタル機器のデータファイルと一緒にそれをMIDIデータを与えます。それだけでなくサウンドを再生することができますが、また、様々なオーディオファイルフォーマットとしてハードディスクに生成された波形を保存することができます。
FluidSynth には、同様の静脈内より最近更新のオープンソースプロジェクトがあります:
FluidSynthはSoundFontの2仕様に基づいてリアルタイム・ソフトウェア・シンセサイザーです。
あなたは<のhref = "http://en.wikipedia.org/wiki/SoundFont#Free_SoundFont_downloads上のサイトからいくつかの無料のサウンドフォント(MIDIファイルを「レンダリング」するには、これらのシンセサイザーで使用される実際のPCMデータ)をダウンロードすることができます"REL =" noreferrer ">このリストでます。
他のヒント
の MIDIファイルは、唯一のノートやコントローラの情報を含んでいない聞こえます。 MIDIファイルからの音を得るために、あなたは、実際の音にノートやコントローラの情報を変換する音楽シンセサイザーやサンプラーを通じてファイルを渡す必要があります。
これは実際には任意のMIDIファイルには、それに特定の音を持っていないことを意味します。オーディオにMIDIファイルを変換した結果の音はシンセサイザーやサンプルライブラリの品質、および変換を実行するために選択された音によって異なります。
多くのサウンドカードでは、MIDIファイルから音を生成する能力を有しています。多くのMIDIファイルはの一般MIDI仕様の<と呼ばれる標準に従うので、彼らはこれを行うことができます/>。一般的なMIDI仕様は、特定の楽器の割り当てをマッピングするための標準化された方法を提供します。お使いのMIDIファイルは、この規格に準拠している場合、あなたは一般的なMIDI音源を通してそれを再生し、スネアドラムはスネアドラムのような音、とトランペットを好きではないことを期待することができます。
あなたはの Cakewalk社ののような洗練された音楽制作パッケージを持っている場合、次のことができますそこにMIDIファイルをロードし、それはあなたのためのサウンドファイルをレンダリングするために、オンボードのサウンド・ライブラリーを使用しますが、これは実際にリアルタイムよりも高速に行うことができる(すなわち、それは、音によるサウンドを再生する必要はありません。カード)の出力をキャプチャします。
私は私が言うことをしようとしているがこれに可動部品がたくさんありますだと思います。あなたのためにこれを行いますコードの一片またはクラスモジュールがありません。
あなたはそれが(「WAVにMIDIに変換する」グーグル)これを行いますが、私はこれを行う公に利用可能な.NETコードを渡って来ることがありません購入することができるプログラムの数がありますが(私はこれらのプログラムのいくつかはあると思います).NETで記述されたが、ソースコードは使用できません。
私は、市販のMIDIツーWAVコンバータに取り組んでいるオンラインの友人を持っているが、それはネットにはない、それはオープンソースではありません。ロバート・ハーヴェイが述べたように、それは基本的に、独自のソフトウェア・シンセサイザー(私自身の心の後にタスクを)書い含むので、これは、全く簡単な作業ではありません。