Archive for the 'Programing' Category

koruri Wiki

先日アナウンスした「@るりぺこ。」の技術的情報を記録しておくWikiを作っておきました。

http://www.fumi2kick.com/koruri/

まだ全部のページを書き切れていませんが、まあ追々。
Wikiは永遠の工事中という話もある。



@るりぺこ。

概要: Twitterでbotつくってみた
http://twitter.com/ruripeco

ruripeco01.jpg

昔からランダム作文ゲームの類は大好きだった。誰が、どこで、どのように、何をした、の文節が書かれたカードをシャッフルして適当に拾って読むと可笑しい感じのあれである。「坊主が・野原で・鯖を・蒸す」

そういった文章生成っぽいものをふいに考え始めた。
人工無脳とか文章ジェネレーターの類を研究するにはどうしたもんだべ、人工無脳のソースでも読むか?と考えを巡らせてみたところ、やっぱりデータの収集が一番最初でしょという事になった。
今はWEBのおかげでいくらでも文章と出会える様になったのでこういうとき便利なものである。さて何をクロールして文章や単語を集めようか、WEBページかBlogかRSSか。色々考えてみたら、今回の目的にはTwitterのTLを収集して回るのが一番なんじゃないかという結論に達した。公開されているものだし、文章のみだし、長くても140文字だし、生きた今の文字が飛び交っているしで。
てなわけでTLを収集するスクリプトを作ってここ1ヶ月ほど回していた次第。
50万センテンスに35万ワードくらい貯まってきた。このデータが使えるか使えないか、どう利用するかはひとまず置いておいて、これくらい貯まると文字データの塊として扱うことができるようになるものだ。そこで、そろそろ解析&アウトプット側もなんとかしようかと軽くランダム作文レベルのものをさえずるbotを作ってみたというのが「るりぺこ。」
今は純粋なランダム出力なので使えない娘だけれども、まあ長い目で見てやってくだされ。

人工無脳はあこがれるけれども、目指しているところは人工無脳の様でちょいと違うかも。どっちかというと文章ジェネレータというか、コメンテーターとかそんな方面。

内部プロジェクト名は「koruri(小瑠璃)」だったんだけれども、Twitterにはすでに「こるり!(@koluri)」という人工無脳さんがおられるので「るりぺこ。」になった。koruriはバックグラウンドでデータの収集解析をするプロジェクトで、そのデータを使ってさえずるペルソナジェネレーターがるりぺこ。といった風に分かれる事となった次第。まあ、るりぺこ。は機能次第で代替わりするかもしらんからこれでよかったのかも。
botスクリプトは大したものじゃないんだけれども、そっちのほうに興味がある人もいるだろうからそのうちkoruriプロジェクトの解説やコードを提供する予定。汎用性はないので参考用に。



「Wiiの写真チャンネルで、柊かがみ」の種明かし

私がニコニコ動画にうpした動画の中で一番の好評を頂いたのがこの Wii でかがみん。
この動画を投稿してから、今日で丁度一周年なのです。
5月28日というのは、らき☆すたの主人公である泉こなたの劇中設定誕生日ですよ。
ついでに言うと私の誕生日でもあったりするのだけれども、誕生日が嬉しい歳でもないので足下にほうりなげておこう。

これを製作したのは「Excelで長門有希」に影響されての事なんだけれども、なんかしらんが好評でランキング入りも果たした。
Youtube にも転載されて海外でも評判になった。Youtubeには三人の人がそれぞれに転載して同じ動画が3本あがっていたのだけれども、その中でも一番視聴数が高かった転載分がすでに削除されているので一見そんなに再生数が伸びていない様に見えるかもしれない。(ニコニコの良動画をYoutubeに転載して紹介するというBlogに使われていたので容量のローテーションから削除されたのだと思われ)
そっからさらに世界各国のゲーム系ニュースサイト(KOTAKUとか)で話題になり一周して日本に戻ってきたりしていたのだけれども、その時はYoutubeからさらにどっかの動画共有サービスに転載されまくっていて実際の所どこに転載されているかはまったく把握できていない。
んだから、ニコニコの再生数16万(2008/05/28現在)という数字より多くの人が見ているんじゃないかなあ。

tilepicker_miku.jpg
さて、賢明な人であればこれを手作業で絵を並べて作ったものとは思わないだろう。なにかプログラムを使って作ったんだろ、と。
もちろんその通り。
そういった作り方についての種明かしをしてしまうのは冷めるだけなんだろうけれども、もう賞味期限も切れているし良いよね。未だに、見に来てくれる人が居るのはありがたいところですが。

tilepicker_ss.jpg
この動画を作るために自作したプログラム。作り捨てっぽい突貫作成。
一枚一枚のタイルとなる画像がたくさんある(100枚くらいあると良い)ディレクトリと、完成図になる 41×25pixel という小さなBMP画像を用意して、このプログラムを実行すると指定出力ディレクトリに999枚の連番ファイル名付きJPEGを生成するという仕組み。
タイルとなる画像はピクセル平均値で大体の色味を調べておき、リストとして保持。完成図のピクセル1個1個の色に近い平均値をもつタイル画像を探して割り当てるといった単純な仕組み。一応、色判定でおかしくならないようにYUVで比較したり、右方向に誤差拡散したり、同じ画像が隣接しないようにしたりと簡単な画像処理アルゴリズムがいくつか盛り込まれていたりはする。

というわけで、Windowsで動作するバイナリを置いておく。
お手元のWiiで試してみたり、まだ知らない人に見せてあげたりしてくりゃれ。
[May.29.2008 追記]いくらいい加減な使い捨てツールとはいえメモリ消費(実はリーク)が酷すぎたので修正して差し替え。
Wiiの写真チャンネルでタイル絵作成くん: tile_picker002.zip

ちなみに画像が999枚もあると写真チャンネルでサムネイルをロードして表示するまで結構時間がかかるのです。
1分半〜3分くらいはかかるはず。



つぶやき 07/10/1999

インプライス(元Borland)が Linux版 Delphi の開発技術者を求めているらしい。
Windows上での開発環境では Delphi を愛用していてそれくらいしか持っていない
私としてはちょっとうれしいお話ではある。

各種IDE(統合開発環境)がいくつかリリースされつつあり、GTK+&Glideの組み合わ
せでウィンドウアプリのプロトタイピンク化が促進されつつある。これで Linux上
でのRAD(Rapid Apprication Develop)が整って来たと言うところか。ここに Delphi
が飛込めばその方向性はさらに高まるに違いない。
とか色々考えてわくわくしている次第。
もっとも、Windows 上ではとうに実現している世界なのは言うまでもないわけだけど。

それにしても GNU OpenStep Project ってのもあったっけなあとふとふりかえる。
私のRADへのあこがれは総て大学で見つけた黒い箱、NEXT-CUBE に触れたところから
始まっているもので。
いまではめずらしいかも知れないNEXT-CUBE の写真(仲間が卒業後大学へ遊びに行った
際写真撮影してきたもの)→http://www.kiwi-us.com/~ohta/NeXT/index.htm




You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.