質問: ランダムに生成されたシンセでMIDIからMP3への自動変換 私は自動的にMP3に変換する必要がある400,000のMIDIを持っています。私はMIDIが波形を定義していないことを知っています。また、MIDIをDAWにインポートしてシンセを個々のトラックにマッピングできるので、これを自動的に行うことも可能です。私はこれを行う方法を探してきました。各MIDIは、ランダムに生成されたシンセを各トラックにマッピングする必要があります。 私はSoundFontを見てきましたが、それらを作成する方法や、自動的に生成する方法やMIDIに自動的に適用する方法はわかりません。 誰でもMIDIトラックにマッピングできるシンセを作成するためのツールやSDK、またはプログラムでSoundFontを生成して適用する方法について知っていますか?もしそうでなければ、私にこれを可能にするツールに関連する低レベルのステップを誰かが理解していますか?私はこれを成功させるための道具を探しました。もし私が関わっている部分を理解すれば、これを行うための何かを書くことができたかもしれませんが、私は何を見上げるべきかも知らないでしょう。 助けていただければ幸いです。
回答: OK、ここにはいくつかの質問がありますが、それぞれにはそれぞれ難しいものがあります。 MIDIからMP3への変換 Assuming you want to go MIDI -> SF2 -> MP3, the Timidity++ source code would be a good starting point. Timidity++ "can play MIDI files by converting them into PCM waveform data". A recent fork of Timidity++ can be found on Github. **MP3** に変換するには、追加のツールが必要です。 LAME はここでは良い出発点です。 TimidityとLAMEをつなげば、MIDIからSF2を経由してMP3に行くことができます。このスクリプトは、独自のアプリケーションを作成せずにこれを達成する方法を示しています。 ``` for file in *.mid do timidity $file -Ow -o - | lame - $file.mp3 done ``` ランダム合成 ランダムに生成されたシンセに関係するあなたの質問のもう1つの要素は、上記のアプローチによって簡単に対処できません。質問を正しく理解していれば、次のことをしたいと思っています: * 合成のいくつかの部分が無作為化されているところでいくつかの音を合成する * 再生のために各MIDIチャンネルに割り当てるサウンドをランダムに選択する SF2 is a primarily sample-based format, and would introduce unnecessary complexity if you essentially want to play random synths via MIDI and save the output to an audio file. あなたの問題に対処するために、私はSF2の手順をスキップし、 Synthesis ToolKit のようなオーディオ処理フレームワークを見てみることをお勧めしますSTK)。 STKはMIDIファイルとサウンド合成を読み込むことができます。オーディオバッファにLAMEを使用してMP3変換できます。