プログラムから本物のベース サウンド (エレクトリック ベース ギターのような) を生成する方法が必要なので、インターネットで広範な調査を行っています。問題は、私はそのサウンドを生成するために MIDI の方法を探していましたが、それが正しいことかどうかはわかりません。実際、この主題についてほとんど知識がなく、生のコーディングからサウンドを生成することに関連することを初めて試みました。私は自分を助けるためにさまざまな API を調べていました。そのほとんどはオープン ソースで何が行われているかを確認しましたが、それらは非常に複雑で、学習曲線が非常に急で、ドキュメントがほとんどないことがわかりました。また、GuitarPro に似た Java で作成された tuxguitar などのオープン ソース プログラムも調べていたので、どのようにベース サウンドが生成されるかを確認できました。私が必要としている、またはできることではないのではないかと心配しています。これらすべてをまとめるために、私の質問は次のとおりです。ネイティブコードまたは API のいずれかを使用して、MIDI などを必ずしも使用せずに、c/c++ または Java で望ましい実際のミュージカルベースサウンドを生成する方法はありますか? どうもありがとう PS 構文や言語エラーを許してください。私は英語を話すネイティブではありません。
2 に答える
MIDI は単なる制御プロトコルであり、それ自体はサウンドとは関係ありません。通常、シンセサイザーの制御 (ノートのオン/オフ メッセージなど) に使用されますが、それだけです。
ほとんどのデバイスにはシンセサイザーが搭載されており、MIDI で制御しながらサウンドを生成できます。これは非常に簡単に始める方法ですが、市販の General MIDI シンセのほとんどがそれほど素晴らしい音ではないことに気付くでしょう。
さて、あなたが求めている音を生み出す限り、あなたは独自のシンセサイザーを書くことについて話している. 魔法はありません。近道はありません。これは大変な作業です!通常、シンセは一連のサンプルを使用してから、それらを操作します。たとえば、弾く音のサンプルと、ギターの音のサンプルがあります。これはすべてADSR エンベロープで制御されます。それでも、楽器の非常に小さな特性セットを概算しているだけなので、素晴らしい音にはなりません。
MIDI を介してサウンドカードの組み込みシンセを制御することができます。しかし、優れたサウンドと楽器の品質が必要な場合は、 VSTについて学ぶことをお勧めします。これは、仮想楽器 (VSTi) とエフェクト プラグインを含む Steinbergh のテクノロジです。
したがって、基本的には、既存の商用および無料の VSTi および VST プラグインと連携する VST ホスト アプリケーションを作成または使用できます。その後、素晴らしいサウンドの利用可能なソフトウェア シンセサイザーやインストゥルメント エミュレーションを再利用できます。Brad のコメントで示唆されているように、ホスト アプリケーションを midi 経由で制御できます。
ここでは VST のみを宣伝していますが、ウィキペディアのリンクには、同じことを行っているさまざまなブランドの他のテクノロジのリストが含まれています。しかし、あなたはその考えを理解します。