カーブを作る
一つの値からもう一つの値に徐々に値を補間する事を可能にするオブジェクトにline~というものがありますが。2つの値の補間は常に直線的です。
これをカーブにしてより興味深い音の変化を作ってみましょう。
カーブを作る最も簡単な方法は二次曲線を作る事です。以下の図はline~に0から1までのランプを1秒かけて出力させ、そのままArrayにそれを記録したものと
line~の値を2乗したものを記録したものです。Arrayの大きさはどちらも44100です。
今度はこれを音として聞いてみましょう。それぞれのアウトレットをスケーリングしてosc~を繋いでグリッサンドとして音を聞いてみます。
上下の音を聴き比べてみると、カーブの違いが音に反映されているのがわかると思います。
さて、これよりももっと柔軟に、カーブの深さを調整したい場合はどうすればいいいのでしょうか。当然、3次、4次となるほどカーブは深くなりますが。プログラムを書き換えなければなりません。そんな問題を解決するのが、「pow~」オブジェクトです。powerとは英語で「累乗」を意味します。
先のパッチの「*~」の部分に「pow~」を入れてみましょう。左インレットが累乗の底、右インレットが指数です。
下図では、指数に3を入力した時のカーブが描かれています。かなりカーブが深いですね。
また0から1までの値を指数として入力すると逆向きのカーブとなります。
ちょっとしたテクニックですが、これだけのことで音のニュアンスは劇的に変化します。
グリッサンドだけでなく、音量や音色のパラメータにこのカーブを適応しても面白いかもしれません。
Pd-extendedにはMax/MSPと互換を図る、cycloneというパッケージがあるのでMaxの「curve~」というオブジェクトも使う事もできます。
詳しくはヘルプファイルをみてみましょう。