【Max】urnで数値が重ならないランダム出力する

記事をシェアする:

ランダムな数値を出力するオブジェクトとして[random]などがありますが、[urn]は数値が重ならないように出力します。

十二音技法で音階を自動で作る時など、音高が重ならずにランダムに音高を選択するので便利です。

使い方

[urn 限界値]で設定すると、限界値未満 (図では< 5) の数値でランダムに数値を出力されます。

bangを第1インレットに送ると数値が重ならないようランダムな数値を出力します。

設定された全ての数値が出力されると第1インレットからの出力はされなくなり、第2インレットからbangが出力されます。

ランダムを再度出力されるようにする

もう一度ランダム出力されるようにしたい場合は「clear」メッセージを送ります。

ランダム出力を止めたくない場合は図のように、[urn]のbangを[t b clear]に繋ぎ、その2つのアウトを[urn]の第1インレットに接続します。「clear」メッセージでリセットし、bangを送ることで数値を出力させます。

限界値の変更

[urn]の第2インレットに数値を入力すると限界値を変更させることができます。設定できる最大値は4096となります。

シード値を設定する

シード値を設定するとパッチを立ち上げた時に毎回同じランダムを出力させることができます。

[urnt 限界値 シード値]の形でシード値を設定できます。

「seed シード値」のメッセージで設定することも可能です。

記事をシェアする: