金曜日, 3月 09, 2007

ess envelope

essのenvelopeがよくわからない。maxとかsc3みたいに何秒で振幅がどんだけで〜みたいな指定の仕方のはず。EPoint(時間,振幅)で、時間はfloat。サンプルから推測するに1が1秒なんだろう。と、思いきや、どうやらframe数が変わっても形を保つらしい。maxでいうとbreakpoint function editorにsetdomain $1でframe数変えてるのと同じ。つまりサンプル数によって1秒で振幅が1になったり0.25秒で1になったりするということ。ややこしい。何が何でも0.1秒後に振幅1になってそれから0.2秒後に0になって欲しい。って指定がしたい時はどうすれば...。

あと、サンプルファイルはsetup()メソッドの中に一度だけ書いておくのではなく、毎回鳴らす度にnewしてあげる方がいい。特にone shotもの。ちょっと腑に落ちないけど。

import krister.Ess.*;

AudioChannel myChannel;
Envelope myEnvelope;

void setup() {
size(256,200);

// start up Ess
Ess.start(this);

}

void playSound(){

// load file into a new AudioChannel
myChannel=new AudioChannel("cell.aif");

// apply a 4 point envelope
EPoint[] env1 = new EPoint[4];
env1[0] = new EPoint(0,0);
env1[1] = new EPoint(1,1);
env1[2] = new EPoint(2,0);
env1[3] = new EPoint(3,0);

myEnvelope = new Envelope(env1);

myEnvelope.filter(myChannel);

// play
myChannel.play();
}

void draw() {
}

void mousePressed() {
playSound();
}

// we are done, clean up Ess

public void stop() {
Ess.stop();
super.stop();
}

水曜日, 3月 07, 2007

bang book

pdの本が出てた。表紙が結構かっこいい。白が良かった気もするけど何かしら意図があるのだろう。多分。pdfが無料でダウンロードできる辺りが素晴らしい。内容は単なるhowtoではなくopen source communityがどうとか文化的な話題から物理モデルの基礎、プログラミングで音楽(楽器)を作るとは、てな感じの研究的なコラムが中心で、それぞれのコラムの後にちょこっとpdのプログラミングの仕方が書いてある程度。computer music journalとかに近い。論文には役立つかしら。

初心者がpdとdspの勉強するなら開発者のmiller pucketteが書いてるドキュメントの方がいいかも。

pdのドキュメンテーション
Pd Documentation

dspの話題をpdのexampleで
The Theory and Technique of Electronic Music

火曜日, 3月 06, 2007

openframeworks pre release

遂にpre releaseとなったopenframeworks。ダウンロードしたファイルを解凍して、__Instructions.txtに書かれている通り_G5 G4 CLICKと_G5 G4 CLICK TOOというファイルをクリックするも何も起こらず。これが原因でサンプルがコンパイルできないらしくmixi経由でトビに質問。of_preRelease_v0.01_xcode/libs/freeimage/内のppcFreeImage.zip、of_preRelease_v0.01_xcode/libs/freetype_osx_local/lib/内のppcFreeType.zipをそのまま解凍すればいいだけだった(丁寧にありがとう!)。

で、exampleをいくつか試してみたところ、audioOutputExampleなんかは描画も速いし音のキレもいいなーという印象。forumに載ってたofGetFrameRate()使ってfps表示してみました。こういう時にどういう情報載せるのがいいのかよくわかってませんが、プロセッサ 1.25GHz PoworPC G4 メモリ 512MB DDR SDRAM グラフィックス ATI Mobility Radeon 9600ってな環境で実行しました。Xcodeは2.4.1。


最大で350fpsくらいは出てたかな。計測の仕方が正しいのか不安...。修士制作で使うメインの言語を何にしようかってので色々試してるんだけど、時と場合に応じて色々使い分けられるようになりたい。徐々に開発サイドにも回っていきたいし。openframeworksのSet up GuidesはMacユーザ用のXcode、Windowsユーザ用のdev C++、VC++ 2005の使い方についても丁寧に書かれているので、僕のように開発経験の少ない人でも読み易くなってます。

とにかく、正式版が待ち遠しいです。
http://www.openframeworks.cc/

openframeworks開発者
zachary lieberman
theodore watson

zacharyのmaking things moveはprocessing(p5)のいい勉強になります。
theodoreはデザインもサイバー過ぎず素敵。audio spaceとかマジで悔しい。

他、openframeworks関連の記事
ことぶ記
create digital motion
software over the rainbow
Michael Ang
abstract machine