確率のプログラミング

例えば「短いサウンドファイルの再生を20%の確率で起こしたい」というように、不確定性をPdでプログラムするにはどうすればよいのでしょうか?
以下のパッチは、上の「bng」をクリックすると、50ミリ秒間ノイズ音が聞こえるパッチです。

indeterminacy1

これを「metro 100」に繋げば、連続的に100ミリ秒に一度このノイズ音が聞こえてきます。
indeterminacy2

この下に「random 100」を繋ぐと、bangを入力されるたびに、0から99までの乱数を出力します。それを「<」に入力すると、「random」により生成された乱数値が、「<」の右インレットに入力された値よりも小さいときに1を、そうでないときに0を出力します。つまり、右インレットに「30」を入力した場合は、「random」が0から29までの値を出力した時にのみ1wp「<」が1を出力する事になります。そして、「random 100」が0から29までの値を出力する可能性は30%なので、これにより確率をプログラムする事ができるのです。 indeterminacy3

図中のpercentとラベルが貼られたナンバーボックスにまず0を入れてみましょう。「metro」をオンにしても何も聞こえないとおもいますが、この値を100に向けて増やしていくに連れて、ノイズが鳴る可能性が増えていきます。そして、100にすると、前のパッチのように「常時」ノイズがなる事になります。

この項のパッチをダウンロード

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください