土曜日, 7月 28, 2007
金曜日, 7月 27, 2007
brainf*cksp
bfsp
brainf*ckをp5に移し替えて、tex/tspと混ぜ合わせてちょっと改変。現在オシレータのみ実装。ロジックの部分はbrainf*ckそのまま。while文にあたる[]を()に変えた。+-でポインタ内の数値を上げ下げして、オシレータにはその数値を渡す。ここが迷ってるなぁって感じ。[]でループを作る場合は強制的に矩形波を鳴らしてしまう、という設計にしてもいい気がする。
書き方は
> ポインタを1進める
< ポインタを1戻す
+ ポインタの指す要素の値を1増やす(インクリメント)
- ポインタの指す要素の値を1減らす(デクリメント)
. ポインタの指す要素の値を外に出力、音を鳴らす
( ポインタの指す要素の値が0であれば対応する次の)までジャンプ
) ポインタの指す要素の値が0でなければ対応する前の(までジャンプ
~ サイン波を生成
/ ノコギリ波を生成
^ 三角波を生成
[ または ] 矩形波を生成
440Hzのサイン波を鳴らすには
++++++++++++++++++++++(>++++++++++++++++++++<-)>~.
とすればいい。簡単に説明すると(の前の+の数だけ()の中を繰り返している。
以下、詳しい説明(本当に自分がわかってるか確認用)。
ソースコードのmがポインタ、mpがポインタの要素の値。初期値は0。
左から右に処理が流れる。
m[0]の要素の値mpがどんどん+で増やされていく。
+は22個なのでm[0]=22。
(にぶつかる。m[0]の要素の値は22で0ではないので、そのまま進む。
>でポインタをインクリメントしm[1]にする。以後の+はm[1]の要素の値に対して行われる。初期値は0。
+が20個。m[1]=20になったところで
<でポインタを1戻してm[0]に。
-でm[0]の数値をデクリメント。
m[0]=21
)にぶつかる。m[0]=21で0でないので(に戻る。
>でポインタがm[1]になる。
+が20個。m[1]=40になるまでインクリメント。
<でまたポインタがm[0]に戻る。
-でm[0]の数値をデクリメント。
m[0]=20
という感じで、20足すループを22回繰り返す。m[0]=0の時は)を通り抜ける。
<でポインタをm[1]にし、その数値440を~に渡してあげて、.で出力すれば440Hzのサイン波が鳴る。ついでにクという字もコンソールに出力される。
適当なエディタに上記のコードを書いて保存(拡張子はbとかtxtとか)し、processingのコードを実行してみて下さい。ウィンドウが出るので、クリックして、ファイルを選びます。
うまくいけば実行されます。元々のbrainf*ckは,でコンソールからの入力とかもとれるのですが、processingではちょっと面倒だったので実装してません。eclipseとかで動かしてれば別ですが。
音を鳴らすにはminimライブラリが必要です。
Code Log » Minim
brainf*ck参考リンク。
彼のInterpreterをほぼそのまま使ってます。
UMMO Letters » The Java Brainfuck Compiler
brainf*ckのコーディングについて参考にしたページ。
Brainf*ck
Brainfuck - Wikipedia, the free encyclopedia
もうちょっと使いながら何ができるか考えていこう...。
こういうのも面白いかもしれない。
西尾泰和のブログ: GRINEditを使ってソースコードの可視化
インタプリタ部分のライセンスです。僕のとこに関してはpublic domainで。
Copyright (C) 2002 Petter E. Stokke
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
brainf*ckをp5に移し替えて、tex/tspと混ぜ合わせてちょっと改変。現在オシレータのみ実装。ロジックの部分はbrainf*ckそのまま。while文にあたる[]を()に変えた。+-でポインタ内の数値を上げ下げして、オシレータにはその数値を渡す。ここが迷ってるなぁって感じ。[]でループを作る場合は強制的に矩形波を鳴らしてしまう、という設計にしてもいい気がする。
書き方は
> ポインタを1進める
< ポインタを1戻す
+ ポインタの指す要素の値を1増やす(インクリメント)
- ポインタの指す要素の値を1減らす(デクリメント)
. ポインタの指す要素の値を外に出力、音を鳴らす
( ポインタの指す要素の値が0であれば対応する次の)までジャンプ
) ポインタの指す要素の値が0でなければ対応する前の(までジャンプ
~ サイン波を生成
/ ノコギリ波を生成
^ 三角波を生成
[ または ] 矩形波を生成
440Hzのサイン波を鳴らすには
++++++++++++++++++++++(>++++++++++++++++++++<-)>~.
とすればいい。簡単に説明すると(の前の+の数だけ()の中を繰り返している。
以下、詳しい説明(本当に自分がわかってるか確認用)。
ソースコードのmがポインタ、mpがポインタの要素の値。初期値は0。
左から右に処理が流れる。
m[0]の要素の値mpがどんどん+で増やされていく。
+は22個なのでm[0]=22。
(にぶつかる。m[0]の要素の値は22で0ではないので、そのまま進む。
>でポインタをインクリメントしm[1]にする。以後の+はm[1]の要素の値に対して行われる。初期値は0。
+が20個。m[1]=20になったところで
<でポインタを1戻してm[0]に。
-でm[0]の数値をデクリメント。
m[0]=21
)にぶつかる。m[0]=21で0でないので(に戻る。
>でポインタがm[1]になる。
+が20個。m[1]=40になるまでインクリメント。
<でまたポインタがm[0]に戻る。
-でm[0]の数値をデクリメント。
m[0]=20
という感じで、20足すループを22回繰り返す。m[0]=0の時は)を通り抜ける。
<でポインタをm[1]にし、その数値440を~に渡してあげて、.で出力すれば440Hzのサイン波が鳴る。ついでにクという字もコンソールに出力される。
適当なエディタに上記のコードを書いて保存(拡張子はbとかtxtとか)し、processingのコードを実行してみて下さい。ウィンドウが出るので、クリックして、ファイルを選びます。
うまくいけば実行されます。元々のbrainf*ckは,でコンソールからの入力とかもとれるのですが、processingではちょっと面倒だったので実装してません。eclipseとかで動かしてれば別ですが。
音を鳴らすにはminimライブラリが必要です。
Code Log » Minim
brainf*ck参考リンク。
彼のInterpreterをほぼそのまま使ってます。
UMMO Letters » The Java Brainfuck Compiler
brainf*ckのコーディングについて参考にしたページ。
Brainf*ck
Brainfuck - Wikipedia, the free encyclopedia
もうちょっと使いながら何ができるか考えていこう...。
こういうのも面白いかもしれない。
西尾泰和のブログ: GRINEditを使ってソースコードの可視化
インタプリタ部分のライセンスです。僕のとこに関してはpublic domainで。
Copyright (C) 2002 Petter E. Stokke
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
水曜日, 7月 25, 2007
comments from miwa & maeda
こうなってくると、プログラマーじゃないと評価できないものですね。論文では、ソフトウエア・アートや現在の動向を盛り込めると思いますが、そのなかでプログラムそのものの美しさの尺度について述べるのが難しそうですね。年次では、これまでにない音体験の創出という方向でしたが、方向転換したようですね。担当教官と相談しながら、突き進んでよいかと思います。
やりたいことはわかった。挑戦する甲斐のある研究だと思う。オリジナルな作品として結果を出すのはとてもむずかしそうだが、極めてほしい。健闘を祈る。
火曜日, 7月 24, 2007
math and physics
無事vj終えて、朝電車で帰ろうとすると、もう子供やら学生やらで溢れている。
夏休み始まってますーって感じだ。僕はまだ心の準備ができてない。
自転車で学校へ向かう途中、どっかの家の窓から子供に「おーい!バイバイー!」と声をかけられる。ハローグッバイ。
「夏休み?何言ってんの。毎日夏休みのくせに。」
と桂英史に言われたのはもう4年前。永過ぎる春は大物カップルも破局させるが永過ぎる夏(予備校含めたら6年)にはそれでもまだまだ山積みの宿題がある。
『ゲーム開発のための数学・物理学入門』を読み始める。ノートが一冊、余っていたのでそこに数式だのグラフだの書いて問題を解いてみることにする。別にゲーム作る訳じゃないけど。
読み始めていきなり、2のべき乗かどうかを判断するC++のプログラムはこんなんです、と出てきた。
bool powOfTwo(int num) {
return !(num&(num-1));
}
まぁここは関数の便利さとか、数学とプログラミングの関係を説明するためだったのでさらっと読み飛ばすとこなんだけど、このアルゴリズムが気になってしまった。
何である整数から1を引いたものを&で比較したらtrueだのfalseだのがわかるんだ?そもそも&って何?
試しにprocessingで上記のコードを書いてみる。
void setup() {
println(powOfTwo(4));
}
boolean powOfTwo(int num) {
return !(num&(num-1));
}
実行すると、
Semantic Error: The type of this expression, "int", is not "boolean".
というエラー。int型で比較してそのままboolean型を返すのはできないみたい。
で、どんな値になってるか調べてみる。
void setup() {
powOfTwo(4);
}
void powOfTwo(int num) {
println(num&(num-1));
}
実行すると、0が出力される。powOfTwoに渡す数値を色々変えて試すと、2のべき乗の時に0になる。
一体これは何なんだと思って、まず&が何やってんのかを調べる。wikipedia先生ー。
「数理論理学において論理積(ろんりせき、合接(ごうせつ) 連言)とは、与えられた複数の命題のいずれもが例外なく真であることを示す論理演算である。ANDとも表す。」
ということで、trueとtrueの場合、true。trueとfalseの場合、false。falseとfalseの場合、false。
trueが1で、falseが0の掛け算。
ここまできて、受け取った整数を2進数にして、1引いた数と比較してるってことがわかった。
えーと、2の2乗である4の場合、100でそっから1引いた3は11。0をつめてやると011。なので、100と011の各桁を比べて、1と0で0、0と1で0、0と1で0。
となり、0になる。8は1000で7は0111だし、以後そんな感じ。2のべき乗から1引いて論理積求めると、必ず0になる。多分C++だとそのまま0がfalseになるので、「2のべき乗のときはtrueを返す」ということで!で反転させてreturnしているんだろう。
こういう基本的なとこわかってないから苦労する。2進数と10進数をさらっと変換できないし。
その後は割と普通に1次方程式の傾きとか求めたり、中学高校の復習って感じ。サンプルコードをp5に書き換えたりして遊んでる。それもいずれupしようと思う。
ちなみに2のべき乗を判定するのはこうかな。
夏休み始まってますーって感じだ。僕はまだ心の準備ができてない。
自転車で学校へ向かう途中、どっかの家の窓から子供に「おーい!バイバイー!」と声をかけられる。ハローグッバイ。
「夏休み?何言ってんの。毎日夏休みのくせに。」
と桂英史に言われたのはもう4年前。永過ぎる春は大物カップルも破局させるが永過ぎる夏(予備校含めたら6年)にはそれでもまだまだ山積みの宿題がある。
『ゲーム開発のための数学・物理学入門』を読み始める。ノートが一冊、余っていたのでそこに数式だのグラフだの書いて問題を解いてみることにする。別にゲーム作る訳じゃないけど。
読み始めていきなり、2のべき乗かどうかを判断するC++のプログラムはこんなんです、と出てきた。
bool powOfTwo(int num) {
return !(num&(num-1));
}
まぁここは関数の便利さとか、数学とプログラミングの関係を説明するためだったのでさらっと読み飛ばすとこなんだけど、このアルゴリズムが気になってしまった。
何である整数から1を引いたものを&で比較したらtrueだのfalseだのがわかるんだ?そもそも&って何?
試しにprocessingで上記のコードを書いてみる。
void setup() {
println(powOfTwo(4));
}
boolean powOfTwo(int num) {
return !(num&(num-1));
}
実行すると、
Semantic Error: The type of this expression, "int", is not "boolean".
というエラー。int型で比較してそのままboolean型を返すのはできないみたい。
で、どんな値になってるか調べてみる。
void setup() {
powOfTwo(4);
}
void powOfTwo(int num) {
println(num&(num-1));
}
実行すると、0が出力される。powOfTwoに渡す数値を色々変えて試すと、2のべき乗の時に0になる。
一体これは何なんだと思って、まず&が何やってんのかを調べる。wikipedia先生ー。
「数理論理学において論理積(ろんりせき、合接(ごうせつ) 連言)とは、与えられた複数の命題のいずれもが例外なく真であることを示す論理演算である。ANDとも表す。」
ということで、trueとtrueの場合、true。trueとfalseの場合、false。falseとfalseの場合、false。
trueが1で、falseが0の掛け算。
ここまできて、受け取った整数を2進数にして、1引いた数と比較してるってことがわかった。
えーと、2の2乗である4の場合、100でそっから1引いた3は11。0をつめてやると011。なので、100と011の各桁を比べて、1と0で0、0と1で0、0と1で0。
となり、0になる。8は1000で7は0111だし、以後そんな感じ。2のべき乗から1引いて論理積求めると、必ず0になる。多分C++だとそのまま0がfalseになるので、「2のべき乗のときはtrueを返す」ということで!で反転させてreturnしているんだろう。
こういう基本的なとこわかってないから苦労する。2進数と10進数をさらっと変換できないし。
その後は割と普通に1次方程式の傾きとか求めたり、中学高校の復習って感じ。サンプルコードをp5に書き換えたりして遊んでる。それもいずれupしようと思う。
ちなみに2のべき乗を判定するのはこうかな。
void setup() {
println(powOfTwo(4));
}
boolean powOfTwo(int num) {
int x = num&(num-1);
if(x==0) return true;
else return false;
}
日曜日, 7月 22, 2007
金曜日, 7月 20, 2007
sketch20070719
今回はFFT使って周波数帯域毎に分けるsketch。
FFTクラスのインスタンスにgetBand()メソッドを送り、引数にインデックスを与えてその周波数帯の値を得る。
サンプリングレートが44100HzでFFTサイズ(timeSize)を512にしているので、帯域幅は44100/512≒86Hz。つまりgetBand(0)は86*0=0Hz、getBand(1)は86*1=86Hz、getBand(2)は86*2=172Hz...という風に86Hz毎に周波数のエネルギーを解析する。0から20までのインデックスをfor文で回す。さらにその中でif文を使って高域・中域・低域に分けている。やっとMax/MSPでやってたことがコードになってきた。
fftstudy : Built with Processing
マウスの位置をサイン波の周波数にマッピングしたものも作った(processingIDEで実行すると周波数がprintされてます)。
mousine : Built with Processing
FFTクラスのインスタンスにgetBand()メソッドを送り、引数にインデックスを与えてその周波数帯の値を得る。
サンプリングレートが44100HzでFFTサイズ(timeSize)を512にしているので、帯域幅は44100/512≒86Hz。つまりgetBand(0)は86*0=0Hz、getBand(1)は86*1=86Hz、getBand(2)は86*2=172Hz...という風に86Hz毎に周波数のエネルギーを解析する。0から20までのインデックスをfor文で回す。さらにその中でif文を使って高域・中域・低域に分けている。やっとMax/MSPでやってたことがコードになってきた。
fftstudy : Built with Processing
マウスの位置をサイン波の周波数にマッピングしたものも作った(processingIDEで実行すると周波数がprintされてます)。
mousine : Built with Processing
水曜日, 7月 18, 2007
20070717
16日
collect.applyのvjの手伝いで東京へ。中間発表のためのスライドができたのが午前4時。そのまま家に帰ってシャワー浴びて駅。6:20の電車で名古屋。7:15出発の高速バスで新宿へ。毎度のことながら高速バスの車内にはそれなりに可愛い子がいる。三段階くらいに分けて化粧が完成されていき、到着する頃にはすっかり東京仕様になっている。大抵は気合いが入り過ぎだから途中で止めとけばいいのにと思うんだけど、東京にいる若者の何割かがそうやってできてると思うとドキドキする。
14時前に新宿に着いてhmvやtower recordを回る。collect.applyのhalが作ったInnerzone Orchestraのcdを見つけたりする。14時半頃jamesから電話。品川へ。グランドプリンスホテル高輪にいるらしい。行ってみると信じられないくらい広い。いいとこ。二人が用意した映像を取り込み、プログラムを見せながら少し修正。
15時過ぎ代官山に向かう。タクシー。便利。就職の話とかしながら。「あと半年でもう一人分雇えるくらい稼がないとなー」と気になる発言。16時前に予定通りsaloon着。reflection谷口さんcorde原さんに会う。すごくいい感じ。映像出力用の機材が調子悪かったみたいだけどsaloonスタッフの方々が頑張ってくれて無事準備完了。
18時open。jamesに操作を任せ、halと谷口さんとコンビニへ。食事を買う。クラブは当然持ち込み禁止なのでdjブースの裏でもそもそ食べる。何か面白くてお互い笑ってしまう。halがやってたclearレーベルは伝説的レーベルで、僕はあんまり知らなかったけど、調べてみると相当な人達がclearから音源出してる。僕がわかるだけでもplaidとかgescomとか。herbertとか。お客さんの中にもclearファンが結構多かった。僕はといえばtwitterのプチオフでdubstronicaさんとかkoyachiさんと会ってました。VIDEO_君も居たらしいけど会えなくて残念。koyachiさんとは技術的な話とか普段やってる事とか、youpyさんの話とか。刺激になりました。もみあげ言い過ぎ。
映像はバーカウンターとdjの後ろの2ヶ所に投影したんだけど、カウンターの方しかスクリーンがなく、当然両方で色が違ったので厳しかった。いい瞬間もあったと思うけど。谷口さんは機材のトラブルで本調子が出なかったみたいだけど、djのお二人が素晴らしく、全体としていい雰囲気だったんじゃないかと思う。
☆君、gatti、斉田君も来てくれて、近況報告など。帰りにsuzueriさんとも会った。ここでもyoupyさんの話。さすがtumblr界で最も影響力のある存在。はてなのアイドル。見事にsuzueriさんとkoyachiさんで知ってる部分が違う。お陰でやっと薄目で見るとうっすら存在が確認できるくらいになった。実は結構近いところにいた凄い人でした。多分今まで色々ニアミスしてるはず。渋谷へ移動して中華料理。安くておいしくていい感じ。センター街でドタ君に偶然会う。
毎度のことながら☆君家にお世話になって、2時過ぎ就寝。
17日
5時起き。雨。シャワー借りて出発。傘も借りる。本当にありがとう。リスペクトにはいつかペイで返します。
7時に品川で待ち合わせ。スターバックスでコーヒー。何で朝からこんなに人がいるの?とcollect.applyの二人。あと、東京は店ばっかりだね、とか。変な英語使ってる店とか笑う。iamasの学生はもっと外で遊ぶべきだとか何とか。他のコミュニティと関わって、自分の立ち位置をクリアにするとか。halの大学にはバーがあったらしい。イギリスの大学は社会勉強で、ヒューマンネットワークを作る場所だよと。日本も割とそういう志向はあると思うけど、確かにiamasはちょっと違うかな。そこに5年も通ってる僕。
新幹線で名古屋。名古屋から大垣。車内ではjamesと仕事の話とか、デザインの話、作品の話、iamasの話、大垣とか彦根とか日本とかイギリスの話...。僕の完成させられない病(予備校時代から。つまり美術志してからずっと)の話もする。jamesも同病らしいけど。
10時前に大垣着。俺様ちゃんはタクシーで登校。中間発表は既に始まってて、少し遅刻。話を聞きながら原稿作成。皆資料作りがしっかりしてた。びびり過ぎの感はあるけど。いずれにせよ何であんな雰囲気になってしまうのかわからない。
自分の出番は最後。字が小さ過ぎたが何とか乗り切った。と思う。終わった後安藤さんと話す。今のうちにもうちょっとしっかりやりたいことをはっきり考え直した方がいいとのこと。前林さんも同じような感想。確かに自分でもあまりうまく整理できてない。というか、こんな感じで記号がすらーって並んでて、こんな音が鳴ってたりしたら、どう、かっこよくない?としか言いようがなくなってしまうので困る。jamesとはフィニッシュのイメージがある程度共有できてるので、パッケージとしての作品は作れると思う。けど、それを論文にして歴史的な位置づけとか新奇性どうこうってなると他の教授に指摘されるように厳しいものがあるのもわかる。
もっと話すべきだ、とは思った。皆それぞれに正しいと思えることをやってる。それに対する批判も正しい。間違ってるものは直せばいいけど、お互いにそれなりの文脈で正しい場合、どうすればいいんだろう。
終わった後シースー。ボーリング。スコア148。プリクラ撮って、落書きして、コーヒー買って帰る。
collect.applyのvjの手伝いで東京へ。中間発表のためのスライドができたのが午前4時。そのまま家に帰ってシャワー浴びて駅。6:20の電車で名古屋。7:15出発の高速バスで新宿へ。毎度のことながら高速バスの車内にはそれなりに可愛い子がいる。三段階くらいに分けて化粧が完成されていき、到着する頃にはすっかり東京仕様になっている。大抵は気合いが入り過ぎだから途中で止めとけばいいのにと思うんだけど、東京にいる若者の何割かがそうやってできてると思うとドキドキする。
14時前に新宿に着いてhmvやtower recordを回る。collect.applyのhalが作ったInnerzone Orchestraのcdを見つけたりする。14時半頃jamesから電話。品川へ。グランドプリンスホテル高輪にいるらしい。行ってみると信じられないくらい広い。いいとこ。二人が用意した映像を取り込み、プログラムを見せながら少し修正。
15時過ぎ代官山に向かう。タクシー。便利。就職の話とかしながら。「あと半年でもう一人分雇えるくらい稼がないとなー」と気になる発言。16時前に予定通りsaloon着。reflection谷口さんcorde原さんに会う。すごくいい感じ。映像出力用の機材が調子悪かったみたいだけどsaloonスタッフの方々が頑張ってくれて無事準備完了。
18時open。jamesに操作を任せ、halと谷口さんとコンビニへ。食事を買う。クラブは当然持ち込み禁止なのでdjブースの裏でもそもそ食べる。何か面白くてお互い笑ってしまう。halがやってたclearレーベルは伝説的レーベルで、僕はあんまり知らなかったけど、調べてみると相当な人達がclearから音源出してる。僕がわかるだけでもplaidとかgescomとか。herbertとか。お客さんの中にもclearファンが結構多かった。僕はといえばtwitterのプチオフでdubstronicaさんとかkoyachiさんと会ってました。VIDEO_君も居たらしいけど会えなくて残念。koyachiさんとは技術的な話とか普段やってる事とか、youpyさんの話とか。刺激になりました。もみあげ言い過ぎ。
映像はバーカウンターとdjの後ろの2ヶ所に投影したんだけど、カウンターの方しかスクリーンがなく、当然両方で色が違ったので厳しかった。いい瞬間もあったと思うけど。谷口さんは機材のトラブルで本調子が出なかったみたいだけど、djのお二人が素晴らしく、全体としていい雰囲気だったんじゃないかと思う。
☆君、gatti、斉田君も来てくれて、近況報告など。帰りにsuzueriさんとも会った。ここでもyoupyさんの話。さすがtumblr界で最も影響力のある存在。はてなのアイドル。見事にsuzueriさんとkoyachiさんで知ってる部分が違う。お陰でやっと薄目で見るとうっすら存在が確認できるくらいになった。実は結構近いところにいた凄い人でした。多分今まで色々ニアミスしてるはず。渋谷へ移動して中華料理。安くておいしくていい感じ。センター街でドタ君に偶然会う。
毎度のことながら☆君家にお世話になって、2時過ぎ就寝。
17日
5時起き。雨。シャワー借りて出発。傘も借りる。本当にありがとう。リスペクトにはいつかペイで返します。
7時に品川で待ち合わせ。スターバックスでコーヒー。何で朝からこんなに人がいるの?とcollect.applyの二人。あと、東京は店ばっかりだね、とか。変な英語使ってる店とか笑う。iamasの学生はもっと外で遊ぶべきだとか何とか。他のコミュニティと関わって、自分の立ち位置をクリアにするとか。halの大学にはバーがあったらしい。イギリスの大学は社会勉強で、ヒューマンネットワークを作る場所だよと。日本も割とそういう志向はあると思うけど、確かにiamasはちょっと違うかな。そこに5年も通ってる僕。
新幹線で名古屋。名古屋から大垣。車内ではjamesと仕事の話とか、デザインの話、作品の話、iamasの話、大垣とか彦根とか日本とかイギリスの話...。僕の完成させられない病(予備校時代から。つまり美術志してからずっと)の話もする。jamesも同病らしいけど。
10時前に大垣着。俺様ちゃんはタクシーで登校。中間発表は既に始まってて、少し遅刻。話を聞きながら原稿作成。皆資料作りがしっかりしてた。びびり過ぎの感はあるけど。いずれにせよ何であんな雰囲気になってしまうのかわからない。
自分の出番は最後。字が小さ過ぎたが何とか乗り切った。と思う。終わった後安藤さんと話す。今のうちにもうちょっとしっかりやりたいことをはっきり考え直した方がいいとのこと。前林さんも同じような感想。確かに自分でもあまりうまく整理できてない。というか、こんな感じで記号がすらーって並んでて、こんな音が鳴ってたりしたら、どう、かっこよくない?としか言いようがなくなってしまうので困る。jamesとはフィニッシュのイメージがある程度共有できてるので、パッケージとしての作品は作れると思う。けど、それを論文にして歴史的な位置づけとか新奇性どうこうってなると他の教授に指摘されるように厳しいものがあるのもわかる。
もっと話すべきだ、とは思った。皆それぞれに正しいと思えることをやってる。それに対する批判も正しい。間違ってるものは直せばいいけど、お互いにそれなりの文脈で正しい場合、どうすればいいんだろう。
終わった後シースー。ボーリング。スコア148。プリクラ撮って、落書きして、コーヒー買って帰る。
土曜日, 7月 14, 2007
centering, fade in
webのintro用にロゴ画像をfade inさせる。
javascript + cssで画像をウィンドウ上下左右の中央にしてfade in。
flashでやれよ、て感じだけど。
intro
参考にしたのは、やっぱりbrazil社長。
戦争 - 上下左右中央の件、改善、補足
今回はたまたまcssで上下センタリングの方法探してたら見つかった。考える事が似てるのかな。元々brazilさんのblogを発見したのは、capsuleがだせーけど好きとかそう言うので検索してたんだと思う。田舎の人が考える都会的イメージとかクラブ行かない人のクラブ的イメージとか。テクノちゃんと聴いてない(どういうこと?)人のテクノ的イメージとか。
にしてもバッドノウハウかー。
僕はjavascript使ってクライアント側のウィンドウサイズ取得してるんだけど、それもよくないのかも。しかもcssを外部読み込みにしないとうまく上下センタリングされない。
javascriptでcssの表示位置を制御するのはこの本のサンプルから。
標準Webデザイン講座|サンプルファイルダウンロード
fade inで参考にした(というか不要なとこ消してそのまま使ってる)のはここ。
Cross-browser BlendTrans Filter JavaScript, Fade in/out
翻弄されちゃうよどうも。
javascript + cssで画像をウィンドウ上下左右の中央にしてfade in。
flashでやれよ、て感じだけど。
intro
参考にしたのは、やっぱりbrazil社長。
戦争 - 上下左右中央の件、改善、補足
今回はたまたまcssで上下センタリングの方法探してたら見つかった。考える事が似てるのかな。元々brazilさんのblogを発見したのは、capsuleがだせーけど好きとかそう言うので検索してたんだと思う。田舎の人が考える都会的イメージとかクラブ行かない人のクラブ的イメージとか。テクノちゃんと聴いてない(どういうこと?)人のテクノ的イメージとか。
にしてもバッドノウハウかー。
僕はjavascript使ってクライアント側のウィンドウサイズ取得してるんだけど、それもよくないのかも。しかもcssを外部読み込みにしないとうまく上下センタリングされない。
javascriptでcssの表示位置を制御するのはこの本のサンプルから。
標準Webデザイン講座|サンプルファイルダウンロード
fade inで参考にした(というか不要なとこ消してそのまま使ってる)のはここ。
Cross-browser BlendTrans Filter JavaScript, Fade in/out
翻弄されちゃうよどうも。
木曜日, 7月 12, 2007
sketch20070712
minimで音響解析(といってもfftは関係なく、AudioPlayerのインスタンスからget()メソッドで音量取ってるだけです)。最終的にはこういう感じにしたい。
動いてる様子。
sketch20070712
水曜日, 7月 11, 2007
20070710
バイト先でweb作業。ブラウザ毎の解釈の違いだとか、右から左に読む言語の存在だとか。
昼食は隣のファミレス。初めて見るソファの座り方をしてる若者が多くて、客層が最悪なんだけど、一緒に食べてる会社の人達はそれなりに偉い人達なので話が面白い。中国に行ってた人の話が面白くって、向こうでの日本企業の受け取られ方とか、国の仕組みとか。
丁度インターコミュニケーションで藤幡さんの文章にあったんだけど、マクドナルドは麦当労、って感じで外来語を当て字にしなきゃならないから大変。っていう話とか。外国の有名人はいつの間にか何となく字が決まるそうなんだけど、普通の人の場合に困るらしい。
常識が違う。
レーモン・クノー『文体練習』
1つの出来事を文体を変えて99パターン。
リミックスてのは容易に連想できる。でも別にどれがオリジナルとも言われてない。
発話の主体も変わるので、現象の切り取り方も違っている。アルファベットと図形で表したやつがかっこいい。話を把握してしまえば、多少分かりにくくても補完できる、というか無理矢理そっちの方に解釈しようとしてしまう。そうじゃないと擬音だけmixとか短歌mixとか無理。
前に受けた吉岡先生の授業で面白かったのは、よく駅に「痴漢は犯罪です」っていう貼紙があるけど、あれが大阪では「チカン、あかん」になってて、「しょうがないやつやなー」というニュアンスが伝わる、という話。関西の文化圏じゃないとわからないかもしれないけど。あとこれは吉岡先生の言い方じゃないとわからないかもしれない。同じようだけど微妙に違うことってのはあって、決定的な違いだったりもする。
もう~はサイン波としか思えない。くらいになれば良い。
昼食は隣のファミレス。初めて見るソファの座り方をしてる若者が多くて、客層が最悪なんだけど、一緒に食べてる会社の人達はそれなりに偉い人達なので話が面白い。中国に行ってた人の話が面白くって、向こうでの日本企業の受け取られ方とか、国の仕組みとか。
丁度インターコミュニケーションで藤幡さんの文章にあったんだけど、マクドナルドは麦当労、って感じで外来語を当て字にしなきゃならないから大変。っていう話とか。外国の有名人はいつの間にか何となく字が決まるそうなんだけど、普通の人の場合に困るらしい。
常識が違う。
レーモン・クノー『文体練習』
1つの出来事を文体を変えて99パターン。
リミックスてのは容易に連想できる。でも別にどれがオリジナルとも言われてない。
発話の主体も変わるので、現象の切り取り方も違っている。アルファベットと図形で表したやつがかっこいい。話を把握してしまえば、多少分かりにくくても補完できる、というか無理矢理そっちの方に解釈しようとしてしまう。そうじゃないと擬音だけmixとか短歌mixとか無理。
前に受けた吉岡先生の授業で面白かったのは、よく駅に「痴漢は犯罪です」っていう貼紙があるけど、あれが大阪では「チカン、あかん」になってて、「しょうがないやつやなー」というニュアンスが伝わる、という話。関西の文化圏じゃないとわからないかもしれないけど。あとこれは吉岡先生の言い方じゃないとわからないかもしれない。同じようだけど微妙に違うことってのはあって、決定的な違いだったりもする。
もう~はサイン波としか思えない。くらいになれば良い。
月曜日, 7月 09, 2007
20070708
「sync」読み終わった。同期現象には知性や生命の本能とかいうものは関係なく、「数学と物理の法則」だと。けれども人がそれに惹かれるのは何故か。
ネットワークの話とかも、面白かったのは「構造は常に機能に影響を及ぼす」とかそういう話で、最近よく考えてたことでは、色んな議論だの論争を一発で解決するアーキテクチャってのが、やっぱりあるんじゃないかということ。解決って言葉は適切じゃないかもしれないけど、「皆がお互いを思いやって行動しましょう」とか「ちゃんとやろうぜー」とかいう結論に行き着いて何にも変わらない毎日を過ごしているとそんな風に思う。研究室にソファなくしたら仮眠しなくなったよ。バイト始めたら時間の使い方が変わったよ。
良いとか悪いとかじゃなくて、単に変わった。
インターコミュニケーション60号で読んだ藤崎さんの文章、「冗長美とは何か?」がwebでアップデートされてた。
ココカラハジマル : 冗長美論・前編
ココカラハジマル : 冗長美論・後編
受験みたいに高得点の人から順にうまくやっていける訳じゃないんだよねー。だからって何もしなくていい訳じゃないし、無駄なことこそ最高とかそういうんじゃない。こないだのゼミで、前林さんが中学生の時にラジカセでレッド・ツェッペリンの曲をかけながら日の出とともに自転車で坂道を駆け下りた話とかしてくれた。何なのかわかんないけど、とにかく今のルーティンを打ち破りたくて、何かしようとする。けど、なかなか外の思考ってできないっていう。すげーよくわかった。本当にそういう時に自分が思いつくことのしょぼさにはうんざりする。ボランティアしようかなとか?けどふっと外見ると子供、真っ黒、プール帰りの、みたいな。とかなってアイス食いたくなったりする訳。そういうジャンプの方がリアリティある。そうやって就職も決まるといい。弱いつながりの強さ。
ネットワークの話とかも、面白かったのは「構造は常に機能に影響を及ぼす」とかそういう話で、最近よく考えてたことでは、色んな議論だの論争を一発で解決するアーキテクチャってのが、やっぱりあるんじゃないかということ。解決って言葉は適切じゃないかもしれないけど、「皆がお互いを思いやって行動しましょう」とか「ちゃんとやろうぜー」とかいう結論に行き着いて何にも変わらない毎日を過ごしているとそんな風に思う。研究室にソファなくしたら仮眠しなくなったよ。バイト始めたら時間の使い方が変わったよ。
良いとか悪いとかじゃなくて、単に変わった。
インターコミュニケーション60号で読んだ藤崎さんの文章、「冗長美とは何か?」がwebでアップデートされてた。
ココカラハジマル : 冗長美論・前編
ココカラハジマル : 冗長美論・後編
受験みたいに高得点の人から順にうまくやっていける訳じゃないんだよねー。だからって何もしなくていい訳じゃないし、無駄なことこそ最高とかそういうんじゃない。こないだのゼミで、前林さんが中学生の時にラジカセでレッド・ツェッペリンの曲をかけながら日の出とともに自転車で坂道を駆け下りた話とかしてくれた。何なのかわかんないけど、とにかく今のルーティンを打ち破りたくて、何かしようとする。けど、なかなか外の思考ってできないっていう。すげーよくわかった。本当にそういう時に自分が思いつくことのしょぼさにはうんざりする。ボランティアしようかなとか?けどふっと外見ると子供、真っ黒、プール帰りの、みたいな。とかなってアイス食いたくなったりする訳。そういうジャンプの方がリアリティある。そうやって就職も決まるといい。弱いつながりの強さ。
土曜日, 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特集。高かったけど良かった。
プロサッカー選手はスルーパスを受ける時、観客の目線が自分の目線のように感じられて、動くべき場所とタイミングがわかるらしい。
ふんわり何とかが食べたい。
sketch20070706
フライヤー作ってる。写真にハーフトーンかけるみたいなやつを作りたくって、photoshopでやればいいんだけどわざわざprocessingでやった。最初は写真の加工に使おうと思ったんだけど、最終的には装飾用の素材に使うことにした。svg書き出しして、illustratorで作ってたやつにそのままのっけたら意外と合った。mash upの気持ち良さ。微調整。
built with processngのカメラ画像をピクセレートするサンプルと同じようなもの。実行速度より使いやすさ優先でget()メソッド使ってる。彩度を半径にしたのはそれが一番いい感じだったから。あと、変数jiggleに乱数入れてちょっと揺らしてみたり。illustratorで開いた時に、見えないけどちっこい円ができてしまってて邪魔だったので、閾値以下の円は作らないようにした。
processing、ちゃんと生活に役立ってる。
import prosvg.*;
void setup() {
PImage p;
int imageWidth;
int imageHeight;
p = loadImage("web.jpg");
imageWidth = p.width;
imageHeight = p.height;
//size(p.width, p.height);
size(p.width, p.height, "prosvg.SVGOut");
noStroke();
smooth();
colorMode(HSB, 255);
ellipseMode(CENTER);
background(255);
for(int i=0; i < imageWidth; i += 8) {
for(int j = 0; j < imageHeight; j += 8) {
color c = p.get(i, j);
float rad = 30 * saturation(c)/255;
if(hue(c)<220 && rad > 2) {
fill(c, 100);
float jiggle = random(5);
ellipse(i+jiggle, j+jiggle, rad, rad);
}
}
}
//saveFrame("dots-####.jpg");
saveFrame("dots-####.svg");
saveFrame("dots-####.tiff");
}
金曜日, 7月 06, 2007
Processing:Creative Coding and Computational Art
気づけば前に言ってたProcessingの本が出てますね。アマゾンで買うと6,180円とちょっと高い感じですが。一部サンプルがダウンロードできます。オブジェクト指向プログラミングについてのチャプターもあって、家のグラフィックを作って説明してる。そっから3Dで複数の鳥をアニメーションさせるとかいうとこまでいく。3Dの話題も結構取り扱われてるので、勉強になるかも。サンプルだけで僕はお腹いっぱい。
ちなみに開発者であるCaseyとFryのやつは9月30日。
ちなみに開発者であるCaseyとFryのやつは9月30日。
木曜日, 7月 05, 2007
get images from blogger
Bloggerのページから画像を抜き出すbookmarkletを作りました。
getbloggerimgてやつ。最近こればっかだな。
letsbookmark
そもそもはjudge a bookという最高にかっこいい本の表紙がアップされてるサイトの画像を全部ダウンロードしたいなーと思ったからで、単純にlinkのurlを取得して、拡張子がjpgになってるやつをdocument.writeでimg要素に突っ込んで表示してみたら成功したってだけです。
そのままだといくつか取れないのがあって、全部調べた訳ではないのですが、リンク先がs1600-hてなってるのが問題みたい。ってことで、if文で分岐させて、ffffound!でやったみたいに-hを取ってやって、ついでにgifの場合も表示することにした。
bibliodysseyとかmutantsoundsででっかくてレアで怪しい感じの画像がどっさりとれて嬉しい。ちょっと改変すれば色んなとこで使えそうだし。なるほどね。今まで暮らしに役立つプログラミングってしてこなかったけど、こういうことか。たれの工夫で献立10倍か。
ffffound!画像ちっこくなったけど、新着の横に関連画像が表示されるようになって、再発見の機会が増えた。面白い。
getbloggerimgてやつ。最近こればっかだな。
letsbookmark
そもそもはjudge a bookという最高にかっこいい本の表紙がアップされてるサイトの画像を全部ダウンロードしたいなーと思ったからで、単純にlinkのurlを取得して、拡張子がjpgになってるやつをdocument.writeでimg要素に突っ込んで表示してみたら成功したってだけです。
そのままだといくつか取れないのがあって、全部調べた訳ではないのですが、リンク先がs1600-hてなってるのが問題みたい。ってことで、if文で分岐させて、ffffound!でやったみたいに-hを取ってやって、ついでにgifの場合も表示することにした。
bibliodysseyとかmutantsoundsででっかくてレアで怪しい感じの画像がどっさりとれて嬉しい。ちょっと改変すれば色んなとこで使えそうだし。なるほどね。今まで暮らしに役立つプログラミングってしてこなかったけど、こういうことか。たれの工夫で献立10倍か。
ffffound!画像ちっこくなったけど、新着の横に関連画像が表示されるようになって、再発見の機会が増えた。面白い。
月曜日, 7月 02, 2007
bbbbig!
画像のブックマーク+おすすめサイトffffound!の画像表示がちっこくなってしまった。元画像は保存されてて、ファイル名の_mを取れば表示できるということで、bookmarkletの勉強がてらやってみた。
bbbbig!てやつです。
letsbookmark
最初はsubstring(0,ファイル名-6)で_m.jpgの部分(後ろから6文字)を取って+".jpg"でまた拡張子つけたやつを表示させてたんだけど、これだとあまりに頭が悪い。関係ないのも読まれるし他の拡張子表示できないし。
で、youpy(ぴよよぴぴよよぴ)さんのGreaseMonkeyスクリプトを参考にmatch('_m')で該当する画像だけを取得して、その後split('_m').join('')して_mを取り除いてる。なるほどー。
やっぱ画像でかいと印象が全然違う。音も然り。
bbbbig!てやつです。
letsbookmark
最初はsubstring(0,ファイル名-6)で_m.jpgの部分(後ろから6文字)を取って+".jpg"でまた拡張子つけたやつを表示させてたんだけど、これだとあまりに頭が悪い。関係ないのも読まれるし他の拡張子表示できないし。
で、youpy(ぴよよぴぴよよぴ)さんのGreaseMonkeyスクリプトを参考にmatch('_m')で該当する画像だけを取得して、その後split('_m').join('')して_mを取り除いてる。なるほどー。
やっぱ画像でかいと印象が全然違う。音も然り。
日曜日, 7月 01, 2007
20070630
エントリー終了。パンチドランカー症候群で気が抜けてる。別にそんなに頑張った訳でもないけど。
もう積極的な就職活動はしない。あとはできる限り好きなことやって、声かけてもらってるとこに行く。
バイトも楽しい。25分で行けた。学力低下は社会人でも危機的状況らしい。引き算ができないとか...。勉強、今になって大好きだ。偏ってるけど。
茂木健一郎/江村哲二の「音楽を考える」を読んでいる。
ケージのチャンスオペレーションの話にすげー納得した。
「彼のやり方がインチキかというと、そうではありません。サイコロや八卦はポーズに過ぎないわけです。最初から彼の頭の中には自分の音楽が響いているのですが、それをどういう規則でやればいいのか、彼はわからない。音楽理論化のしようもないから、偶然性の音楽として、サイコロを振って音楽を作ったと言っているのです。」
「好きなように」っても何も思い浮かばないし、型にはまったものは嫌だし、型にはまらないのも気持ち悪いし、それはそれでジャンルだよなーとか思ったり。で、何もやんなかったんだけど、最近はちょっと考え方変わって、しょぼくてもやれることをやってく。でもちゃんとしょぼさに落ち込むことは忘れない。
もう積極的な就職活動はしない。あとはできる限り好きなことやって、声かけてもらってるとこに行く。
バイトも楽しい。25分で行けた。学力低下は社会人でも危機的状況らしい。引き算ができないとか...。勉強、今になって大好きだ。偏ってるけど。
茂木健一郎/江村哲二の「音楽を考える」を読んでいる。
ケージのチャンスオペレーションの話にすげー納得した。
「彼のやり方がインチキかというと、そうではありません。サイコロや八卦はポーズに過ぎないわけです。最初から彼の頭の中には自分の音楽が響いているのですが、それをどういう規則でやればいいのか、彼はわからない。音楽理論化のしようもないから、偶然性の音楽として、サイコロを振って音楽を作ったと言っているのです。」
「好きなように」っても何も思い浮かばないし、型にはまったものは嫌だし、型にはまらないのも気持ち悪いし、それはそれでジャンルだよなーとか思ったり。で、何もやんなかったんだけど、最近はちょっと考え方変わって、しょぼくてもやれることをやってく。でもちゃんとしょぼさに落ち込むことは忘れない。
登録:
投稿 (Atom)