私はMIDIファイルの操作を含む小さなプロジェクトを開始しました。私は、MIDIとWAVファイルの間にキャストするすべてのC#またはVB.Netコードがありますか?私はmidiとwav/mp3をC#でどのように変換できますか?
答えて
あなたは何らかの形でオープンソースである、Timidityとのインタフェースに試みることができる:
登録TiMidity ++は、ソフトウェア・シンセサイザーです。 MIDIファイルをPCM波形データに変換して再生することができます。それにデジタル楽器のデータファイルと一緒にMIDIデータを与え、それをリアルタイムで合成して再生します。サウンドを再生するだけでなく、生成された波形をさまざまなオーディオファイル形式でハードディスクに保存することもできます。
FluidSynthは、同じような文脈で、より最近更新のオープンソースプロジェクトである:
FluidSynthはSoundFontの2仕様に基づいてリアルタイムソフトウェアシンセサイザーです。
this listのサイトからいくつかの無料のSoundFonts(これらのシンセサイザでMIDIファイルをレンダリングするために使用される実際のPCMデータ)をダウンロードできます。
MIDI files音だけでなく、音符とコントローラーの情報だけを含んでいます。 MIDIファイルからサウンドを取得するには、音楽シンセサイザーまたはサンプラーを介してファイルを渡す必要があります。これにより、ノートとコントローラーの情報が実際のサウンドに変換されます。
これは、特定のMIDIファイルに特定のサウンドがないことを実際に意味します。 MIDIファイルをオーディオに変換した結果のサウンドは、シンセサイザまたはサンプルライブラリの品質、および変換を実行するために選択されたサウンドによって異なります。
多くのサウンドカードには、MIDIファイルからサウンドを生成する機能があります。多くのMIDIファイルはGeneral MIDI specificationという標準に従っているので、これを行うことができます。 General MIDI Specificationは、特定の楽器の割り当てをマッピングするための標準化された方法を提供します。 MIDIファイルがこの規格に準拠している場合は、General MIDIサウンドジェネレーターで再生し、スネアドラムがスネアドラムのように鳴り、トランペットに似ていないことを期待してください。
Cakewalkのような洗練された音楽制作パッケージをお持ちの場合は、MIDIファイルを読み込んでオンボードサウンドライブラリを使用してサウンドファイルをレンダリングします。リアルタイム(つまり、サウンドカードを介してサウンドを再生し、出力をキャプチャする必要はありません)。
私は何を言おうとしているのでしょうか、これには多くの可動部分があります。これを行うためのコードやクラスモジュールはありません。
私は銀色の上にmidiファイルを再生できるようにしたい、私はあまりにも多くのexpactingですか? – vondip
私はあなたがシルバーライトでそれを再生するためにWAVにMIDIを変換する必要はないと思う。 SilverlightがネイティブにMIDIファイルを処理できない場合は、WindowsのマルチメディアAPIを使用してMIDIファイルを再生できます。 – MusiGenesis
どうすればいいですか? Silverlightの環境が私のアクセスを妨げています。 WindowsマルチメディアAPIにcom参照を追加するにはどうすればよいですか? – vondip
これを行うために購入できるプログラムがいくつかあります(google "WAVに変換する")が、これを行う一般公開されている.Netコードを見たことはありません(これらのプログラム.NETで書かれていますが、ソースコードは利用できません)。
私は市販のMIDI-to-WAVコンバータを使用しているオンラインフレンドを持っていますが、それは.Netにはないため、オープンソースではありません。 Robert Harveyが言及したように、これは基本的には独自のソフトウェアシンセサイザー(自分の心の後の仕事)を書くことを基本とするため、これは単純な作業ではありません。
- 1. どのようにMIDIメッセージを傍受できますか?
- 2. 私はどのようにphpページを.docファイルに変換できますか?
- 3. MIDIデルタタイムを秒またはマイクロ秒に変換するにはどうすればよいですか?
- 4. CSSはIoniconをどのように変換できますか?
- 5. 誰かがmidi-> wav変換などのiPhoneで.midiファイルを再生する経験はありますか?
- 6. どのようにConcurrentDictionaryをDictionaryに変換できますか?
- 7. 'System.Windows.Forms.Keys'に 'System.Windows.Input.Key'をどのように変換できますか?
- 8. どのように変換することができます
- 9. MIDIデバイスをどのように開いて出力できますか?
- 10. どのようにlinq要求に変換できますか?
- 11. どのように私はこのjavascriptクラスを反応できるものに変換できますか?
- 12. どのように私はストライプcharge.phpページのセントにドルを変換することができますか?
- 13. どのように私はmdbファイルをmysqlファイルまたはPHPでmysqlコマンドに変換できますか?
- 14. どのように変換できますか? to NaN
- 15. どのようにC#オブジェクトをExpandoObjectに変換しますか?
- 16. 私はどのように私のウェブサイトをアンドロイドアプリにワードプレスに変換できますか?
- 17. どのように私はSQLiteのクエリでこのコードを変換することができますSQLiteの
- 18. どのように私はPHPのカールからJavaに変換することができます
- 19. この変換はどのようにCで動作しますか?
- 20. 私はC++でmysqlをどのように使用できますか?
- 21. C - 算術変換はどのようにメモリレベルで行われますか?
- 22. は、私は私が得るような値を置き換えることができますどのよう
- 23. どのようにCでvoidポインタをcharポインタに変換しますか
- 24. どのように私はワードプレスのテーマでインターバルカルーセルブートストラップを変更できますか?
- 25. どのように私はアンドロイドスタジオで整数にバイナリ文字列を変換できますか?
- 26. 私はから変換することができますどのようにオブジェクト
- 27. どのように私はJavaScriptを日付形式に秒を変換することができます
- 28. Browserify - 私のモジュールではどのように変数にアクセスできますか?
- 29. どのように私は今年の日にPythonのタイムスタンプに変換することができます年
- 30. アセンブリコードをCに変換するにはどうすればよいですか?
ニースのリンク、Jacob。 –
ありがとう、それが戻って方法を発見した。このリストのサウンドフォントでうまくいきます:http://en.wikipedia.org/wiki/SoundFont#Free_SoundFont_downloads – Jacob
ヤコブ、これらのリンクの素晴らしい作品です。彼らが役に立つと確信しています。私は特にTiMidity ++の機能が好きです: 'ネットワーク経由でリモートMIDIファイルを再生する'あなたはどこに.exeファイルがあるのか知っていますか?私はいつもリンカのC++アプリケーションを構成するときに困惑します(私は素晴らしいC++プログラマーではありません) – vondip