2008-05-01から1ヶ月間の記事一覧

気になる

ヘルプファイルをちょっとずつ読んでいて気になったこと。 if (expr, trueFunc, falseFunc); epxr.if(trueFunc, falseFunc); 上のような書き換えができる。 while 文でも同じに書き換えができる。 for 文も出来るが、2行目の書き方はいつ使うのかまったく不…

和音を出す

とりあえず、ここまでやった分で何か作ろうと思って和音をだすコードを書いた。 簡単なコードだけど、微妙なリズムも生まれてちょっと面白い。 ( f = { arg n = 5, freq = 440; Mix.fill( n, { arg index; var freqs = [ freq+index, (freq+index)*5/4, (fre…

Mix it Up

単純に音を重ねる場合は、 + 演算子で UGen を加算する。 { PinkNoise.ar( 0.2 ) + SinOsc.ar( 440, 0, 0.2 ) + Saw.ar( 660, 0.2 ) }.play また新しい UGen が出てきた。Saw はノコギリ波のクラス。 Mix クラスを使っても同じようにできる。 その場合は、足…

Presented in Living Stereo

SuperCollider では、とにかく配列が重要らしい。 とりあえず、配列の使い方は [ xxx, xxx, xxx ] という感じ。 var array = [ "foo", "bar" ]; array.at(0).postln; // 1番目の要素を表示 array[1].postln; // 同じこと array[2].postln; // nil エラーに…

むむ

ヘルプファイルを色々見ていて気づいた、 今読んでいる Getting Started With SC は最初に読むやつじゃないのかも、、 でも、どういう順番で読んだらいいのか良く分からんなー。 まあいいけど、とりあえず続きを読もう。

And What About Functions and Sound?

単純なサイン派を再生するコード { SinOsc.ar( 440, 0, 0.5 ) }.play;これでローカルサーバから音が出る。 明示的にサーバを指定していない時は、グローバル変数 s で指定しているサーバを使う。 s にはデフォルトでローカルサーバが格納されているから、こ…

Functions and Other Functionality

初めての音出し。 { [SinOsc.ar(440, 0, 0.2), SinOsc.ar(442, 0, 0.2)] }.play;おお、サイン派がなった。 Not too inspiring? いや、感動したよ。 この例では、2つのサイン派を合成しているみたい。[ ]は配列だと思われる。 ショートカット Cmd + . 音を止…

Start Your Engines

localhost server の起動と停止 s.boot; s.quit;起動が成功するとステータスが "inactive" -> "booting" -> "running" になる。 s ってのは Server.local の略称っぽい。

First Steps

とりあえず、定番の Hello World から。 "Hello World".postln;でこの行にカーソルがある状態で enter 。 return ではなく enter 。 Hello World Hello World出力が2行でるのは、最後に評価された値が戻り値となるから、 最初の行が 文字列オブジェクト"Hel…

SuperColliderをつまみ食う

前から気になっていた SuperCollider をやってみようかと思う。 SuperColliderは音響合成用プログラミング環境で、CUIベースと思われるので、 Max/MSPのGUIでこちょこちょするのになじめなかった僕にはこっちの方が良い気がする。 Getting Started With Supe…

エクセルの1000列目は ALL

ちょっとエクセルでマクロを作っていて、 数字をエクセルの列名に変換する関数を何気なく作った。 それだけなんだけど、 なんとなく1000列目の列名を変換したら ALL って出てくる。 A-Zまでの26進数で1000まで数えたらそうなるってだけだけど、 なんかちょっ…

配列リファレンスの最後の要素のインデクス

例えば配列の要素が 50個のとき、 普通の配列 @hoge なら $#hoge で 49 が返ってくる。 配列のリファレンス @$hoge なら $#$hoge 、単純に s/@/$#/ と考えればいい。 なので、ハッシュの中身が 配列リファレンスの場合 @{$hoge->{unko}} は、 $#{$hoge->{unk…

Perlメモ ナベアツ ワンライナー その3

3の倍数と3のつく数字のときにアホになって、さらに5の倍数のときに犬っぽくなるワンライナー。

Perlメモ ナベアツ ワンライナー その2

perl -e '@nabe=qw/0 aho! bow! ahooown!!/; map {$n=0; $n+=1 if(!($_%3)||/3/); $n+=2 if(!($_%5)); print $nabe[$n]?$nabe[$n]:$_,"\n"} (1..40)' 5の倍数のときに犬っぽくもなる

Perlメモ ナベアツ ワンライナー

perl -e 'print map { !($_ % 3) || /3/ ? "aho!" : $_, "\n" } 1..40' 1行では5の倍数で犬っぽくするのはしんどい

SpceialCellsを改造した

Excel の VBA で 特定の種類のセルを参照する Range.SpecialCells というメソッドがあるんですが、 引数で指定できるセルの種類が1つしか指定できません。 例えば、下記の感じで使用します。 '選択中セルで定数が入力されているセルを参照する Selection.Sp…