seekがターゲットに向かう動き、fleeがターゲットから遠ざかる動き。まずこれを押さえる。
ここからflockするために、cohesion、separation、alignmentを加えるんだけど、
cohesionは仲間の平均の位置をseekすることで、separationは近づき過ぎた仲間からfleeすること、alignmentは仲間の平均の速度に合わせること。
基本はAdvanced ActionScript 3.0 Animationで勉強した。
最近また新しいサンプルが増えたnature of codeもよくわかる。
どちらも大元にあるのはcraig reynolds。
Steering Behaviors For Autonomous Characters
nature of codeは夏に本が出るらしい。
Nature of Code Book at daniel shiffman
早速メーリングリスト登録した。
土曜日, 3月 07, 2009
日曜日, 6月 29, 2008
py-appscript
面白そうなのでやってみた。
py-appscriptでiTunesで再生中の曲を取得する
sh setuptools-0.6c8-py2.5.eggのとこでzlibがなくてinstallできない。ここで少しはまった。
わざわざzlibをインストールしたけど、pythonをコンパイルし直すとかよくわからず。
もういいやと思ってpythonのバイナリ入れ直そうかと思ったけどエラーでインストールできない。
macportsでpythonを入れてあるのが原因ぽく、Python macports zlib で検索。
» ( ゚∀゚)o彡° Python! Python! easy_install! MacPorts! | ヲゾゾ wozozo blog
ということで、terminalから
すればうまくいって、
も無事できた。
わからないことだらけ。
でも安心できるの(一応動いたので)。
いまさらながらtwitter自動ポストとかもできるな。やらないけど。これとあれを組み合わせればできるなとか、別の言語でやる場合はこれに似た何かを探せば(できることなら作れば)いいんだなとかがわかれば収穫。やった気になって何もしないのは駄目だと思うけど。
これやりたい。
pachube :: connecting environments, patching the planet - Map of feeds
ipod、通勤中聴くけど、朝と夜ではあんまり意識してないけどボリュームが違ってて、朝に聴くと音量でかかったりして、前の日の夜の気分とかテンションみたいなものが音量として残ってる感じがして、何となく世界中の人々の音量を知りたいと思った。
bloggerの話だけど、preタグのline-heightとか日によって変わるの何で?
py-appscriptでiTunesで再生中の曲を取得する
sh setuptools-0.6c8-py2.5.eggのとこでzlibがなくてinstallできない。ここで少しはまった。
zipimport.ZipImportError: can't decompress data; zlib not available
わざわざzlibをインストールしたけど、pythonをコンパイルし直すとかよくわからず。
もういいやと思ってpythonのバイナリ入れ直そうかと思ったけどエラーでインストールできない。
macportsでpythonを入れてあるのが原因ぽく、Python macports zlib で検索。
» ( ゚∀゚)o彡° Python! Python! easy_install! MacPorts! | ヲゾゾ wozozo blog
ということで、terminalから
sudo port install py25-zlib
すればうまくいって、
sh setuptools-0.6c8-py2.5.egg
も無事できた。
わからないことだらけ。
>>> import appscript
>>> itunes = appscript.app('iTunes')
>>> print itunes.current_track.album.get()
Baby cruising Love/マカロニ
でも安心できるの(一応動いたので)。
いまさらながらtwitter自動ポストとかもできるな。やらないけど。これとあれを組み合わせればできるなとか、別の言語でやる場合はこれに似た何かを探せば(できることなら作れば)いいんだなとかがわかれば収穫。やった気になって何もしないのは駄目だと思うけど。
これやりたい。
pachube :: connecting environments, patching the planet - Map of feeds
ipod、通勤中聴くけど、朝と夜ではあんまり意識してないけどボリュームが違ってて、朝に聴くと音量でかかったりして、前の日の夜の気分とかテンションみたいなものが音量として残ってる感じがして、何となく世界中の人々の音量を知りたいと思った。
bloggerの話だけど、preタグのline-heightとか日によって変わるの何で?
木曜日, 11月 22, 2007
AudioIn with MacBook built-in-microphone
MacBook Proに移行して、SuperCollider3も3.1にして、processingと連携させて遊んだりしたんだけど、
ある時マイクを使おうとしたら入力ができなかった。
解決法をwebで発見したので記録しておく。
アプリケーション>ユーティリティ>Audio MIDI設定を起動して、メニューから機器セットエディタを開く
+ボタンで機器セット追加。名前をsupercolliderとでもつけておく
内蔵マイク、内蔵出力にチェックして、完了
デフォルトの入力と出力をsupercolliderにしておく
で、SC3起動(既に起動してる場合は再起動)。
Serverをbootするとこんなメッセージが出るはず。
新規ファイルを開いて、
{Out.ar(0,AudioIn.ar(1))}.play;
で無事左チャンネルから音が聞こえて録音もできましたとさ。
ある時マイクを使おうとしたら入力ができなかった。
解決法をwebで発見したので記録しておく。
アプリケーション>ユーティリティ>Audio MIDI設定を起動して、メニューから機器セットエディタを開く
+ボタンで機器セット追加。名前をsupercolliderとでもつけておく
内蔵マイク、内蔵出力にチェックして、完了
デフォルトの入力と出力をsupercolliderにしておく
で、SC3起動(既に起動してる場合は再起動)。
Serverをbootするとこんなメッセージが出るはず。
Number of Devices: 4
0 : "Built-in Microphone"
1 : "Built-in Input"
2 : "Built-in notification is on
"supercollider" Input Device
Streams: 1
0 channels 2
"supercollider" Output Device
Streams: 1
0 channels 2
新規ファイルを開いて、
{Out.ar(0,AudioIn.ar(1))}.play;
で無事左チャンネルから音が聞こえて録音もできましたとさ。
月曜日, 11月 19, 2007
today's glitch 3

この間、youpyさんに教えてもらったOSXで超簡単にglitchする方法で、
cat ファイル名 | sed 's/9/1/g' > ファイル名
てのがある。
sedコマンドで
s/検索文字列/置換文字列/g
って感じで数値を置換してる。数値を変えると結果も変わる。ファイルはmp3とかもいける。
同じようにprocessingでも単純にバイナリ形式で開いて、if文で置換。
数値は色々試さないとできたファイルがうまく開けなかったりする。finderのプレビューで見るのと、アプリケーションのプレビューで見るのと、photoshopで見るので結果が違ってたりする。
byte[] b = loadBytes("hysysk.jpg");
for(int i=0;i<b.length;i++) {
//println(b[i]);
if(b[i]==18) {
b[i]=1;
} else {
b[i]=b[i];
}
}
saveBytes("glitch.jpg", b);
土曜日, 11月 17, 2007
jython + p5#2
後半。本当にやりたかったのはここから。
irbでやってるみたいに、インタラクティブにコードを書き換える。
Processing by Ruby #2 - Quietstar
コードはrubyとほとんど同じ。下のコードをSketchTest2.pyとか名前付けて、保存。
jythonを起動して、
>>> from SketchTest2 import *
これでjrubyのloadと同じなのかな。
>>> applet = Sketch()
で、Sketchクラスのインスタンスを作る。
>>> run(applet)
とするとアプレットが動きます。ランダムな位置に四角が描かれては消される。
jrubyでの例と同じように
applet.stop()
とかすれば止まるし、
applet.strokeWeight(5)
とかすれば線が太くなる。これは楽しい。
GUIもCUIもPhysical Computingも全部組み込みたいものだ。
irbでやってるみたいに、インタラクティブにコードを書き換える。
Processing by Ruby #2 - Quietstar
コードはrubyとほとんど同じ。下のコードをSketchTest2.pyとか名前付けて、保存。
jythonを起動して、
>>> from SketchTest2 import *
これでjrubyのloadと同じなのかな。
>>> applet = Sketch()
で、Sketchクラスのインスタンスを作る。
>>> run(applet)
とするとアプレットが動きます。ランダムな位置に四角が描かれては消される。
jrubyでの例と同じように
applet.stop()
とかすれば止まるし、
applet.strokeWeight(5)
とかすれば線が太くなる。これは楽しい。
GUIもCUIもPhysical Computingも全部組み込みたいものだ。
from javax.swing import JFrame
from processing.core import PApplet
class Sketch(PApplet):
def __init__(self):
pass
def setup(self):
self.size(200, 200)
self.rect(0, 0, 100, 100)
def getField(self, name):
return self.class.superclass.getDeclaredField(name).get(self)
def draw(self):
self.background(255);
self.rect(self.random(self.width), self.random(self.height), 10, 10)
def run(applet):
frame = JFrame(title="Processing",
resizable = 0,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
frame.contentPane.add(applet)
applet.init()
frame.pack()
frame.visible = 1
if __name__ == '__main__':
run(Sketch())
jython + p5#1
jrbでprocessingっていうこの記事読んで同じことがjythonでもできないかと思った。
Processing by Ruby - Quietstar
jythonのインストール
Installation
ここからリンク先をクリックしてjarファイルをダウンロード
Downloads
jarファイルをダブルクリックするか、terminalで
java -jar jython_installer-2.2.1.jar
と打ち込む。
GUIが出てきて色々聞いてくるので、色々答える。Installation typeはStanderdにした。
あとはひたすら光ってるとこをクリックしてくと、jython2.2.1というフォルダが作られる。
PATHを通す(コマンドサーチパスに加える、というのか)。terminalで
open .bash_profile
して、bash profileを開く。jython2.2.1フォルダ内にjython実行ファイルがあって、ホーム(hysysk)のすぐ下に置いたので、
export PATH="/Users/hysysk/jython2.2.1:${PATH}"
とすればよい。他に色々ある場合は:でつないでいく。${PATH}は忘れずに。
これでterminalから
jython
と打ち込むだけで起動するようになる。
Processingの方。
.bash_profileにprocessingのCLASSPATHを書いておくと実行する時に楽。
ここを参考に。
JRuby上のirbでインタラクティブにProce55ingを動かす:TKMR.blog.show
export P5_HOME=/Applications/Processing¥ 0133
export CLASSPATH=$CLASSPATH:$P5_HOME/lib/core.jar
こんな感じで。exportってのは変数の宣言みたいなものか。
Processing 0133じゃなくてProcessing¥ 0133。\か¥を入れる。フォルダ名変えればいいのか?試さない。
jythonでの書き方はここを参考に(via koyachiさん。いつもありがとうございます!)。
Backspaces: Processing: .. with Jython
ただ四角を描くだけのコード。SketchTest.pyとか名前付けて保存して、
jyhton SketchTest.py
で実行される、はず。上のサイトの人もあんましいいコードじゃないけどとりあえず動くからいいよね的なこと言ってるけど、僕もそんな感じです(僕の場合、どこがどう悪いかもわからない)。ご了承下さい。後半へ続く。
Processing by Ruby - Quietstar
jythonのインストール
Installation
ここからリンク先をクリックしてjarファイルをダウンロード
Downloads
jarファイルをダブルクリックするか、terminalで
java -jar jython_installer-2.2.1.jar
と打ち込む。
GUIが出てきて色々聞いてくるので、色々答える。Installation typeはStanderdにした。
あとはひたすら光ってるとこをクリックしてくと、jython2.2.1というフォルダが作られる。
PATHを通す(コマンドサーチパスに加える、というのか)。terminalで
open .bash_profile
して、bash profileを開く。jython2.2.1フォルダ内にjython実行ファイルがあって、ホーム(hysysk)のすぐ下に置いたので、
export PATH="/Users/hysysk/jython2.2.1:${PATH}"
とすればよい。他に色々ある場合は:でつないでいく。${PATH}は忘れずに。
これでterminalから
jython
と打ち込むだけで起動するようになる。
Processingの方。
.bash_profileにprocessingのCLASSPATHを書いておくと実行する時に楽。
ここを参考に。
JRuby上のirbでインタラクティブにProce55ingを動かす:TKMR.blog.show
export P5_HOME=/Applications/Processing¥ 0133
export CLASSPATH=$CLASSPATH:$P5_HOME/lib/core.jar
こんな感じで。exportってのは変数の宣言みたいなものか。
Processing 0133じゃなくてProcessing¥ 0133。\か¥を入れる。フォルダ名変えればいいのか?試さない。
jythonでの書き方はここを参考に(via koyachiさん。いつもありがとうございます!)。
Backspaces: Processing: .. with Jython
ただ四角を描くだけのコード。SketchTest.pyとか名前付けて保存して、
jyhton SketchTest.py
で実行される、はず。上のサイトの人もあんましいいコードじゃないけどとりあえず動くからいいよね的なこと言ってるけど、僕もそんな感じです(僕の場合、どこがどう悪いかもわからない)。ご了承下さい。後半へ続く。
from javax.swing import JFrame
from processing.core import PApplet
class Sketch(PApplet):
def __init__(self):
pass
def setup(self):
self.size(200, 200)
self.rect(0, 0, 100, 100)
def getField(self, name):
return self.class.superclass.getDeclaredField(name).get(self)
if __name__ == '__main__':
frame = JFrame(title="Processing",
resizable = 0,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
panel = Sketch()
frame.add(panel)
panel.init()
while panel.defaultSize and not panel.finished:
pass
frame.pack()
frame.visible = 1
水曜日, 8月 29, 2007
note20070829
eclipse + flex 2(actionscript 3)
Aaron Spjut » Blog Archive » Continuous Integration with Flex 2 (Actionscript 3), FlexUnit, CruiseControl, Apollo and subversion on OS X
build.xmlのfailonerror="true"をなくしたらビルド通った。
eclipse + CDT(C/C++)
HelpからSoftware UpdatesのFind and Install...
Search for new features to ins...をチェックして、Next>
New Remote Site...でNameにCDTとか名前付ける、
URLはhttp://download.eclipse.org/tools/cdt/releases/europa
OpenGL
ProjectのPropertiesでTool settingsのMacOSX C++ LinkerからMiscellaneousを選び、Linker Flagsに
-framework OpenGL -framework GLUT
と追加。
あとはこの辺で遊ぶ。
OpenGL Video Tutorial - Home
OpenALもこんな感じでやってこう。
Aaron Spjut » Blog Archive » Continuous Integration with Flex 2 (Actionscript 3), FlexUnit, CruiseControl, Apollo and subversion on OS X
build.xmlのfailonerror="true"をなくしたらビルド通った。
eclipse + CDT(C/C++)
HelpからSoftware UpdatesのFind and Install...
Search for new features to ins...をチェックして、Next>
New Remote Site...でNameにCDTとか名前付ける、
URLはhttp://download.eclipse.org/tools/cdt/releases/europa
OpenGL
ProjectのPropertiesでTool settingsのMacOSX C++ LinkerからMiscellaneousを選び、Linker Flagsに
-framework OpenGL -framework GLUT
と追加。
あとはこの辺で遊ぶ。
OpenGL Video Tutorial - Home
OpenALもこんな感じでやってこう。
木曜日, 8月 09, 2007
ess vs minim
processingで音を扱うライブラリのessとminimのどっちがどっちだって話。徹底比較した訳ではないので、自分が使った範囲で覚えておこうと思うところのメモです。
ess
メリット
FFTを使う場合、damp()メソッドで値を滑らかにできたりして、ビジュアライゼーションには便利。
envelopeクラスがあるので、オシレータを組み合わせて音を作っていくのには向いてるかも。フィルターなどエフェクトもminimよりかは充実してる。
デメリット
サウンドファイルを読み込む場合、モノラルでしか扱えない。
mp3ファイルを読み込みたい場合は下記のファイルが必要。
tritonus_share.jar
mp3spi1.9.2.jar
jl1.0.jar
スケッチのあるフォルダにcodeというフォルダを作って入れておく。
長いサウンドファイルを読み込む場合はAudioStreamクラスを使う。その際
void audioStreamWrite(AudioStream theStream) {
// read the next chunk
int samplesRead=myFile.read(myStream);
}
というようなメソッドを作ってFileクラスから読み込んだ音をチャンクに入れていく(theStreamという仮引数は何をしてるんだろう...)。
minim
メリット
サウンドファイルが使いやすい。mp3ファイルが外部ファイルなしでそのまま使える。AudioSnippetクラス、AudioSampleクラス、AudioPlayerクラスなど用途に合わせていくつかクラスが存在する。AudioPlayerクラスはステレオでファイルが扱えてleftやrightというフィールド変数を持っているので、FFTなどで左右の値を取得できる。
BeatDetectクラスもあったりして解析系は便利(精度は怪しいかも知れない)。
デメリット
envelopeなどがなく、複雑な音の加工には向いてないかも。envelope、自分で用意するのだろうか(pythonだけど、ここのSound11 Kick drumみたいに)...。
僕の場合、現状ではできることとかやりやすさに合わせて使うライブラリを変えてます。まだまだどちらも発展途上。
興味があるのは、相変わらず自分で波形を定義する方法。
ess
Processing 1.0 (BETA) - Functional example of ESS Generative Audio
minim
exampleにUserDefinedSignalってのがあります。UserDefinedEffectってのもある。面白そう。
知らなかったけど、processing公式サイトにライブラリのサンプルコードがありますね。ライブラリの配布元とは違う内容で、参考になります。今日記事書いて良かった!
Learning \ Processing 1.0 (BETA)
ess
メリット
FFTを使う場合、damp()メソッドで値を滑らかにできたりして、ビジュアライゼーションには便利。
envelopeクラスがあるので、オシレータを組み合わせて音を作っていくのには向いてるかも。フィルターなどエフェクトもminimよりかは充実してる。
デメリット
サウンドファイルを読み込む場合、モノラルでしか扱えない。
mp3ファイルを読み込みたい場合は下記のファイルが必要。
tritonus_share.jar
mp3spi1.9.2.jar
jl1.0.jar
スケッチのあるフォルダにcodeというフォルダを作って入れておく。
長いサウンドファイルを読み込む場合はAudioStreamクラスを使う。その際
void audioStreamWrite(AudioStream theStream) {
// read the next chunk
int samplesRead=myFile.read(myStream);
}
というようなメソッドを作ってFileクラスから読み込んだ音をチャンクに入れていく(theStreamという仮引数は何をしてるんだろう...)。
minim
メリット
サウンドファイルが使いやすい。mp3ファイルが外部ファイルなしでそのまま使える。AudioSnippetクラス、AudioSampleクラス、AudioPlayerクラスなど用途に合わせていくつかクラスが存在する。AudioPlayerクラスはステレオでファイルが扱えてleftやrightというフィールド変数を持っているので、FFTなどで左右の値を取得できる。
BeatDetectクラスもあったりして解析系は便利(精度は怪しいかも知れない)。
デメリット
envelopeなどがなく、複雑な音の加工には向いてないかも。envelope、自分で用意するのだろうか(pythonだけど、ここのSound11 Kick drumみたいに)...。
僕の場合、現状ではできることとかやりやすさに合わせて使うライブラリを変えてます。まだまだどちらも発展途上。
興味があるのは、相変わらず自分で波形を定義する方法。
ess
Processing 1.0 (BETA) - Functional example of ESS Generative Audio
minim
exampleにUserDefinedSignalってのがあります。UserDefinedEffectってのもある。面白そう。
知らなかったけど、processing公式サイトにライブラリのサンプルコードがありますね。ライブラリの配布元とは違う内容で、参考になります。今日記事書いて良かった!
Learning \ Processing 1.0 (BETA)
土曜日, 7月 07, 2007
note20070707
Max/MSP
ubumenuでQuickTimeMovieファイルだけを表示したい場合はInspectorでFiltered TypesにMooVと書く。
css
共通スタイル、各ページ毎のスタイルでファイルを分ける。
共通のとこで全称セレクタ使ってmarginとpaddingを0にしておくと便利。
html
見出し要素は順番を守る。文字の大きさではなく、構造。
定義リストが便利。会社概要とかはこれで書く。
javascript
MDC
メインページ - MDC
brazilさんに教えてもらったbookmarkletのわかりやすい解説
Bookmarklets - Browser Power
misc
Arkitip™ | Intelligence
複数の色んな肩書きの人達が記事や写真をアップしてる。サイトが綺麗。
Magazineのissue0032でexpelimental jetset特集。高かったけど良かった。
プロサッカー選手はスルーパスを受ける時、観客の目線が自分の目線のように感じられて、動くべき場所とタイミングがわかるらしい。
ふんわり何とかが食べたい。
ubumenuでQuickTimeMovieファイルだけを表示したい場合はInspectorでFiltered TypesにMooVと書く。
css
共通スタイル、各ページ毎のスタイルでファイルを分ける。
共通のとこで全称セレクタ使ってmarginとpaddingを0にしておくと便利。
html
見出し要素は順番を守る。文字の大きさではなく、構造。
定義リストが便利。会社概要とかはこれで書く。
javascript
MDC
メインページ - MDC
brazilさんに教えてもらったbookmarkletのわかりやすい解説
Bookmarklets - Browser Power
misc
Arkitip™ | Intelligence
複数の色んな肩書きの人達が記事や写真をアップしてる。サイトが綺麗。
Magazineのissue0032でexpelimental jetset特集。高かったけど良かった。
プロサッカー選手はスルーパスを受ける時、観客の目線が自分の目線のように感じられて、動くべき場所とタイミングがわかるらしい。
ふんわり何とかが食べたい。
登録:
投稿 (Atom)