確率のプログラミング
例えば「短いサウンドファイルの再生を20%の確率で起こしたい」というように、不確定性をPdでプログラムするにはどうすればよいのでしょうか?
以下のパッチは、上の「bng」をクリックすると、50ミリ秒間ノイズ音が聞こえるパッチです。
これを「metro 100」に繋げば、連続的に100ミリ秒に一度このノイズ音が聞こえてきます。
この下に「random 100」を繋ぐと、bangを入力されるたびに、0から99までの乱数を出力します。それを「<」に入力すると、「random」により生成された乱数値が、「<」の右インレットに入力された値よりも小さいときに1を、そうでないときに0を出力します。つまり、右インレットに「30」を入力した場合は、「random」が0から29までの値を出力した時にのみ1wp「<」が1を出力する事になります。そして、「random 100」が0から29までの値を出力する可能性は30%なので、これにより確率をプログラムする事ができるのです。
図中のpercentとラベルが貼られたナンバーボックスにまず0を入れてみましょう。「metro」をオンにしても何も聞こえないとおもいますが、この値を100に向けて増やしていくに連れて、ノイズが鳴る可能性が増えていきます。そして、100にすると、前のパッチのように「常時」ノイズがなる事になります。