7月28日より四日市で展示

今春、名古屋で開催され好評を博した展覧会「ARアートミュージアム」が四日市で開催されます。これはAR技術を応用して絵画や写真を拡張・変容させるARARTシリーズの展覧会で、モナリザなどの名画や寓話の登場人物が動き出し、花の蕾がみるみるうちに大輪の花を咲かせます。また、原生林に現れる不思議な生き物を探したり、世界中の街角を訪れたり、過去から未来へと続く歴史を辿ります。これらがモバイル・デバイスをかざすだけで鮮やかに立ち現れる不思議な体験をお楽しみください。

ARArtMuseum-Yokkaichi

展覧会「ARアートミュージアム」四日市展
 会期:2015年7月28日(火)〜8月19日(水)
    10:00〜18:30 時間入れ替え制、毎時30分より1時間
 会場:近鉄アートホール(近鉄四日市、11階)
入場料:一般・大学生 800円、中学生・高校生 500円 小学生 300円
 制作:赤松正行+ARARTプロジェクト
 企画:東海テレビ放送

7月9日は名古屋でワークショップ

先のエントリーで紹介したMonacaに引き続き取り組んでいます。Monaca自体はイイ感じなのですが、実際の処理エンジンであるWebKitの制約に苦労することが多いですね。そんなノウハウを含めて、Manacaを使ったワークショップを行います。本来はSuperColliderの勉強会にお邪魔しての特別編で、映像と音響の生成はp5.js、ネットワークの処理はsocket.ioを用います。プログラミング技術はそこそこに、アイディアを重視して実践的に楽しんでいただけるよう構想中。会場に数十台のデバイスを持ち込みますので、通常では有り得ない体験となると思います。ご興味がありましたら、ぜひお越しください。よろしくお願いします。

ワークショップ「Monacaでつくるモバイル・アンサンブル」【申し込み】
 日時:2015年7月9日(木)19:00〜21:00
 会場:Cafeパルル 名古屋市中区新栄2-2-19(地下鉄東山線 新栄町駅より徒歩5分)【地図】
参加費:1,500円(1ドリンク付き)/SCNメンバーは600円(要ドリンク・オーダー300円〜)
持参品:ChromeをインストールしたMacまたはPC
 参考:Monaca p5.js socket.io

Metaio CreatorによるモバイルAR

先のエントリーで記したように、Appleが買収したモバイルAR(拡張現実)関連会社Metaioは、すでに既存のユーザのサポートのみに移行していて、その製品やサービスを伺い知ることは難しい。ただし、iOSアプリはまだダウンロード可能なので、ARブラウザであるJunaioや、物体認識ツールであるMetaio Toolboxを試すことができる。また、今年の初めにMetaio関連のワークショップを行ったので、その際のレジュメも公開しておくね。この資料やiOSアプリには、Appleが目指すARの一端が含まれているかもしれない(含まれていないかもしれない)からね。

ダウンロード:「なんちゃってAR制作ワークショップ」レジュメ

さて、このワークショップでは、Metaio Creatorなる簡易AR制作ツールを利用した。以下の図のようなオーサリング環境で、認識するターゲットと対応するリソースを指定するだけでOK、プログラム・コードを書く必要はない。これはMacの内蔵カメラで即座にプレビューすることができ、アップロードすればJunaioアプリによってiPhoneで動作する。あっけないほど簡単であり、アイディア次第で多種多様なARを素早く実現できるようになっている。

Metaio Creator Composite

Metaio Creatorが備えるターゲットのトラッキング(認識)方法は、図のように6種類もある。これだけの認識方法をひとつのエンジンで統合しているのは立派。やや水増し感もあるけどね(笑)。

Metaio Creator Trackings

このうち、3次元物体を認識するObject Trackingや建造物を認識するEnvironment Trackingでは、そのデータをiOSアプリのMetaio Toolboxを使って制作する。iPhoneをかざして物体や建物の周囲を回ってスキャニングすれば、3次元位置として特徴点が蓄積されていくことになる。

Metaio-Toolbox-3D-Map

ターゲットが認識された時にトリガーされるリソースも15種類と豊富。静止画や動画、3Dモデルなどを表示したり、WEBサイトの閲覧やツイートの投稿、カレンダーの作成などもできる。必要であればタイムラインによるアニメーションや、簡単なスクリプトの実行も可能。こちらも水増し感がちらほら(苦笑)。

Metaio Creator Resouces

このように見ていくと、Metaio CreatorはARのFlashを目指していたように思える。しかし、Flashがそうであったように、誰でも簡単に作れるものの、最大公約数的な大雑把なコンテンツしか作れないという危惧も強かった。実際にも作例のモナリザは、ARARATのほうが遥かに認識の精度と安定感が良く、イメージの表示もARARTのほうが自然で違和感がなかった。自画自賛のようだけど、これはワークショップの参加者も同意していたよ。

ただし、MetaioにはMetaio SDKなど高度な開発環境も提供されていたので、コード・レベルでチューニングすれば効果的な結果が得られるかもしれない。MetaioはIKEAやAudiなど大手企業のアプリに採用された実績を持つので、それは単なる営業努力だけではないよね。ISMARなど学術会議でのコンテストも勝ち得ている。だから、技術的な基盤は堅牢で性能は高いハズ。AppleがMetaioの何に魅力を見出し、モバイルARをどのように活用するのか、それこそが重要だよね。

ところで、MetaioとはメタI/Oのこと?

アップルはモバイルARの夢を見るか?

「アンドロイドは〜」のほうが収まりは良いけど、ここはアップルです、Apple Inc.です。と言うのも、AppleがAR(拡張現実)界のリーディング・カンパニーのひとつMetaioを買収したから。すでにMetaio社のWEBサイトでは製品の販売や関連する情報は取り下げられている。これまでARには正面切って取り組んでいなかったAppleが、Metaioを得て何をするのか、興味津々です。

Metaio Web Site

ここ数ヶ月を振り返ってみると、Googleは謎に包まれたARスタートアップMagic Leap社に巨額出資を行い、Microsoftは自社開発のARゴーグルHoloLensを発表したよね。Facebookに買収されたHMDの革新者Oculus社も、さらにSurreal Vision社を買収してARに接近中。といったようにIT界の主要プレーヤがARを重要視していることが分かる。そこへAppleも参入するというわけ。

未知数のMagic Leapはさて置くとしても、HoloLensもOculusも頭部に装着するディスプレイが主役。対するMetaioはあくまでもスマートフォンで動作するソフトウェアでしかない。順当に考えれば、Appleが取り込もうとしているのは、その延長線上にあり、いわゆるモバイルAR、つまりセカイカメラARARTがOSレベルでサポートされることになる。数年間の苦節(笑)を経て、モバイルARが桧舞台に躍り出るや否や、これは楽しみですね。

Appleはもっとも革新的なITカンパニーと評されるほど未来志向だけど、その未来は安っぽいSF映画に描かれるようなキラキラのハイテクじゃない。それは日常生活に違和感なく溶け込み、歴史や文化に支えられ、ある意味で古典的(Classic)ですらあるような未来だと思う。それを端的に表すのがCMフィルムで、来年あたりには何気ない日常生活の場面場面でiPhoneをかざす様子が描かれているかもしれない。あるはメガネかもしれない。それはモバイルARの最後の1マイルね。

Apple Watch TV Film

Monacaなる超絶開発環境

WEB系の表現にウトいこともあって気づいていなかったけど、アシアル株式会社のMonacaという開発環境が素晴らしい機能を持っていた。このMonacaはHTML5(とCSS3とJavaScript)で記述して、iOSやAndroidなど複数のプラットフォーム向けのネイティブ・アプリを出力できる。つまり、大昔ならFlashアプリがそうであったように、各プラットフォームの特性を無視した大味なアプリがワン・ソースで作れるわけ。また、クラウド型IDEによってWEBブラウザ(とインターネット)だけで開発ができる。自分のマシンであろうが他人様のマシンであろが、いつでもどこでもログインさえすればセットアップ要らずでWEBベースの緩慢かつ低機能なエディタで作業が続けられる。このあたりがMonacaの大きなメリット(とデメリット)みたい。

Monaca

もっとも、そのようなメリットは個人的には響かない。XcodeでiOS SDKを駆使したSwiftコードを書くほうが遥かに快感だし、マルチ・プラットフォーム対応は砂糖をまぶした悪夢だからね。ところが、Monacaは現在のXcodeでは絶対にできない領域に君臨している。それは開発中のアプリを複数のiPhoneで同時に動作させること。もちろんXcodeでもiPhoneのアプリを動作させられるけど、それは1台に限られるよね。それがMonacaでは何台でも同時に動くわけ(驚愕)。

実際の動作状況は以下のムービーでどうぞ。これはSnowflakesの基本処理をHTML5化してMonacaで動作させている。MacBookではSafariでMonaca IDEを開き、iPhoneではMonacaデバッガーなるアプリを開く。いずれも自分のアカウントでMonacaにログインしておけば、すべてのiPhoneでHTML5で記述したアプリが起動する。途中でコードを修正して保存すれば、それだけで修正したファイルが再同期されてアプリが再起動する。ムービーでは途中で背景色を変えている。ね、恐ろしく簡単で快適でしょ?

このデモでは、Monacaとして動作するアプリをProcessingのJavaScript版であるp5.jsで書いている。JavaScriptは簡単だけど、p5.jsはもっと簡単で、しかもJavaScriptとの親和性も高い。サーバはMacBookで動いていて、これはnode.jssocket.ioで記述。クライアント(iPhone)での通信もsocket.ioを利用している。このようなJavaScript(およびCSS)のライブラリはMonaca IDEで管理できるし、手動で追加・変更しても構わない。

さて、一般には同時に何台も動いても嬉しくないけど、それはデンタクのようなアプリだからだよね。Snowflakesと同様にincubatorOkeanos Buoyなど、複数のデバイスが相互に関連しながら総体としての表象表現を目指している者には、これは喉から手が出るほど欲しい機能に他ならない。これまでも独自の動作環境を作っていたけど、それはパラメータ調整程度に留まっていた。それがMonacaでは言語レベルで構築できるから、感涙なわけです。作業効率は当社比100倍ね。後はこれで作品作れって話だけど、もちろんそれが一番難しい(笑)。

3月27日より名古屋で展示

現実を拡張し現実を変容させるARARTプロジェクトの展覧会が3月27日より名古屋で開催されます。「ウロボロスのトーチ」や「Moments of Bloom」などお馴染み(?)の作品に、ロンドンで好評を博した「屋久島」や、従来とは異なる鑑賞体験となる新作「パノラミックな風景」が加わり、これまででもっとも規模の大きな展覧会となります。会期も1ヵ月半と長めですが、お早めのご来場をお待ちしています。

15AR_A4_ura

展覧会「ARアートミュージアム」〜動き出す不思議な絵〜

会期:2015年3月27日(金)〜5月10日(日) 会期中無休
   11:00〜17:00(最終入場 16:30)
会場:テレピアホール 【地図】
料金:中学生以上 1,200円(前売り 1,000円)
   小学生以下 600円(前売り 500円)
チケット:T-Ticketチケットぴあローソンチケットe+(イープラス)

2月19日より大垣で展示

2月19日よりIAMASのいわゆる卒展でアート・オブ・ライフなるプロジェクトの展示を行います。ノーマルおよびカスタム・バージョンの雰囲気メガネも体験していただけますし、関連する研究成果の展示も行います。

ArtOfLife-IAMAS2015

IAMAS 2015
情報科学芸術大学院大学 第13期生修了研究発表会・プロジェクト研究発表会

日時:2015年2月19日(木)〜2月22日(日) 10:00〜18:00 (初日のみ13:00から)
会場 :ソフトピアジャパン・センタービル 3Fソフィア・ホール他
料金 :無料

また、同じ建物の1FロビーではARARTの展示も始ります。こちらはお馴染み?の名画シリーズに新作としてゴヤの「着衣のマハ」が加わりました。こちらも是非ご覧になってください。

ARART-Softopia

ARART〜拡張現実・変容現実による芸術表現
会期:2015年2月19日(木)〜3月21日(土)
会場 :ソフトピアジャパン・センタービル 1Fロビー
料金 :無料

IFTTTで雰囲気メガネをコントロール

電話着信時やメール受信時に雰囲気メガネが光るのはANCS (Apple Notification Center Service) を利用しています。ザックりと言えば、ANCSはローカル通知やプッシュ通知(正確にはAPNS=Apple Push Notification Service)を外部のBluetooth LEデバイス(雰囲気メガネ)へ横流しにする仕組みですね。なので、何らかの通知を行うアプリやサービスであれば、何でも雰囲気メガネで利用可能。そこで今回はIFTTTによる雰囲気メガネのコントロールを紹介します。

IFTTT(イフト)は複数のWEBサービスを連携させるサービスで、名称の元となった「IF This Then That」が示すように、何らかのトリガー(This)が起これば何らかのアクション(That)を行います。このようなトリガーとアクションの組み合わせをレシピと呼び、ユーザはいくつでもレシピを定義して実行可能です。

雰囲気メガネはWEBサービスではないものの、IFTTTがプッシュ通知に対応しているので、他のサービスと連携できるわけです。ここではシンプルな例として、毎時ゼロ分に雰囲気メガネを光らせてみます。IFTTTのiOSアプリを使ったレシピの作成手順は以下のようになります。

・IFTTTを起動してログイン。未登録であればアカウントを作成。
・トップ画面右上の鉢と棒のアイコンをタップしてレシピを表示。
・右上の+ボタンをタップして新しいレシピを作成。
・ifの次の+ボタンをタップしてトリガーを作成。

Funiki-IFTTT-1

・上部をスクロールして時計アイコンのDate & Timeを選択し、
 Every hout atの横の+ボタンをタップ。
・毎時何分にトリガーするかを選択し、Nextボタンをタップ。
・thenの後の+ボタンをタップしてアクションを作成。

Funiki-IFTTT-2

・上部をスクロールして鐘アイコンのiOS Notificationsを選択し、
 Send a notificationの横の+ボタンをタップ。
・レシピが完成したのでFinishボタンをタップ。
・作成されたレシピが表示される。スイッチがオンであれば実行される。

Funiki-IFTTT-3

以上でIFTTTの雰囲気メガネ制御レシピができました。正確には毎時ゼロ分にプッシュ通知をするレシピですね。IFTTTの通知は「その他」のカテゴリーとして扱われます。雰囲気メガネではトップ画面上部の一番右のアイコンが「その他」カテゴリーの設定です。初期状態でも「その他」カテゴリーの通知は有効なので、特に何もしなくても大丈夫ですけどね。

Funiki-IFTTT-4

毎時ゼロ分に雰囲気メガネを光らせるだけでは面白くないかもしれませんが、アクションには選ぶのが大変なくらい沢山のサービスがあるので、何をするのかはアイディア次第といったところでしょうか。GitHubで新しいイシューが発行されたら、とか、Instagramでお気に入りのユーザが写真を投稿したら、とか…また、WEBサービスだけでなく、FuelbandWeMoのようなセンサーも利用可能です。

ただし、IFTTTには即時性は期待できません。毎時ゼロ分という単純なトリガーでも平気で何分も遅れますから。でも、それも雰囲気メガネに相応しいユルさかもしれませんね。雰囲気メガネは大量の情報を精緻に扱うことを目指していません。だって単に光るメガネですからね!

雰囲気メガネのMIDI/OSCプロトコル

間もなく(おそらく)出荷される雰囲気メガネでは、独自のアプリケーション開発のためにSDKが提供されます。これはObjective-CまたはSwiftというプログラミング言語を用いる本格的なものなので、もう少しお手軽な方法としてMIDIとOSCを用意しています。OSC(OpenSound Control)はMaxなどで簡単に扱えますし、MIDIなら鍵盤を弾いたり、ツマミをグリグリするだけです。

MIDIやOSCをサポートしているウェアラブル・デバイスやモノのインターネットと呼ばれる製品は珍しいと思いますが、これこそが雰囲気メガネの特徴のひとつですね。そこで、ここでは一足早く雰囲気メガネのMIDIとOSCのプロトコル【暫定版】を説明します。正式なドキュメントは開発者向けサイトで公開されるはずです。

雰囲気メガネでのMIDI/OSC

MIDIもOSCも雰囲気メガネのiOSアプリに対してデータを送り、アプリは雰囲気メガネとリンクされている必要があります。つまり、雰囲気メガネ・アプリがMIDIやOSCと雰囲気メガネとの中継役になるわけです。雰囲気メガネ・アプリでは設定ボタンからMIDI/OSC画面を開いて設定を行い、この画面でのみMIDIやOSCを受け取るようになっています。

Fun-iki-MIDI-OSC

雰囲気メガネのMIDIプロトコル

MIDIに関しては、MIDI/OSC画面でMIDIスイッチをオンにするだけで、それ以外の設定はありません。MIDIのすべての経路を受け入れて、すべてのMIDIチャンネルを受け付けます。CoreMIDIに対応していればネットワークMIDIでもバーチャルMIDIでも構わないし、物理的なMIDIインターフェースでも構いません。最近登場したMIDI Over Bluetooth LEも制約があるようですが一応動作しました。何らかのMIDIメッセージを受け取ると、MIDIスイッチの左横にある小さな丸が点滅します。

Network MIDI

MIDIメッセージでは、まず、もっともポピュラーなノート・オンおよびノート・オフ・メッセージに対応しています。MIDI鍵盤を弾けば雰囲気メガネがピカピカと色とりどりに光るわけです。雰囲気メガネの紹介ビデオでもグランド・ピアノを弾いているシーンがありましたね(気分はディスクラビア)。この場合は、ノート・ナンバーを色相として扱い、どのオクターブでもド(C)が赤色で12半音で色環を一周する割当になります。ベロシティは明度の指定で、最大値である127なら最も明るく光り、数値が小さいと弱い光りとなり、0なら光りが消えます。強く(速く)鍵盤を叩くほど明るく光り、鍵盤から指を離せば光りが消えるわけですね。ノート・オフ・メッセージはどのような値でも光りが消えます。

MIDIノート・オン・メッセージ
ノート・ナンバー:色相(図参照)
ベロシティ:明度(0:消灯〜127:最も明るい)

Fun-iki-midi-note
MIDIノート・オフ・メッセージ
消灯

ノート・オンとノート・オフでは色相と明度しか指定できないので、彩度はコントロール・チェンジの1番で指定します。これはモジュレーションなので、多くのMIDIキーボードでは鍵盤の左横にあるホイールやレバーを動かせば彩度が変わります。ただし、コントロール値がゼロの時に彩度が最大で色がはっきりし、値が大きくなるにつれて彩度が下がって白っぽくなります。モジュレーションを上げて「白熱」した演奏になるわけです。

MIDIコントロール・チェンジ
コントロール・ナンバー1(モジュレーション):彩度(0:彩度最大〜127:彩度最小)

指定した色に変化する遷移時間はコントロール・チェンジの5番と56番で設定できます。コントロール・チェンジの5番はポルタメント・タイム、同じく65番はポルタメント・スイッチですから、それっぽいですよね。コントロール・チェンジ5番の値が0であれば遷移時間は0秒、127であれば4秒とリニアに変化します。コントロール・チェンジ65番の値が0から63までなら遷移は無効、64から127までなら遷移が有効になります。

MIDIコントロール・チェンジ
コントロール・ナンバー5(ポルタメント・タイム):遷移時間(0:0.0秒〜127:4.0秒)
コントロール・ナンバー65(ポルタメント・スイッチ):遷移設定(0〜63:有効、64〜127:無効)

さらに、コントロール・チェンジの16番、17番、18番を使ってHSB形式で光りを設定することもできます。これらは汎用操作子の1番から3番で、汎用だから何でも良いでしょうってことです。

MIDIコントロール・チェンジ
コントロール・ナンバー16(汎用操作子1):色相(0:最小〜127:最大)
コントロール・ナンバー17(汎用操作子2):彩度(0:最小〜127:最大)
コントロール・ナンバー18(汎用操作子3):明度(0:最小〜127:最大)

遷移時間の設定以外は、どのMIDIメッセージを受け取っても、ただちに雰囲気メガネの色が変わります。これは、できるだけ簡単に、まさに演奏するように雰囲気メガネをコントロールしたいとの意図です。しかし、逆に言えば効率的ではありませんし、MIDIでは左右個別に色を設定することはできません。より柔軟なコントロールにはOSCをお勧めします。

雰囲気メガネのOSCプロトコル

OSCを利用する場合は、送信するMacやiPhoneと雰囲気メガネ・アプリが動作しているiPhoneとを同じWi-Fiネットワークに繋ぎます。OSCの受信ポート番号はデフォルトで2061で、どこかで聞いたような数値ですが、任意のポート番号に変更しても構いません。雰囲気メガネ・アプリが動作しているiPhoneのIPアドレスが表示されているので、送信元からはこのIPアドレスに対して設定したポート番号でOSCパケットを送ります。OSCのスイッチをオンし、何らかのOSCパケットを受信すれば、スイッチの左横の小さな丸が点滅するはずです。

OSCパケットのフォーマットは以下の通りで、/fun-iki/performというアドレスに続けて7つの数値を与えます。最初の3つの数値は左側レンズの色をHSB形式で指定し、いずれも0.0から1.0までの範囲の実数です。続く3つの数値は右側レンズの色です。最後の数値は指定した色に変化する遷移時間を秒数で指定します。遷移時間として指定できる有効な数値の範囲は0.0秒から655.34秒で、分解能は0.01秒です。

/fun-iki/perform <左色相> <左彩度> <左明度> <右色相> <右彩度> <右明度> <遷移時間>

例えば、次のパケットを送ると、左側は明るい赤色に、右側は暗めの青色にすぐに変わります。

/fun-iki/perform 0.0 1.0 1.0 0.666 1.0 0.5 0.0

そして、次のパケットと送ると、両側のレンズの光りが2秒かけてゆっくり消えます。

/fun-iki/perform 0.0 0.0 0.0 0.0 0.0 0.0 2.0

ちなみに、OSCでは実数を使って細かく制御できるように思えますが、しかし、高い精度は期待しないでください。iPhoneなどのディスプレイに比べると、雰囲気メガネのカラーLEDの色域や精度は広くないですからね。また、データを送ってから色の変化が始るまでの時間的な遅れや、単位時間あたりに送れるデータ量の制限もあります。演奏するように雰囲気メガネをコントロールしたいものの、大量のデータを送ればパケ詰まりになります。このような制限はMIDIでも同じで、実際にデータを送って光り方を確かめながら制作していただけると良いかと思います。