年末なので、、、まとめて片づけ中。
無論年始のよていもそれ。
実家に無線LAN設置してよかった~と思う瞬間です。
金曜は会社の忘年会だったのだが、、
先輩A:君は彼女いるの?
私:居るわけ無いじゃないっすか~。
先輩A:へぇ、以外。
まではお世辞として分かるのだが。。。
他の先輩も交えて「XXさんの奥さんの友達とかいい人いない?」とか
「で、どんな人が好きなの?」とか・・・
かなり心配されている感じだった。うーんそこまで心配されると帰って怖いぞ(笑
やっぱ、私が自由奔放すぎるから首に縄つけたほうが良いとか思われているのかなぁ?(邪推
今仕事で上長の好意で、アルゴリズムの開発の仕事をやっている。
ま、どの領域とはいえないけれども。既存のもっともシンプルな方法に比べて
2000倍ほど速くなった。もう最終目標目前。
いやぁ、気持ちいいね。ということで今日はおもいっきり遅く出社予定。
そして今日は忘年会なのでケツも決まってるし。
mixiでアイディアをもらったのだが、Wiiがすっぽ抜けるのは形状と表面
素材のせいらしい。テニスらっけと、ばっとをみれば分かるように
普通のスポーツ用品はエンドに向かって径が大きくなっている。
Wiiはもはや屋内スポーツだと考えると、同様の設計にして
好きなテープをグリップに巻いて、家庭の所有物ではなく
各個人の所有物にすべきではないのだろうか。(使い慣れてないものはやっぱりすっぽ抜けそうだからね)
Wiiリモコンのコンセプトは個人所有と聞いたことはあるけれども
個人所有にするにはテニスラケットほどのアフォーダンスがない。
その意味で手にフィットさせるという行程を甘く見てはいけないきがする。
気がするだけ。
つくりました、Video Theremin。カメラの近くに赤外線LEDをつけて。それをVsyncに
同期させて点滅させて、LED OFF時とON時の画像を比較することで、反射材マーカーを
ロバストに検出する実験です。
この技術じたいは昔からあるのですが、WebカメラからVsyscを取り出してヤル人は
あまりいないかなぁ?外付け部品は、74IC一個と、LED駆動用トランジスタ、LEDぐらいなもんです。簡単です。
で、単にテルミンがやりたいだけなのかというと。ちがって。実はHeartCapがらみです。
まぁこうご期待。
動作風景は↓
http://saifes.dip.jp/~akira/vtel2.wmv
でも冷静に考えたら、さらに変調かけたいから。。今のシステム無駄。。とおもいきや。
74ICなくていまマイコンつないでるんじゃん。つかえるかも?
ってやめよう。マイコンなんてついてたら。機械としてださすぎ。
web camera hackといいきっている以上ちょっとした部品だけでやるべきだね♪
現行モデルはクリスマスプレゼントにでもしようかなぁ・「面白いものつくってね(にや)」とかいいながら。
なんかIC2006で自動車で走っているときのノイズを音楽にしているCDがあった。
なんだか違う。実家の車はディーゼルで重たいやつばっかなので。感覚が違うのかも。
やっぱりこの手のネタは電車だよね。
とりあえず。ノリノリで行くには80bpmぐらいほしい。
で、古いレールならば25mごとにつぎめがあってがたんごとんとなるらしい。
80bpmにするには時速120Km。
80bpmのがたんごとんに併せて、連結器があるところらへんに5人ぐらいあつまって
クラップしたり。足踏みしたり。でのりのりなの。
いいなーそういう絵だれか撮ってきて下さい。
ま、最悪半分の40bpmでもなんかしらパーカッションもっていけば「がたんごとん、ちゃっちゃ」みたいな音にはできるとおもうし。
ふと、WebかめらでもVsync信号をひっぱりだして、その信号に会わせてLEDを点滅させたり
することができるんちゃうんかとおもってやってみた。
普通にできるけど、こつがあって、50Hzとか60Hzのちらつき防止機能をOFFにしないと
だめっぽい。。。
あと、配線を引き出すのは素人向けのアイディアじゃないので、、、ちょっとなやむ。
素人でもできるほうほうないかなぁ。
最近がんばっている自分の作品一覧、ちと拡充しました。
http://rogiken.org/daemon/works.html
研究報告書へのリンクついかしたり、写真や動画追加したり。
とりあえずWindows ムービーメーカーが意外とつかえるのにびっくり。
これなら私でも編集できるわ~。自由度は低いけど。
にしても、Web上に顔とかだしても平気な年頃になっちゃったなぁ。。としみじみ。
プライベートの名刺?を作った。所属は「ロ技研 社会人部員」・・・ええギャグですよ(笑
とりあえず裏面に過去に作った作品の写真を。。。選ぶの苦労するねぇ。。。
名刺の限られた空間に何をいれるか。。。悩むんだけど、時間がなかったのでテキトーにつっこんでおしまい。
ま、10枚しかすってないからすぐ切れるだろうし、切れたらデザインみなおそう。
http://www.atmarkit.co.jp/news/200612/13/winny.html
ここであるように、自由なソフトウェアの開発は制限されつつあるらしい。
例えば、以下のものもがんばれば悪用できるので、公開してはいけないことになるらしい。(ぉぃ
http://d.hatena.ne.jp/akira_you/20060225
まぁ。基本的にデバッガとか何かを調査するツールは直接悪用可能だよねぇ。
そういえば・・・情報処理試験を資格をもっていないとソフト開発をしてはいけない
という資格化する話もあるらしい。
http://itpro.nikkeibp.co.jp/article/NEWS/20061127/255005/
ここで、あり得ないぐらい斜めにみてみると。。。
悪用「可能」なソフトを書くような人には免許あげません。
Hello worldかいただけでブタ箱行きです。とか。。。SFのネタにちょうどいいねぇ。
そういや母校の「コラムランド」っていう授業まだあるのかしら。。。そんなネタにぴったしだなぁ~。
OpenCVで画像とりこんで、SDLで音を鳴らす。
そんなデモを作ってみました。明るい点を見つけてそれでテルミンになります
http://saife.dip.jp/~akira/vtel.avi
(ちなみに、手にもっているのは発光ダイオードです)
なんと100行でこんなプログラムがかけちゃうのです。
OpenCVもSDLも良い子です。
#コレを作りたくて、かわしんさんの電話ぶっちしちゃいました。
#ごめんなさい。
#pragma comment(lib, "cv.lib")
#pragma comment(lib, "cvaux.lib")
#pragma comment(lib, "cvcam.lib")
#pragma comment(lib, "cvhaartraining.lib")
#pragma comment(lib, "highgui.lib")
#include <stdio.h>
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#include <math.h>
#pragma comment(lib, "SDL.lib")
#include <SDL.h>
#include <SDL_audio.h>
const double pi=3.1415926535897932384;
/***************audio**************/
void playASound(char *file);
void mixaudio(void *unused, Uint8 *stream, int len);
void initAudio(void){
//音の初期化
extern void mixaudio(void *unused, Uint8 *stream, int len);
SDL_AudioSpec fmt;
/* 44100khz の 16-bit ステレオ に設定 */
fmt.freq = 44100;
fmt.format = AUDIO_S16;
fmt.channels = 1;
fmt.samples = 4069; /* ゲームには良さげな値 */
fmt.callback = mixaudio;
fmt.userdata = NULL;
/* オーディオデバイスをオープンしてサウンドの再生を開始! */
if ( SDL_OpenAudio(&fmt, NULL) < 0 ) {
fprintf(stderr, "Unable to open audio: %s\n", SDL_GetError());
exit(1);
}
SDL_PauseAudio(0);
}
/*音再生ルーチン*/
#define HZ_RATE (2.0*pi/44100.0)
static double deltaTheta= 440.0*HZ_RATE;
static double gain=1;
void mixaudio(void *unused, Uint8 *stream, int len)
{
static double theta=0;
double a;
int i;
a=65534.0/2.0*gain;
for(i=0;i<len/2;i++){
((short *)stream)[i]=(short)(a*sin(theta));
theta+=deltaTheta;
if(theta>2*pi)theta -= 2*pi;
}
}
void setFreq(double freq){
SDL_LockAudio();
deltaTheta= freq*HZ_RATE;
SDL_UnlockAudio();
}
void setGain(double inGain){
SDL_LockAudio();
gain=inGain;
SDL_UnlockAudio();
}
/****************以上audio************/
int loop(void){
int key;
CvCapture* capture = NULL;
IplImage* img = NULL;
char* captureWindow = "Capture";
initAudio();
if(NULL==(capture = cvCaptureFromCAM(-1)))
{
printf("カメラが見つかりません");
return -1;
}
cvNamedWindow(captureWindow, CV_WINDOW_AUTOSIZE);
img = cvQueryFrame(capture); //キャプチャサイズを知るために画像取得
IplImage * gImg = cvCreateImage(cvGetSize(img), IPL_DEPTH_8U, 1);
while(1)
{
img = cvQueryFrame(capture);
cvCvtColor(img, gImg, CV_BGR2GRAY);
CvPoint minPos,maxPos;
double min,max;
cvMinMaxLoc(gImg,&min,&max,&minPos,&maxPos);
if( ( (200<min*2)?200:(min*2) ) <max)printf("%03d,%03d\n",maxPos.x,maxPos.y);
double freqRate;
freqRate=(double)maxPos.y/img->height;
setFreq(pow(2,2*freqRate-1)*440);
double gainRate;
gainRate=(double)maxPos.x/img->width;
setGain(1.0-gainRate);
cvShowImage(captureWindow, gImg);
key = cvWaitKey(1);
if (key == 0x1b)
{
break;
}
}
cvReleaseCapture(&capture);
cvDestroyWindow(captureWindow);
return 0;
}
http://d.hatena.ne.jp/akira_you/20061125#p1
で言ったように、作品一覧をつくらなきゃね~。という事で作品一覧を作りました。
なんだか、これだけ列挙したのに抜けが有る気がします。
1日でロボットは作れるか!みたいな製作風景の展示もあったしなぁ。。。
工作教室向けのネタとしてぶるぶるくん(振動モータ駆動)とか、ホバークラフトもあったなぁ。
というか制作物の写真なさ過ぎ。。。。ちゃんと思い出は記録に残そうと反省しました。
ということで作品一覧は↓です。
http://rogiken.org/daemon/works.html
忘れないようにめも
http://www.iii.u-tokyo.ac.jp/i3e6/
http://www.iminet.ac.jp/ic2006/concert.html
ま、実行するとはきめちゃいないが
だいぶ、内容かたまってきた、後のメインはレイアウトの仕事にょ。
それにしても、私は技術系(っていっても今回はIVRCの紹介とか)だからまだ書くのは速いけど。。。
小説とか、漫画とかだしてる人ってすごいなって思う。。
なんだか最近りっぴんぐしたら読めないmp3ができた。
そういやNTFSもマウントできてもファイルにアクセスできない。。。
うーーん。。。あ。iconvが死んでいるんじゃないか俺のマシン???
仕事から帰ったらテストしなきゃ。