さて、これは左翼から少し外れているかもしれませんが、とにかくやってみるつもりです。
パッドは一種の「ハム」のようなアンビエントエレクトロニックサウンドです。このようなもの。
これをコードで作成するにはどうすればよいですか?Processing、OpenFrameworks、C、Objective-CまたはC++のいずれかを使用します。私はそれほど長い間プログラミングをしていないことを覚えておいてください。
これが答えになったら、私はとても感動します!
わかった...行け!
さて、これは左翼から少し外れているかもしれませんが、とにかくやってみるつもりです。
パッドは一種の「ハム」のようなアンビエントエレクトロニックサウンドです。このようなもの。
これをコードで作成するにはどうすればよいですか?Processing、OpenFrameworks、C、Objective-CまたはC++のいずれかを使用します。私はそれほど長い間プログラミングをしていないことを覚えておいてください。
これが答えになったら、私はとても感動します!
わかった...行け!
ここで「パッド」という言葉を聞いたことはありませんが、メジャーコードを演奏するシンセオルガンの音のように聞こえます。
まず、単一の音を表すために、音の基本周波数 (A メジャーについて話している場合は 440Hz など) とその次の数倍 (880、1760、3520) で正弦波を生成し、それらをいくつかの(減少する)重みで合計します。次に、同じ方法でレンダリングされたコード (C# と E) の他の音符を追加します。
これまでのところ、これが役に立つと思われる場合は、必要に応じて拡張できます。
編集:「いくつかの(減少する)重み」とは、倍音に増幅を掛けたものを追加することを意味しました。
F = 440; // Hz
tone[t] = A * sin(t/F) + B * sin(t/(2*F)) + C * sin(t/(3*F)); // + etc, perhaps
どこで、おそらく、
A = 1.0;
B = 1.0/2.0;
C = 1.0/3.0;
またはそのようなもの。
ADSR フィルター (調べてください) の場合、生成された波形に、選択した「攻撃」期間中に 0 から 1 に増加する増幅を乗算し、「減衰」期間中に選択した数値に低下させます (おそらく0.7) であり、持続音を「離す」と直線的に 0 に落ちます。
エコー/リバーブの場合、波形を少し遅れてそれ自体に戻すことができます。
D = 4410; // 10 msec at 44.1 kHz., as an example value
tone[t] += 0.5 * tone[t-D];
パッド合成の説明があります:
http://zynaddsubfx.sourceforge.net/doc/PADsynth/PADsynth.htm
具体的なコード例を提供することはできませんが、FM (周波数変調) 合成を使用して、このサウンド サンプルに似たものを作成できると思います。
コードを書く前に、インターネットから任意のソフトウェア FM シンセサイザーをダウンロードして (スタンドアロン アプリケーションや VST プラグインとして自由に入手できます)、少し実験してみることをお勧めします。必要に応じて、対応するコードを記述します。(その時までに、必要なオシレーター、周波数などの組み合わせがわかる可能性があります。)
サウンド プログラミングの経験がない場合は、習得と使用が非常に簡単な Java サウンドを試してみてください。あなたが C* にタグを付けたことは知っていますが、そのような簡単な API などがあるかどうかはわかりません。
サウンドを作成することは基本的に grumdrig が言ったことです。「ただ」、サウンドが好きなように異なる波を組み合わせる必要があります。;-)