How I Made Media Artworks with Ruby and Never Lost a Yen

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    How I Made Media Artworks with Ruby and Never Lost a Yen - Presentation Transcript

    1. 私はいかに Ruby で メディア・アート作品 をつくり,しかも一円 も損をしなかったか
        • メディア・アーティスト ,
        • 独立行政法人 産業技術総合研究所 ,
        • 東京大学大学院 情報理工学研究科
      江渡浩一郎 How I Made Media Artworks with Ruby and Never Lost a Yen Kouichirou Eto, AIST, u-tokyo, Media Artist, Rubyist.
    2. アジェンダ
      • メディア・アート作品の制作に Ruby を活用
      • Perl + Java による開発の時代
      • Ruby による開発, 2 つの実例
      • Ruby を用いた教育の実践
      • 制作した作品の実演
    3. タイトルの説明
      • 「私はいかにハリウッドで 100 本の映画をつくり,しかも 10 セントも損をしなかったか」ロジャー・コーマン自伝
      • タイトルはこの本からのパクリです
    4. WebHopper (1996)
      • Web ブラウジングの軌跡を世界地図上で視覚化
    5. Perl バックエンド + Java アプレット
      • サーバ側は Perl ,クライアントは Java で記述
      • WIDE プロジェクトの海外回線を tcpdump した
      • tcpdump -> ip2fqdn -> fqdn2zip -> zip2latlong
      • ドメイン名の逆引きを非同期化する必要があった
      • ドメイン名から緯度経度への情報は mSQL に保管
      • Perl5 で DBI+DBD を利用
    6. Perl の問題点
      • サーバ側の処理もだんだんと複雑化してくる
      • Perl は Thread が無いので非同期処理が面倒
      • Perl でこみいったプログラムを書くのはもう限界
      • Perl でオブジェクト指向を学ぶのは不可能
    7. Java の問題点
      • Java applet は制約が大きく表現力が足りない
      • OpenGL を使いたい場合はどうすればいいの ?
      • Java の世界は閉じてて拡張するのが難しい
      • サーバサイド Java としても当時はまだ未成熟
    8. 二つの異なるプログラミングモデル
      • 二つの異なるプログラミング言語
      • つまり,二つの異なるプログラミングモデル
      • どちらも細かいところまで知っておく必要がある
      • どちらもバッドノウハウの固まりである
      • 両者の併用は手間が二倍になる
    9. 理想のプログラミング言語を求めて
      • 1999 年,理想のプログラミング言語を探し始める
      • Scheme, JPython, Python, Ruby
      • とにかく使ってみて考えた
      • 最後に生き残ったのは Ruby だった
      • 何が決め手だったのか思い出すのは難しい
      • 日本語,英語の文化圏の違い ?
      • コミュニティが決め手だったように感じる
      • 2001 年, Ruby を本番へ投入し始めた
      • お台場 日本科学未来館における常設展示物
      • 転がる玉でインターネットの仕組みを表現
      インターネット物理モデル (2001)
    10. パケットを作って送ってみよう 送信機 パケットを作る 表示器 中身を表示する ルータ ルーティングする
    11. インターネット物理モデルの実装 (2001)
      • 実装に使えた期 間は 1 週間程度だった
      • I2C バスで全体を接続, 1 台の PC で全体を制御
      • DeVaSys 社 USB I2C/IO を使って PC から接続
      • VB と VC のサンプルコードしか手元に無い
      • 少しでも間違った信号を送ると全体がハング
      • Ruby+Win32API を使って全体を制御した
      • require "win32api" 最強伝説の誕生
    12. くまうた (2003)
      • くまに演歌を 教えます
      • 演歌を自動生成
      • SCEI , 2003
    13. 「くまうた」はどんなゲームか
      • 2003 年に SCEI から発売した PS2 用のゲーム
      • あなたは引退した元演歌歌手です
      • 宇宙からくまがやってきて,弟子入りします
      • あなたはくまに 演歌の心を教えます
      • くまを立派な演歌歌手 に育てるのが目標です
      • つまり一種の育てゲー
    14. どのようにゲームが進んでいくか
      • くまはあなたの家に居候しています
      • くまは勝手に作詩してきます ( 自動作詩 )
      • 気にいらない個所を指摘します
      • くまはその個所を直してきます
      • 良い歌詞ができるまでそれを繰り返します
      • くまに新しい言葉を教えることもできます
      • 歌詞が完成したらくまが歌います
      • 曲は勝手にくまが作曲します ( 自動作曲 )
    15. くまうた自動作曲部分の実装 (2001)
      • 私の担当 : 演歌の自動作曲の部分
      • 自動作詩された歌詞に対応したメロディーを生成
      • 3444 などの音韻数に対して音符を合わせる
      • メロディーに対して背景をつける
      • 最後に「おかず」をつけて出来上がり
      • Ruby で実装 -> Sony 社員が C++ に変換
      • 直接 PS2 で Ruby を動かしたかったが無理だった
    16. sgl: simple generic library require 'sgl' window 100,100 # 100x100 のウィンドウ生成 background 100,100,0 # 背景に黄色を指定 color 0,0,100 # 描画色に青を指定 rect 20,20,80,80 # 四角を描く wait
    17. インタラ クティブ な表現
      • 四隅から カーソルへ 線を引く
      require 'sgl' def setup window -200,-200,200,200 end def display x = mouseX y = mouseY line -200, -200, x, y line 200, -200, x, y line -200, 200, x, y line 200, 200, x, y end mainloop
    18. 美大生のためのプログラミング環境
      • 美大でのプログラミング教育のために作成した
      • ex. 多摩美情報デザイン学科 , 芸大先端芸術表現科
      • 動的なグラフィックを簡単に作れる
      • Ruby/SDL + OpenGL のラッパとして実装
      • simple graphics library -> simple generic library
    19. 自分自身の作品制作の基盤として
      • インタラクティブなグラフィックスの実験
      • 百本の線がテーマ
      • 動きに応じて音を再生
    20. 実演
    21. Thank you
      • Special thanks to:
      • Ruby!
      • Ruby/SDL and Ruby/OpenGL
      • Ruby/Win32API and bass.dll
      • rubymidi and VisualuRuby

    + Kouichirou EtoKouichirou Eto, 3 years ago

    custom

    3656 views, 1 favs, 0 embeds more stats

    More info about this document

    CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

    Go to text version

    • Total Views 3656
      • 3656 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 65
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories