乱数
チュートリアルで「昔のSF映画に出てくる大型コンピュータっぽい音」を出すといってるコード。
SinOsc s => dac; while( true ) { 100::ms => now; //30.0から1000.0までのランダムな数を周波数に設定 Std.rand2f(30.0, 1000.0) => s.freq; }
ぎりぎりな高周波を聴いたあとだとこれを聴くだけでも安心できる…。
ChucKには標準ライブラリがネームスペースでまとめられていて、現在は標準のStdの他に、VMのインタフェースを提供するMachine、数学関係のMathがある。Stdの関数rand2fは[第一引数, 第二引数]の範囲で乱数(浮動小数点数)を生成する。乱数の種は勝手に(多分時間か何かを使って)初期化してくれるが、乱数列を固定したい場合はStd.srand(int)によって自分で種を設定可能。
なぜかsrandはProgramming Guideの一覧には載ってないんだが。10月8日追記:マニュアルの一覧にはある。