音を出す基本となるパッチを作っていきます。
少しずつ説明したいので5つに分けています。最終的には5番目のものを使うと便利だと思います。
メッセージブロックを追加し、0〜1.0の間で数値を掛け算すると、音量が変化します。
クリックしやすくなるようボタンをつけました。
左のボタンで音量が0(音が消える)、右のボタンで音量が0.5(1.0だとうるさいので半分)になります。
「delay」オブジェクトを使って、自動的に音量を変えます。
クリックした瞬間に音量が0.5になりますが、その100ms後に音量が0になるようになります。
音量を変えるたびに、プチ!っとした音が鳴っていたのに気が付いたでしょうか。
Pdが出力する音は、「osc~」オブジェクトのつくるサイン波の音量が変わるものですが、サイン波はずっと発振していて、音量が0.5になるタイミングと合っていません。
そのため、たまたまノイズの聞こにくいタイミングや、ノイズが大きく聞こえてしまうタイミングがあります。
このようなノイズを「クリックノイズ」といいます。
このクリックノイズを軽減させる工夫として、音量を急激に変化させない方法があります。
「line~」オブジェクトを使うと、時間軸で変化する音のデータを自動的に出力してくれます。
2つの数値(仮にA,Bとします)をメッセージで送ることで、「Aになるまで、Bミリ秒かける」数値を出力してくれます。
例では音量を上げるのに「0.5 10」としているので、10ミリ秒で音が立ち上がります。音量を下げるときは「0 10」としているので、10ミリ秒で音が消えます。
この「10ミリ秒」のところを変化させると、音にも変化が出ます。たとえば、音量が下がるときを「0 1000」とすると、「1000ミリ秒かけて0になる」ので、音の余韻が聞こえてきます。
スライダー周りを調整して、操作がしやすいように整えていきます。
スライダーとボタンを結びます。これで、スライダーを動かした時に、音が鳴るようになります。
さらに、スライダーを右クリックしてプロパティを表示し、「Steady on click」ボタンを押して「Jump on click」にして「OK」をクリックすると、スライダーをクリックしたときに数値が変化するようになります。これはお好みで調整してください。
少し息抜きに「よくあるコンピュータ音」を作ってみます。
仕組みとしては、「ランダムに周波数を変えるのを繰りかえす」です。
「metro」と「random」とトグルボタンを使います。
metroで100ミリ秒ごとに時間を刻み、randomで0〜4000までの数値を生成します。トグルボタンでオンオフします。