Max7日記 (4)

長嶋 洋一


→ Max7日記(1)

→ Max7日記(2)

→ Max7日記(3)

→ Max7日記(5)

→ Max7日記(6)

2016年9月28日(水)

ここはウイーン、午前6時(日本は午後1時)はサマータイムのためにまだ真っ暗である。 モスクワからウイーンに移動した昨日の様子は こちらのページ にあるし、詳しいことは 日記part3 にも同時進行で記しているが、昨日の午前中、モスクワのホテルを昼にチェックアウトするまで部屋でMaxプログラミングをサクサクと進めて、それなりに着実に進展している模様については、大人の事情があって何も書いていないのだ。

昨日のモスクワは黒い雲が漂って道路も濡れていて天気は下り坂だったがそこを抜け出して、ウイーンに来てみれば上のように週末までまずまず好天である。 ところが日本では台風18号が発生して、日本列島は雨雲(秋雨前線?)に覆われている。 出発して1ヶ月が経過したこの欧露ツアー、いまだに持参した折りたたみ傘は一度も開いていないのだが、果たしてどうなるか。

そして今ここは、ウイーン大学の情報系の真新しいビルの最上階のICEC2016会場、オープニングセッションである。 ホテルからここまでは、トラム44→メトロU2→メトロU6→徒歩5分、となかなかの散歩となった。 メトロの駅でドナウ河の畔に出たが、無事にiPad+WiFiルータ+GPSと、Mapアプリ/GoogleMapの連携によって(途中で僕の現在位置はいずれもドナウ河の真ん中だった(^_^;))、上のように、なんとか会場にたどり着いた。

今、最初のKeynoteが始まったが、ウイーンのアニメスタジオ「arx anima」のデザイナー(CEO)Kris Staber氏のお話で、メイキングを見ていると、SUACテザインの学生のGWSやCG工房での死闘とあまり変わらない。 世界的に有名なウイーンのアニメスタジオで、多くのテレビCMのアニメとか映画のCGを制作しているそうだが、毎度の過密スケジュールとクライアントの要求に消耗するのはどこでも同じようで、「タイム」・「デッドライン」・「クレイジー」・「エナジー」・「ワークフロー」・「コスト」などがこの業界のキーワードのようである。 求められるスタッフは「才能」と「情熱」に溢れているそうで、つまりは世界中どこでも、アニメの世界はオタクが支えているのだ。 母国ドイツ語でなく、会社の公用語は英語で、これは今の時代に必須である、という指摘はSUACに持ち帰って伝えたい。

最近では自社専用のパイプライン・ワークフロー支援ツールを開発して使っているようで、工業のように定量化されにくいデザイン/アートの仕事もなんとか客観化・定量化して会社全体として滞りのないように進めるよう努力しているのが印象的だった。 アニメーション開発ツールとしてのUnityについても調べて活用していて、リアルタイム・モーションキャプチャも活用し、仕事はiterate、つまり要素作業は全て同質のものとしてその再帰的繰り返しなのだ・・・という視点でアニメーション制作の効率化を追求している。 未来のテーマは「アニメ制作の工業化」なのだそうで、このあたり、日本ではまだまだアニメータは土方作業の消耗戦なのとはちょっと違う、さすがヨーロッパのアニメ最前線だった。 質疑応答では、「Unityのアセットは購入して使うことも、ライセンスに注意して販売することもある」という事だった。 Unityアセットを一種の知的財産としてビジネスの世界で売買している、というのは凄いことだ。

Session 1: Games for Learning (28.9., 10:30-12:30)

	Using Gamification Mechanisms and Digital Games in Structured and Unstructured Learning Contexts
		Ioana Andreea Stanescu, Antoniu Stefan, and Jannicke Madeleine Baalsrud Hauge

	The Challenge to Nurture Challenge - Students Perception of a Commercial Quiz App as a Learning Tool
		Heinrich Söbke and Laura Weitze

	Success Factors for Applied Game Projects - An Exploratory Framework for Practitioners
		Ralf Schmidt, Mirco Zick, Burkhard Schmidt, and Maic Masuch

	Game System of Coordination Skills Training for Elderly People
		Nobumitsu Shikine, Yuki Hayashi, Takeshi Akiba, Mami Tanasaki, and Junichi Hoshino
そして初日午前のセッション開始である。 いつものようにライヴで勝手な感想をメモするが、Proceedingsを開いていないので、的外れ、嘘、間違いがあるのはご勘弁(^_^;)。 ICEC2016のプログラムは上のようなものであり、3日目の午後はIEEEのTCミーテイングなので、シングルトラックのこの会議、実質は2日半ということのようだ。 昨日から既にワークショップなども始まっているようだが、初日の冒頭の参加者はそこそこ少なくて(日本人では関西大の米澤さんと久しぶりに再会した)、こんなにICECってコンパクトだったかなぁ・・・という感じである。 配布されている「参加者名簿」を数えたらなんとたった45人、むしろVS-Gamesの方がずっと賑わっていた。 明日のバンケットに出てみないと分からないが、自分の発表以外はウイーン観光している参加者もいるのかもしれない(^_^;)。 このセッションは上のように「ゲームと教育/学習ネタ」というものであり、ちょっと不慣れなところである。 1件目の「Using Gamification Mechanisms and Digital Games in Structured and Unstructured Learning Contexts」は、プレゼンが全て文字ばかりで滔々と英語で「お話」されたので、参った。

2件目の「The Challenge to Nurture Challenge - Students Perception of a Commercial Quiz App as a Learning Tool」は、ドイツで爆発的に売れている(怒涛のダウンロード数)のクイズゲームのスマホアプリを使って教育目的に活用できないか、というようなお話だった。 オンラインのアプリを、時分割でレクチャーとホームワークに分割して、ユーザ(生徒)が自宅で宿題できるようにしたらしいが、ゲームとして遊ぶクイズゲームに、教師からの問題文が届いたとして、これを自宅でゲームとして解くことで自宅学習になる・・・というのは、どうも昔からの教育ゲームの夢物語のようなデジャヴ感がある。 案の定、「続けていると低下してくる集中度を上げるためにスマホゲームを使う」というモチベーションに対して、「表面的に反応するだけ」・「他の知識を動員して解答しようとしない」など、予想されるような問題点があるのでなかなかうまくいかない・・・というような結論だった。 つまりは、スマホゲームのユーザは別に成長しようとして集中しているのでなく、なんとなくやっているのだろう。

3件目の「Success Factors for Applied Game Projects - An Exploratory Framework for Practitioners」は、冒頭にApplied Gamesの解説から始めたように、いわばシリアスゲーム、まさにVS-Gamesの領域であった。 発表はとても地味で、インタビューとその分析という社会科学的アプローチ、あるいは工学的なワークフローを敷衍したアイデアの提示・議論というものだった。 日本ではまだまだ相変わらず、エンタテインメントコンピューティング研究会などは「こんな新しいゲームを作りました」的なものが盛況なのだが、世界的には、渋くて真面目な方向に進んでいるらしい。

4件目の「Game System of Coordination Skills Training for Elderly People」は、筑波大の発表でもろリハビリ、高齢者の「手/腕を使った」スキル・トレーニング(脳卒中などのリハビリ)、というのものであり、少子高齢化社会においては必要なテーマである。 なるほど、かつて子供と若者を対象として「いかに楽しく遊ぶか」を追求していたICECも、社会情勢に対応して、対象を真面目なところにも広げているのだ。 ただし、これまでも色々なセンサを開発して色々な応用を発表してきた星野先生の研究室ということで、要は「新センサ」ねたであり、企業と組んで開発した新しいゲームコントローラを作り、これを利用した高齢者身体機能開発システムを作りました、というお話だった。 ゲームリモコンに似ているものの、ハンドルのように全体を回転させたり、両端のグリップを握りつつ回転できるもので、両手を複雑に動かす運動を支援する。 ただし、国内デモのために作った日本語ナレーションの動画を延々と再生しては、僕はばっちり分かって嬉しいものの、会場にはかなり冷ややかな空気が流れた(^_^;)。 合間にProceedings(紙)を眺めてみて気付いたが、どうもICECは要素技術よりもシステムを指向しているようで、つまりテクノロジーの細部はプラックボックスでも良くて、この研究でもそうだが財力にモノを言わせてシステムハウスに丸投げ外注したものを使った研究でもいいらしい。

そして昼休みとなり、iPadで日本のYAHOOを見てみると、上のように「避難情報」「避難指示」という見慣れないものが出てきた。 台風でなくても、日本の天気は大荒れらしい。 しかし申し訳ない、ウイーン市内を見下ろすこの建物の12階屋上からは、ガラス越しながら上のような絶景(ド真ん中にあるのはドナウタワー)である。(^_^;)

Session 2: Use and Evaluation of Digital Entertainment (28.9.,13:30-15:30)

	Integrating and Inspecting Combined Behavioral Profiling and Social Network Models in Destiny
		Andre Rattinger, Günter Wallner, Anders Drachen, Johanna Pirker, and Rafet Sifa

	How Playstyles Evolve: Progression Analysis and Proling in Just Cause 2
		Johanna Pirker, Simone Griesmayr, Anders Drachen, and Rafet Sifa

	Evaluating Experiences in different Virtual Reality Setups
		Volker Settgast, Johanna Pirker, Stefan Lontschar, Stefan Maggale, and Christian Gütl

	EyeCo: Effects of Shared Gaze on Social Presence in an Online Cooperative Game
		Bernhard Maurer, Michael Lankes, Barbara Stiglbauer, and Manfred Tscheligi
そして午後の前半のセッションは、上のようにキーワードはSocialであり、これも僕はあまりよく知らない領域である。 聞き流しつつ振り返ってみると、今回のICEC2016は「15th」とある。 その 第1回というのは、実は日本のエンタテインメントコンピューティングのコミュニティが幕張メッセで開催したIWEC、つまりInternational Conferenceでなくて、単発の国際ワークショップInternational Workshopだった。 そして僕はこの記念すべきIWEC2002で発表していたのである(^_^)。 その出張の模様は ここ にあり、僕の発表は ここ にある。
そして次の接点は、フランス・パリとリンツ(アルスエレクトロニカ)/ウイーンに学生2人と行った2009年の渡欧ツアーであり、その模様は ここ にあり、僕はICEC2009では研究発表でなく、チュートリアルの講師をした。 その講演資料は ここ にあり、その受講者としてロシアから来たのが、Denisだったのである(^o^)。
そして今回のICEC2016では、正々堂々と論文発表に挑戦したのだが、3人のレフェリーのうち1人は「accept」とスコアを付けたものの残り2人がマイナスでrejectされたので、まだICECについては、まともな形で発表していない、かなり変則的な付き合いなのだった。

1件目の「Integrating and Inspecting Combined Behavioral Profiling and Social Network Models in Destiny」は、なにやらマシンガンをぶっ放すという?ゲーム(キーワードは「運命」)に関する調査のようだった。 10000人のユーザの調査というのは凄い。 バトル系のゲームでのユーザの振る舞いを統計的に検討しているらしいが、僕にはなんともピンと来なかった。
2件目の「How Playstyles Evolve: Progression Analysis and Proling in Just Cause 2」は1件目と同じところの女性研究者の発表で、ゲームの「プレイスタイル」の変化を分析したものらしい。 どんなスタイルでゲームしようと勝手だろう、と思う僕は素人なのだろうが、ゲームの専門家はユーザの振る舞いに関する一般的な分析をしたいのだろう。 最後の「GOALS」のところで分かったが、このような研究の目的の一つは「ドロップアウトをさせない手」の探求で、つまりはゲームの作り手はカモであるお客に逃げられては食いっぱぐれるので、逃げないように分析したいのだろう。

3件目の「Evaluating Experiences in different Virtual Reality Setups」は、HMDなどVRのツールのセットアップに関する調査、ということで、かなり地味だが重要な研究だった。 応用の目的の一つにcybersicknessの防止・・・というのがあって、一気に僕も引き込まれた。 しかしあの巨額のCAVEとHMDとを比較するというのはやや無理があると思う。 驚いたことに、コストで1000倍〜10000倍の違いがあるのに、被験者の評価はあまり差が無かった。 こうなると、量産効果で、今後はHMDの天下になっていくのかなぁ。(^_^;)
4件目の「EyeCo: Effects of Shared Gaze on Social Presence in an Online Cooperative Game」というもので、人間がハマるアナログなゲームでは、相手の目を見て駆け引きしているから面白い・・・というような研究である。 ちょうどに日本からは、羽生さんが王位を防衛したというニュースが届いたが、あの「羽生睨み」こそ、ゲームの醍醐味なのだ。 麻雀もそうだったが、相手がいて、自分の目を相手が読み、こちらも相手の目を読み、騙し騙されるという駆け引きはときに人間不信を惹起するものの、対戦ゲームの本質だろうと思う。 それに対して、ディジタル・ゲームの相手の目は死んでいる(CG)のだから、面白くないのはある意味で当然なのだ。 実験の結果としては、相手の眼差しよりも相手の声の方が重要度が高かったが、つまりはサウンドは感情を喚起するものだ、という事か。

Session 3: Entertainment for Purpose and Persuasion (28.9., 16:00-17:30)

	Metry Mouse Missions: An Interactive, Geometric Obstacle Course of Daredevil Proportions
		Günter Wallner, Lauri Galbreath, and Simone Kriglstein

	Promoting Stretching Activity with Smartwatch - A Pilot Study
		SinJae Lee, SangBin Kim, and JungHyun Han

	Evaluation and Redesign of a Curriculum Framework for Education About Game Accessibility
		Thomas Westin and Jerome Dupire

	User Interface Prototyping for Handheld Mobile Augmented Reality Applications
		Antonia Kampa, Kathrin Stöbener, and Ulrike Spierling

	Productive Gaming
		Ulrich Brandstätter and Christa Sommerer
ここでCoffee Breakがあって午後の後半のセッション(もろもろ雑多なショート発表)となったが、一部の来場者はこのスキに消えてしまった。 やはり、ウイーンの街というのは、国際会議を途中退出するほどの魅力があるのだろう(^_^;)。 さらに日本では22時過ぎだが、ここで照岡さんからのメイルが届いていることを発見した。 遂に、我々の最新筋電センサ基板の設計が完了した(*^o^*)とのことで、さっそく帰国したら「P板.com」に発注して試作である。 学生からの相談アポも届き、後期の新科目にいての連絡も行き来し、いよいよ新学期直前モードである。 1件目の「Metry Mouse Missions: An Interactive, Geometric Obstacle Course of Daredevil Proportions」はどうやら教育ネタのものらしい。 ゲームのplayerを「一人」と「二人」とで考える、というのはもっとも基本的なところだが、これはSUACのデザインでも常に最初に検討する視点だろう。 小さな子供が「一人遊び」(おままごととか)をしている場合、時に教える人、時に教わる人、を交互に演じる、というよくある話がここで蒸し返された。

2件目の「Promoting Stretching Activity with Smartwatch - A Pilot Study」は、韓国サムソンの研究者が、サムソンのスマートウォッチを使ったストレッチ支援という、もろビジネス直結の発表だった。 しかしAppleWatchも苦戦しているみたいだが、サムソンのモバイルウォッチをはめてストレッチしたら画期的に効く、とも思えない。 時計なので一定時間ずっとお仕事しているとバイブで知らせてきて、内臓の加速度センサと方向センサを使って、ストレッチ動作をカウントするだけの簡単なお仕事だった。
3件目の「Evaluation and Redesign of a Curriculum Framework for Education About Game Accessibility」は、ゲームにおけるアクセシビリティ(ゲームにおけるユニバーサルデザイン!!)の発表だったが、ここに来て突然に睡魔に襲われて聞き流してしまった。(^_^;)

ここで眠気覚しにプログラムを眺めて、明日の晩のバンケット会場をGoogleマップで調べてみたら、なんと上のように、ホテルからトラム電停1個分、という超至近である事が判明して一気に目が覚めた。 これは帰りが超ラクチンである。
4件目の「User Interface Prototyping for Handheld Mobile Augmented Reality Applications」は、なんかメディア造形学科の学生作品のデジャヴのような感じで、モバイルデバイスとARを組み合わせたストーリーテリング、という作品の事例紹介だった。 フランクフルトの古城の庭園や森を歩き回って、そこらをタブレット越しに眺めると、まるで幽霊のように(^_^;)、タブレットの画面に老婆が現れて語ってくれるのだという。 2次元バーコードなどを使わずGPSのようなので、つまりは「ポケモンGO」ってことなのか・・・と思ったらもっと単純で、タブレットを回転させたり振ったりタップしたり、というアクションで対応したムービーが出てきて、それをカメラ越しの風景と半透明に合成しているのだった。(^_^;)

5件目の「Productive Gaming」はリンツからの発表で、タイトルからソソラレていたものである。 しかしSketching系を期待したのは見事に外れて、ビデオゲームの話だった。 プレイヤー自身がプロデューサ・デザイナー・クレエイターを兼ねる、というアイデアはどこの世界にもあり、Computer Musicの世界でも昔からのものである。 ビデオゲームであれは具体的なインターフェースのハードウェアもファームウェアも不要なので、このコンセプトを実装するのはけっこう容易だろう。 ある意味では、フリー公開されているUnityのアセットを組み合わせて自前のストーリーなりキャラクターなりを貼り込んでゲームを作るのも、つまりメディア造形学科の一部学生が行っているデザイン活動は「Productive Gaming」と言える。 また、Max/MSP/jitterを活用した(即興)VJパフォーマンスも同様である。

・・・これでICEC2016の1日目が終わった。 多くの参加者は「ウイーン市内ツアー」に行くようだが、僕はもうお馴染みなのでパスしてホテルに帰ることにした。 朝にはどことなく疲れがあった筈なのに、1日を過ごしてみると、発表の予定のない学会聴講ということで、あれこれ考えながら聞くことが出来て、さらにその中身が、今回の欧露ツアーでの収穫とも絡み合っていて、なかなか幸せな時間を過ごせた。 晩には、安く仕入れたワインをいただきつつ、ホテルの部屋から写真を こちらのページ に上げることにしよう。

2016年9月29日(木)

昨日は「曇り」だったウイーンが、どうやら今日は好天である。 ホテルから会場のウイーン大学まで、トラム2本を乗り継ぐだけで簡単に来られることが分かって、今日は15分ほどで会場に到着すると一番乗りだった。 日本では以下のように、台風18号が大きくカーブして日本列島に近づくらしいが、成田に10/2の午後に着いてセントレアには夕方に着くので、なんとか僕の帰国には影響はなさそうである。

昨日はICEC参加者の「ウイーン市内散歩ツアー」があったらしいが、僕は今回はウイーンのど真ん中に行くことはない。 ウイーンの風景などを期待している人は、過去に僕が行った時に撮った写真などがあるので、 ここ とか ここ とか ここ とか ここ とか ここ を参照されたい。 ICEC2016は2日目となり、午前はノルウェーとデンマークの大学の教授であるDag Svanæs氏のKeynoteから始まった。 ザッとAbstractを斜め読みしてみると、なんと「This leads us from "mind-centric" to "body-centric" design.」とか「This question will be explored through a number of design examples, including mechanical body extensions for theatre settings, and exercising games for physical rehabilitation.」とのフレーズがあり、これはモロに僕の注目点だ、ということで気合いを入れて臨んだ。

タイトルはずばり「Body-Centric Game Desogn」である(^_^)。 プレゼンは予想以上にずばり(僕もこういう感じで進めたい)が続いて驚いた。 話はタビンチからデカルトに行き、ハッセルからハイデッガーに行ったが、ダマシオはどうなのだろう。 かなりの部分を哲学的な考察にかけたので会場はちょっと戸惑っていたが、僕にはジャストの展開だった。 モーリス・メルロポンティは知覚を身体の特性とした。 野球のバッターの写真を見て男性と女性では視線の行き方が違った。 知覚はembodiedである。 目をつぶって両手の人差し指を合わせられるか、両手に鉛筆を持ってその先端を合わせられるか。 Martin Buberは2種類の「私」(I-You, I-It)を定義した。 「ミラーニューロン」は他人が動いた(感情)ことを知覚させる。 「Limbic resonance」は母子の愛情としてSocial baseline theoryである。 結論じみた部分はササーッと通り過ぎた(^_^;)。 身体はアナログなのでプロトタイプ必須である。 人工的な尻尾を作って人間に装着する、人工的な耳のついた帽子をかぶって指先の動きで動かす。 身体の拡張テクノロジー。

最後は不思議な尻尾と帽子を装着したデモで好評のうちに終わった、密度の高い1時間であった(^_^)。 上は断片的だが、あれこれ考えながらプレゼンの写真を撮りながらのメモである。 結局、リハビリ関係は1枚ぐらいの写真しかなかったが、まぁ十分だ。 質疑応答の時間に、ダマシオはデカルトのモデルを否定しているがどうか?、と聞いたが、どうやらDag Svanæs氏はあまりダマシオはチェックしていないらしく、僕の質問も拙いためにあまり噛み合わなかった(^_^;)。 ただし彼の理論にある3種類の人間のモデルからほぼ同様の考え方は構築できそうなので、これは今後の宿題となった。

Session 4: Entertainment Technology (29.9., 10:30-12:30)

	Avatar Density Based Client Assignment
		Lutz Behnke, Sven Allers, Qi Wang, Christos Grecos, and Kai von Luck

	A Hybrid Game Contents Streaming Method: Improving Graphic Quality Delivered on Cloud Gaming
		Kar-Long Chan, Kohei Ichikawa, Yasuhiro Watashiba, Uthayopas Putchong, and Hajimu Iida

	Anyboard: a Platform for Hybrid Board Games
		Simone Mora, Tomas Fagerbekk, Matthias Monnier, Emil Schroeder, and Monica Divitini

	The Concept of Pervasive Virtuality and its Application in Digital Entertainment Systems
		Luis Valente, Bruno Feijo, Alexandre Ribeiro, and Esteban Clua
そしてコーヒブレークを挟んで、いかにもICECっぽい「Entertainment Technology」のセッションである。 基調講演がガツンとヘビーだった(^_^)余韻を会場に残しつつ始まった。
1件目の「Avatar Density Based Client Assignment」は、多数のアバター(10万人以上)を配置したオンラインゲームの話らしいが、オンラインゲームを知らない僕は内職時間ゲットとなった。 アバターのモデルの数式とか多数のサーバ運用とか、オンラインゲームって大変みたいだ。
2件目の「A Hybrid Game Contents Streaming Method: Improving Graphic Quality Delivered on Cloud Gaming」も同様にオンラインゲームに関して、動画の品質を確保するための技術のようで、詳細は不明だった。 奈良線短大の韓国人研究者のようだったが、英語ペラペラだった。
3件目の「Anyboard: a Platform for Hybrid Board Games」はタイトルそのものだった。 人生ゲームみたないなボードゲームと違って、一緒にやっていても画面しか見ないゲームはつまらなそうである。 ボードゲームのテイストを実現するためにハードウェアを試作しているようだが、僕からすれば、そういうモノを作っている、という行為そのものが最高に楽しいゲームなので、「それでゲームをする」という気にならないのだ。(^_^;)
4件目の「The Concept of Pervasive Virtuality and its Application in Digital Entertainment Systems」は、ここにきて初めてプレゼンター(ブラジル)のパソコンを繋いでもプロジェクタから何もでてこないために、珍しいことだが10分間以上も会場は待たされた。 ゲームの中でゲームをする?というリアリティというのは何なのか、ゲームをしない僕にはピンと来なかった。 これまでの発表で一番、なんだかよく分からなかった(^_^;)。 もう20年前になるが、前林さんの作品のサポートで手伝った作品「Audible Distance」みたいだなぁ・・・と検索してみると、ちゃんと ここに 記録が残っていて、僕の名前もクレジットされていた。(^_^)

このセッションは内職しつつスクリーンを撮るぐらい、ということで、忘れないうちに今回の欧露ツアーに持参した「クスリ」を整理してみた。 これは出発の8/27から、今朝も、帰国の10/2まで、ルーティンとして毎日、飲み続けることで、なんとか体調を維持してきたと自分では思い込んでいるものだ。 持病の対策として医者に処方してもらっている薬(緑内障の目薬、高脂血症のクレストール、アトピーの薬2種、ハムスター喘息のステロイド吸入など)は別にして、町の薬屋で仕入れてきたサプリメント類が上の6種である。
「大麦若葉青汁」と「エビオス錠」は、1106研究室に常備していて、朝に研究室に出ると必ず飲んでいる(その後にドリップコーヒー)もので、数年前にこれを飲み始めてからというもの、腸の調子が快調になったと思い込んでいる。 海外出張に出ると、便秘も下痢も心配になるのだが、今回は今日まで34日間、すこぶる「快腸」なのはこれらのお陰だと信じている。 ちなみにエビオス錠はロシア(モスクワ)あたりで飲み切ってしまったが、青汁はちょうど明後日まで残っている。
「マルチビタミン」と「ウコン」は、この小林製薬のものは国内出張持参用のもので、普段は別のものを自宅で毎朝、飲んでいる。 出張中の体力低下→風邪、というのを避けるために毎日のマルチビタミン、そして美味しくアルコールをいただくためのウコン(沖縄の人はいつもウコン茶を飲んで泡盛を楽しんでいる)、というのは、なんといっても毎日必須のルーティンである。
「アミノバイタル」は普段は無縁で、高校の同窓会の「歩く会」に参加する時ぐらいしか飲まないが、今回は気合いのために購入してみた。 30個だったのでもうユトレヒトあたりで無くなってしまったが、スーツケースを運ぶ日などに飲んでいたので、効いていたと信じている。 そして「QPコーワゴールド」は今回、初めての体験であるが、これは30個入りを2個買って、ときには気合いのために2錠飲んだりしていて、なんとか帰国まで残りそうだ。 要するに「効くと信じて飲んでいる」ので、これら6種のサプリメントによって、毎日快食快飲快眠快便、元気に過ごしてきたというわけである。(^_^)

Session 5: Digital Games and Interactive Entertainment (29.9., 13:30-15:15)

	Designing Shared Virtual Reality Gaming Experiences in Local Multi-Platform Games
		Stefan Liszio and Maic Masuch

	Identifying Onboarding Heuristics for Free-to-Play Mobile Games: A Mixed Methods Approach
		Line E. Thomsen, Falko W. Petersen, Anders Drachen, and Pejman Mirza-Babaei

	A Revisit of the Measurements on Engagement in Videogames: A New Scale Development
		Amir Zaib Abbasi, Ding Hooi Ting, and Helmut Hlavacs

	Geometric Representations for Subjective Time in Digital Narratives
		Nikitas M. Sgouros

	Solving the Sophistication-Population Paradox of Game Refinement Theory
		ShuoXiong, Parth Pankaj Tiwary, and Hiroyuki Iida

	3D Visualisation of Cultural Photographic Collections - Development of the PAV 3D (Photographic Archive Visualisation) Application
		Artur Lugmayr
この2日目の午後には、まず上のように2時間のpaperセッションがあり、その後はポスターセッションで、あとは時間をおいてバンケットなので、実質的にはこのセッションが最後の集中ということになる。 ショート発表6本のこのセッションのタイトルは「Digital Games and Interactive Entertainment」であり、まぁICECの王道ということだと身構えたが、始まってみると見事に「ごった煮」セッションだった。
1件目の「Designing Shared Virtual Reality Gaming Experiences in Local Multi-Platform Games」は、ローカルに複数のプレイヤーが接続されて、さらにネット越しにオンラインゲームとなるようなVRシステムの提案だった。 いまどき、スタンドアロンのゲーム、つまりはスマホやタブレット内に閉じた1人用ゲームアプリなんて、学会で発表するほどのこともないのだろうか。

2件目の「Identifying Onboarding Heuristics for Free-to-Play Mobile Games: A Mixed Methods Approach」は、スマホ等の無料ゲームをしているユーザがハマッてきた状態「onboarding」を経験的に判定して、そこからいよいよ課金に応じてカモとなる部分を分析した、という研究で、ゲーム業界としては重要なのだろう。 実験ではちゃんとゲーム中のGSR(皮膚電気抵抗)の生態情報も計測していたようだが、結論としては「実験に使った3種類のゲームでは、被験者がハマッてきた状態を検出するのは難しかった」というように聞こえた。(^_^;)
3件目の「A Revisit of the Measurements on Engagement in Videogames: A New Scale Development」のあたりで突然に睡魔が襲ってきたが、これは日本時間がいつもの僕の就寝時間(21時過ぎ)だからなのか、発表が滔々と「お話」で面白くないからなのか、微妙である。(^_^;)

4件目の「Geometric Representations for Subjective Time in Digital Narratives」では一気に目が覚めたが、なんと「Two types of time」などという、モロ「時間学会ねた」みたいな入り方をしたからである。 「clock time」(物理的時間)と「Subjective time」(主観的時間)という分類は、時間学会の謎の「E系列の時間」に比べればまったくシンプルなのだ。 この発表は、「ゲームにおけるキャラクタの主観的時間を幾何学的に構成する」という方向に進んだが、例えば気分がgoodとbadとの間にある種の連続関数を定義して、さらに時間軸とともに3次元空間で螺旋のように推移していく・・・というモデルはいいが、その妥当性はどうなっているのか、甚だ心配になった。 ちなみにこの発表は大幅に時間超過して、座長に「主観的時間が問題だ」と突っ込まれていた。

5件目の「Solving the Sophistication-Population Paradox of Game Refinement Theory」は中国人の発表で、何故かニュートンの運動の法則をゲームの難しさとか人気度とかに結びつけたゲームの基礎理論を作っていこう・・・という不思議なものだった。 ゲームの要素を質量とか力とかの物理量に恣意的に割り当てて、方程式としては人類の宝であるニュートンを使う、という「虎の威を借りた解釈」の議論だった。 ニュートンを信奉あるいは心酔しているのは伝わってきたが、チェスと将棋と囲碁の難しさをニュートンの法則で理由づける、というのはいかがなものか。

6件目の「3D Visualisation of Cultural Photographic Collections - Development of the PAV 3D (Photographic Archive Visualisation) Application」は、100年間で蓄積された100万枚以上の文化財と言える写真ライブラリを活用して3Dビジュアライズする、というようなものである。 ここでも冒頭につかみに「ポケモンGO」が出てきたが、今年はポケモンGOから入る発表が本当に多かった。 研究の背景と目的には、ビッグデータの時代、ビジュアライゼーションの研究、エンタテインメント、そして大学にCAVEみたいなシステムがあるので、これを活用するという意味もありそうだ。 おそらくオーストラリア政府の支援があるのだろうが、これをGoogleが無料でやったら吹っ飛ぶかも、と思った。(^_^;)

Session 6: Poster and Demo Madness (29.9., 15:15-15:30)

	Presenters of posters and demos have 1 slide and 1 minute to introduce their work.

Session 7: Posters and Demos (29.9., 16:00-17:30)

	Enrichment of Story Reading with Digital Media
		Pedro Ribeiro, IdoIurgel, Wolfgang Müller, and Christian Ressel
	Vancouver Maneuver: Designing a Cooperative Augmented Reality Board Game
		Alexander Golombek, Michael Lankes, and Jürgen Hagler
	A Revisit of the Measurements on Engagement in Videogames: A New Scale Development
		Amir Abbasi, Ting Hooi and Helmut Hlavacs
	Designing Serious Games for Pro-Social Causes
		Mikel Polzer und Helmut Hlavacs
	Low-level sensor data handling and control system creation or Robot dance fun?
		David Obdrzalek
	Robimo Multicopters
		David Mirk and Andreas Janecek
	Various hands-on projects from Entertainment Computing @ University of Vienna
そして午後のセッションの後で、上のように、「ポスターとデモの発表者が30秒以内でアピールする」という「Madness」セッションに続いて、デモセッションでは「Kinectの深度マップで手袋のモータ群を振動させる」というどこかで見たことありそうなシステムとか、「Kinectとデータグローブと表情認識カメラでライヴにモーションキャプチャして自分の動きを3D人形が真似る」というようなものを実際に体験した。 動画を上げるのは帰国後になるし、写真を こちらのページ に上げるのは、今日の深夜になる。 ・・・と思ったが、動画は1本だけなのでデジカメから取り出してmp4に変換して、頑張って上げてみた。 これ である。 身振りは沖縄のカチューシャーの出来損ないである。(^_^;)(^_^;)

今ここはウイーン大学からホテルに帰ってきたところで、ここから徒歩数分のレストランでのバンケットに出かけるまであと2時間である。 会場では、ATRから関西大の先生になった米澤朋子さんとお話できたが、彼女の明日の発表も振動モーターねたである。 ホテルの部屋にはロシアでデモったVFB10があるのだが、パッキングを開けてまた持参するのも面倒なので、 音情研の発表 をメイルで知らせたので、これで勘弁してもらおう(^_^;)。 12月のバイオフィードバックセミナーでは、来場者にVFB10を体験してもらう、というのが大きな柱なので、ここに来てください、とお知らせした。
そして、ICMC発表まで載せたところて止まっていた このページ に、ロシアでの6件のレクチャー/ワークショップを追記した。 なかなかの成果である(^_^)。 テンションが上がってきたので、ちょっと隣のスーパーにワインを買い出しに行こう。 一昨日に買い込んでいたワインは、ビール2缶とともに、昨夜、一気に1本、飲んでしまっていたのだ。

2016年9月30日(金)

いよいよICEC2016の最終日、長かった僕の欧露ツアー37日間も、ICEC2016の午前のセッションと、あとは明日からの帰途を残すだけになってきた。 午後には、カフェモーツァルトのザッハトルテにだけ行くかどうか迷っているものの、基本的には観光もせずホテルに戻ってMaxプログラミングに精出す予定である。
そして一つ、昨日アップしたサプリメント類で抜けていたものがあった事に気付いた。 下の「葛根湯顆粒」で、これはいつも国内出張でも持参して、疲労とかからちょっとでも体調低下を感じたら飲むことにしている。 ただし今回の欧露ツアーは長丁場ということで、この葛根湯も朝晩の「マルチビタミン」+「ウコン」とともに、一種の強精剤として毎日欠かさず飲んできたのである。 良い子にはお薦めしないが、毎日ユンケルとかのドリンク剤を飲むビジネスマンよりは、漢方の方が効く気がする。

Session 8: Games for Health (30.9., 09:00-10:30)

	A Grammar-based Framework for Rehabilitation Exergames
		Victor Fernandez-Cervantes, Eleni Stroulia, and Benjamin Hunter

	Two Experimental Virtual Paradigms for Stress Research: Developing Avatar-based Approaches for Inter-personal and Evaluative Stressors
		Oswald D. Kothgassner, Helmut Hlavacs, Leon Beutl, Lisa M. Glenk, Rupert Palme, and Anna Felnhofer

	Little Fitness Dragon: A Gamified Activity Tracker
		Isabelle Kniestedt and Marcello A. Gomez Maureira

	Mindtraining: Playful Interaction Techniques for People with Dementia
		Elisabeth Hackner and Michael Lankes
そしてICEC2016の最終日の朝、最初のセッションタイトル「Games for Health」ということで、まさにここだと狙いすまして会場に来たが、昨夜のバンケットの影響か、「国際会議最終日効果」(発表の終わった人が早めに帰る/観光)か、集まりが悪くて「とりあえず10分遅れて始めよう」ということになった(^_^;)。 今夜には こちらのページ にプレゼンを撮った写真を上げるが、あまりに天気がよくて会場の周囲の明るさから、スクリーンがあまりよく読めない可能性が高い。

1件目の「A Grammar-based Framework for Rehabilitation Exergames」はモロに注目していた発表で、さすがバイオ計測の本場、カナダのアルバータ大学である。 タイトルにある「Exergame」という単語はエクササイズゲームの簡略化で、本人に聞いたらこの業界オリジナルの造語だそうだ。 生体センサを活用してバイオフィードバックシステムを構築して、リハビリテーションやメンタルセラピーに活用したい、という僕の目的にとって、「個別にシステムを制作する」というところから、Maxのライブラリなどとして「開発支援環境」という「メタ作品制作」のレベルを目指すのが当面の課題なのだが、タイトルから見る限り、この「Grammar-based Framework」というのも同様のアプローチであると思う。
発表はいきなり「Serious Game」の紹介から始まった。 そして、Kinectでセンシング、身体の関節に注目、そしてエクササイスゲームのコマンド体系をいかに構築するか、という「文法」に注目した研究である、とあっさり判明した。 しかしセンサにKInectなど画像認識系を使う、ということは、ライバルとしてVR系のゲームがあり、さらにWiiFit系のゲームもあり、エクササイズというのはちょっと新規性のアピールには辛い世界であると思う。 やはりここは生体センサを使って、もっと密接なバイオフィードバックを追求していきたい。
最近の新しい「Background Kinect」は、全身の関節(joints)の情報を深度まで含めて出してくれるようだが、この研究は、Kinectから取得したリアルタイム・モーションキャプチャ情報に基づいてリアルタイムに3Dアバターを作成する際に、「取得した人間のどんな動き」を「3D表示するアバターのどんな動き」にマッピングするか、という部分を容易にするための支援環境、として文法ベースのフレームワークを提供する、というものだった。 入り口は大注目だったが、話はどんどん僕の注目する部分から遠ざかっていった。 画面なりスクリーンに表示されたアパターの動きがどのように演出されようと、結局は物理的リアクションもなく視覚情報のみでフィードバックされていて、これでは体験型のエクササイズゲームとしては楽しいかもしれないが、クライアント(患者)の内なる力を引き出すためのバイオフィードバック療法としては使えそうもない、という気がした。
適用例として、身体動作のパターンをシーケンサとして簡単に記述するUnityのアセットを活用して、画面内のライオンの動作を真似て自分の動作が隣のライオンで表示され、両者が似ているとスコアが上がる・・・というものがあった。 ただし重要なのは、それが「太極拳」(Tai-Ci)である、というところで、つまりはシステムのレイテンシから、例えばジャズダンスとかDDRとかビリーズブートキャンプ(古い(^_^;))などの素早い動きは無理なのだ。 システムの遅さが原因で、ほとんどのエクサゲームが太極拳になっているとしたら、これは世界的な問題である。
結局、最後まで発表を聞いてみると、Kinectの情報取得ライブラリ、ファジイ解析ライブラリ、Unityのあれこれ便利なアセット、などを継ぎ接ぎした研究であって、視点として「Grammar-based Framework」と言ってはみたものの、あまり斬新なオリジナリティは感じられなくて、ちょっと残念だった。(^_^;)

2件目の「Two Experimental Virtual Paradigms for Stress Research: Developing Avatar-based Approaches for Inter-personal and Evaluative Stressors」はメンタルヘルスのテーマで、ストレスを低下させるセラピーシステムに必須の、「この人は今どのくらいのストレスなのか」をきちんと定量化するための研究である。 VR環境でストレスを計測する、というのは、VRを使われることでストレスがある人にはどうするのかな。 社会的ストレスには2種類あり、「社会的評価」(プレゼン時などに周囲から受ける)・「個人的内観」(自分で追い込み落ち込む)であるという。 ストレスを計測するためには「心拍が増加する」・「血圧が上がる」・「ホルモンが変化」などがある。
個人的内観ストレスを解消する「サイバーボール・パラダイム」とは、自分の意識内(脳内)に複数の人格を登場させて、特定の人格が追い込まれている時にはそれ(ストレス)を他の人格に投げさってしまう、というものらしい。 これは生体センサ情報を可視化・可聴化・可触化することで、バイオフィードバックのメンタルヘルスにも使えるかもしれない。 ・・・と思ったら、VRを使って「VR Cyberball」というシステム(ゲーム)が2014年に発表されていた。 VRシステムを使って、美しい庭園の中を歩き回ることができるシステムをデモっていたが、これでストレス解消されるのかどうか、甚だ疑問だった。 僕だったら映像酔いで、逆にストレスmaxになりそうである。

3件目の「Little Fitness Dragon: A Gamified Activity Tracker」は、コロンビアのゲーム会社のデザイナーである女性が、スマホアプリとして作った健康増進アプリを紹介する、というものだった。 「たまごっちがfitness trackerと出会い、さらにポケモンGOと出会った」というストーリーらしく、またまたポケモンGOである。 ゲームはスマホとスマートウォッチ(たまごっちとして使う)によって、まず卵からドラゴンの赤ちゃんが生まれて、あとはGPSを使ってポケモンGOのように歩き回るとドラゴンに餌を与えることができる、というご褒美によって、その人はきちんと歩くことでドラゴンを成長される、というものらしい。
ポケモンGOの前身であるingressが登場して、おそらく世界中のゲーム会社がこのツール(GPS、Googleマップ)をそれぞれの人の「Activity Tracker」をいかに活用したゲームを実現するか・・・とやってきたと思うが、これもその一例だろう。 しかし世界中の試みはポケモンGOの前には全て敗退するのだろうか。

4件目の「Mindtraining: Playful Interaction Techniques for People with Dementia」は、タイトルからするとオウム真理教とかが喜びそうなものだが、オウムはロシアでも正式に邪教認定されたので、これはどの宗教団体が使うのだろうか。 ・・・と思ったら、対象の患者はDementia(痴呆)だった。 つまりこの研究は、認知症患者の脳機能回復、あるいは痴呆進行防止、というマインドトレーニングだった。 これまでに分かっている事例として、認知症患者に対する療法として、「昔のアルバムを見る」・「昔のことを語る」・「なつかしい音楽を聞く」・「いろいろな写真をよく見る」などの手法がある。
この研究では、タブレットのアプリとして、上記のような手法をマルチメディア環境として実装して、実際に75歳〜90歳の被験者(というか患者)に対して実験したという。 高齢者はタブレットのタッチ操作にも難儀したし、デイケアの合間だとか、色々な苦労もあったらしい。 このあたり、バイオフィードバックのシステムをフィールドテストするとなると、同様に大変なのかもしれない。

Session 9: Experience Factors (30.9., 11:00-12:00)

	Proposing a New Conceptual Model Predicting Consumer Videogame Engagement Triggered Through Playful Consumption Experiences
		Amir ZaibAbbasi, Ding Hooi Ting, and Helmut Hlavacs

	Accelerating the Physical Experience of Immersive and Penetrating Music Using Vibration-motor Array in a Wearable Belt Set
		Tomoko Yonezawa, Shota Yanagi, Naoto Yoshida, and Yuki Ishikawa
そして最後のセッションである。 1件目の「Proposing a New Conceptual Model Predicting Consumer Videogame Engagement Triggered Through Playful Consumption Experiences」は、ビデオゲームに関する過去の考察をサーベイして、ゲームのもっとも本質は何か、を検討して、新しいゲームのためのコンセプトモデルを提案する・・・という、かなり壮大な(大風呂敷な)ものである。
・・・ところが図がまったくなくて文字ばかりのプレゼンが続いて延々とお話している発表を追いかけてみると、過去に検討された議論をしっかりなぞっているのは良いとしても、なんか「議論のための議論」みたいな感じで、僕の英語力ではどこが画期的に新しい提案なのかがわからないのだった。 膨大な過去の研究の引用によって、サーベイ不足のツッコミは受けないものの、どこが新しく改良・提案されているのか、同じようなキーワード(Engagement)を繰り返すばかりでわからない。 さらに、あるキーワードに関してまたReviewのシートが続いて、もはや「プレゼン迷路」である。 逆にプレゼンシートの順番を入れ替えることで、こういう風に煙に巻くことが出来るのかも・・・というヒントを得た。
新しいシートのサブタイトルが「The Development...」となったので、ようやくここから提案か、と思ったら、これも過去の研究のサーベイだった。 もはやこのプレゼンは、過酷な「解釈ゲーム」と言えるかもしれない。 最後付近のシートでは、複数のキーワードを組み合わせた膨大なセンテンスを一気に語り上げて、その様子は完全に「読経」であった。 これには参った。

そして大トリとなった2件目の「Accelerating the Physical Experience of Immersive and Penetrating Music Using Vibration-motor Array in a Wearable Belt Set」は、関西大の米澤さんの発表である。 しっかり準備していて、英語も流暢で流石であった。 研究とては、振動モータを仕込んだチョッキみたいなのを着て、音楽聴取に同期して振動を与えて臨場感を高めよう、というようなものだった。 僕のVFB10も紹介したので、さっそく秋月電子にリニア振動モータを注文するらしいが、この研究のようにArduinoを使っているのでは、僕のPropellerのような細やかな制御は出来ない。
システムは音楽ソースをFFTでたった2バンドに分けて、回転タイプの振動モータアレイをドライブする、というものだった。 「売り」としては、身体の前後のモータの振動タイミングに時差をつけることで、弾丸が身体を貫くような錯覚を目指したらしい。 25人の学生を被験者とした実験を行って評価をきちんと行っているのは、さすがである。 実験の結果として、振動は音楽の印象向上に寄与した、また200msecぐらいの時差で前後を貫くのがもっとも好評だったらしい。 Arduinoなので時差の設定が100msec刻みだし、回転モータだときちんとON/OFFできないので、やはりここはPropellerでリニア振動モータを駆動して欲しいものだ。

・・・そして質疑応答もきちんと乗り越えて、無事に米澤さんの発表が終わって、ICEC2016の全てのセッションが終了した。 最後は国際会議でよくあるエンディングで、「会議全体の総括」・「写真と論文は後日onlineになる」・「ベストpaper表彰」というものだった。 そして最後になんと、「来年のICECは日本です」とアナウンスされた。 海外での他の国際会議と日程的にかぶると困るのだが、ぶつからなれば旅費が国内出張で国際会議発表というオイシイ展開となるので、これは来年も頑張らないといけないぞ。

そして結局、上のようにOperaに行って、いつものカフェ・モーツァルトのザッハトルテと赤ワインのランチをいただき(*^_^*)、あとはホテルに戻ってお仕事となった。 ただし、ガイダンスの終わったデザイン学科のあれこれ連絡とか、OMMF参加希望連絡とか、あれこれメイルが舞い込んで対応に追われたので、Maxプログラミングに没頭、という感じにはならなかった。 明日は夕方のフライトなので、ホテルをチェクッアウトして、ウイーン空港のラウンジでお仕事する予定なので、ここに持ち越しである。

2016年10月1日(土)

帰国日である。 このところ毎日、きっちり朝5時に目覚めて、完全に時差7時間が消えて、こちらの朝日に同期した生活になっている。 普段の海外出張は1週間とか10日程度なので、現地で時差ぼけを克服して慣れたようでも、身体の深部、芯のあたりには日本時間の体内時計が残っていて(だからどことなくフラフラする)、日本に帰国するとこれが出てくることでけっこう簡単に時差ぼけを解消した。 ただし今回はおそらく身体の芯まで欧州時間になっているので、帰国してからの時差ぼけは相当に続くだろう、と覚悟している。

上のように、ウイーンの天気は今日も良好、結局、折り畳み傘は一度も開くことなく36日を過ごした。 ただし、初めて見てみた浜松の天気、そして今週の予報を見ると、まずは曇りか雨、そして高い気温、当然ながら高い湿度、にダメージを受けることは確実だ(^_^;)。 欧州のこの低湿度の快適さだけは、また来年以降にも国際会議はなるべく欧州へ・・・という最大の原動力である。
昨日の午前中でICEC2016が終わり、昨日の午後から今日の午後まで、完全に24時間以上、ウイーンで暇つぶしするとになったが、これはICECから今年のスケジュールが3日目の午前までだよ、と詳しい連絡が届いたのは、既に僕が欧露ツアーに出発した後の9月だったので仕方ない。 開催案内ではICEC開催期間は「9/28〜9/30」とだけ書いてあったので、既に4月14日に予約・購入したANAのフライトチケットでは、帰国日はICECの翌日「10/1の夕方にウイーン→ブリュッセル」と確定していたから、もう今日はウイーンで暇つぶし(ウイーン空港のラウンジでお仕事)しかないのである。

・・・そして午前11時、既にバゲッジを預けてセキュリティチェックも通過したので身軽になって、搭乗までちょうど6時間というここは、ウイーン空港のラウンジである。 フライトチケットがエコノミーであり、日本国内の空港ラウンジに無料で入れるNICOSゴールドカードもここではアウェー(オーストリア国内のゴールドカードのみ有効)ということで、29.5ユーロでの入場であるが、飲み食い全てフリー、さらにこの部屋は「ビジネスルーム」ということで快適な事務机と椅子が完備していて、これならカフェを転々とするより楽にお仕事できる。 日本は土曜の夕方18時ということで余計なメイルも届かず、このまま明日の帰国まで、SUAC関係のお仕事メイルは来ないだろう。 こちらのページ に今日から明日までの写真を上げるのも帰国後、10/3に研究室から、ということになる。

そして約2時間半かけて、これまで少しずつ作ってきたMaxパッチを上のようにしてみた。 ホテルの部屋とかではMacBookAirの内蔵スピーカでもけっこう大きな音がするので、バランスが悪いまま進めてきたが、ここはラウンジのさらにbusiness roomということでイアホンを付けたので、ようやく細かなdurationとか音量バランスが聞こえてきて、シンプルではあるものの、まるで来年の「サウンドデザイン」の教材に使えるような、なかなかスマートな「ドラムス」・「コード(EP)」・「ベース」のコンビネーションを、「8beat」・「16beat」・「shuffle」・「ballad」の4パターンに対して作ることができた。 コード進行は152種類の4ブロック進行パターンから、「循環コード系」に20倍の出現確率の重み付けをしてランダム選択する、リアルタイム自動作曲システムの基礎部分である。

そして、搭乗ゲートに早めに向かうまであと2時間ほどとなったので、ここでビールとワインに切り替えて、まだ夏休みに準備していなかった、この後期の講義ページを作ることにした。 幸いにも「メディア数理造形演習」(旧「サウンドデザイン演習」)は金曜日の4-5限なので、まずまず時間はあるのだ。 新しくデザイン学科となった新カリに合わせて科目名称を変更してみたものの、実質的には「サウンドデザイン演習」を継承して、3回生前期「音楽情報科学」に繋がる、という組み立ては変わらない。 ただし、メディア造形学科の学生(先輩)が実験台になってくれて色々と試したことを生かすので、グループごとに課題作品の実験と制作を目指す、という方針で行くつもりである。

・・・その結果、1時間もしないでビールとワインとフランスパン(おつまみ)で仕上がったのが このページ である。 どこかで見たことがある気がするのは甘受して、まぁこのぐらいでスタートすれば、あとは集まった学生の進み方に合わせて路線修正していけるだろう。 その後は、ラウンジを出てショップゾーンに行ってしまえば同じワインが有料になるので、欧州最後の美味しいワインをちびちび楽しみつつ、ラウンジでまったりする事にした。 これまでずっと、安ホテルの居心地の悪い椅子と机だったのに対して、ここの環境は一番、寛げるのだ。(^_^)

・・・そして上からおよそ3時間後、ここはウイーンからブリュッセルへのオーストリア航空の機内である。 普通は機内ではiPadで「数独」をするぐらいでMacBookAirをわざわざ開けることは無いのだが、機内サービスの赤ワインとともにテンションが猛烈に上がって、忘れないうちに書いておこう、と思い立ったのだ。 それは何かと言うと、「J-POPは良い」(*^o^*)(*^o^*)という事である。
僕は普段は、国内出張の時などの電車旅の際に、2台持っているiPod shuffleで、カラオケのレパでもあるJ-POPと、懐かしいプログレなどをいつも聞いている。 しかし海外出張の場合には、長距離フライトでは耳栓をしているし、現地ではなるべく英語に慣れるために、まず日本語の歌詞の音楽、というかiPodをそもそも、聞かない。 今回も、8/27の出発日に浜松からセントレアまでのe-Wingの車内でiPodを聞いたのが最後で、36日間の欧露ツアー中は、一度もスーツケースの奥底からiPodを出した事はなく、昨夜ようやく取り出して充電したところである。 さらに今回は安宿ばかりでホテルの部屋のテレビにBBCなど英語ニュース放送がまったく入らなかったので、ライヴでサッカーの試合がある時以外は、テレビもまったく消したままだった。

そしてウイーン空港のラウンジでもお仕事モードでiPodを聞くのを忘れていて、ブリュッセルまでの搭乗ゲートにちょっと早めに(30分前ほど)着いたので、ここで36日ぶりにiPodを、つまりいつもカラオケで愛唱している曲その他と、ものすごく久しぶりに再会したのだ。 ・・・そしてこれが、沁みて沁みて、感涙モノなのだった。 いつもは機内では聞かないのに、搭乗しても引き続き聞いているのはまったくの例外であるが、いやいや、沁みる沁みるこれが(^_^)。
ICEC2016では米澤さんなど日本人の何人かと日本語で会話したが、それまでほとんど日本語(の音声)から隔離されていたこともあり、聞き慣れたJ-POPであり音楽はお馴染みなのに、その「歌」「歌詞」の日本語がとても新鮮で、いやいや染み渡るのである。 ・・・日本語は最高だぁ(^_^)。 ということで、火曜日のアカペラとか水曜日のゼミの時に、次の週末(翌週からは予定満載だがここだけたまたま空いている)のマラソンカラオケの少数精鋭メンバーを熱烈募集するぞ、と固く固く心に誓った。

2016年10月2日(日)

・・・そしてここはブリュッセルから成田まで11時間のフライトのうち6時間を経過して残り5時間となった、ウランバートルの北の上空11900mの機内である。 欧州時間で朝3時半、日本時間で10時半ということで、欧州で毎朝5時起きしていたより少しだけ早い目覚めなので、ここからは無理して起き続けていれば日本の晩にもなんとか寝れるかも、という塩梅だ。
目覚めた瞬間、意識がしっかりしてくるまでの1-2分間に自分の身体の内受容感覚に聞き耳を立てる、という無意識の所作もだいぶ板に付いてきた。 そこから次第に脚や首周りのストレッチをして、CAさんのところに行って冷たいオレンジジュースをもらって飲んで、次にブラックコーヒーを頼んで新しく淹れてもらったのを飲んで・・・といういつものルーティンを済ませると、どこからか身体に英気が湧いてきて、いつものように頭が冴えてきた。(^_^)


ブリュッセル「小便小僧」もどき

思えば約3年前から話は始まるが、SUAC教員が10年に一度、行使することが出来る海外研修(学外研修)制度の「2度目」(1回目は2004年のパリ滞在58日間[うち1週間のAmsterdamのSTEIM滞在→1週間のLinzのArs Electronica視察])というのは、おそらく僕が初めてになる。 本年度から制度が変わって、行き来の渡航費しか出なくなった(ただし講義期間中でも代替措置で行けるようになった)ので、このスタイルで2度、というのは空前にして絶後ということなのかもしれない。


ボルドーでいただくボルドーワイン

2004年から10年が経過した2014年に再び、と企画して申請したものの、その時はデザイン学部長の海野先生も申請していて、その時に発覚したのが「教員1人分しか予算が無い」という驚くべき事実で(^_^;)、僕は採択されなかった。 あらかじめ各地に打診して予定していた計画をいちいち謝りつつキャンセルしたダメージは大きく、とても翌年のリベンジは出来なかったので翌々年となったのだが、翌2015年などは応募する教員がゼロで予算は使われなかったのである。 今回のリベンジに関しては、定年退官された海野先生も置き土産に支援してくれたし、制度の不備を相談した高田副学長も真摯に取り上げて支援してくれた。 せっかくの支援制度なので、もっと教員は利用したらいいと思うのだが、なかなか実績は上がっていないらしい。 勿体無い話だ。


世界遺産「サンテミリオン」

前回は基本的にパリに滞在しつつ、複数の研究機関で滞在研究しつつ、レクチャーとパフォーマンスの企画を提案して3回の講演/4回の公演を行ってきたが、今回はまず、ロシアのDenisのところに行く、という企画と、2年前のtemporaリベンジ参加、という2つの柱から構想がスタートした。
当初はここにArs Electronicaを挟んで、tempora→Ars→ロシア、という感じだったが、そこで調べてみると、ちょうどArsの後の時期にUtrechtでICMC2016が開催される、さらに詳細不明なもののArsとほぼ同時期にVS-Gamesが開催される(その時点ではArsの正式な期日は未発表)、ということで頑張ってこれらにも論文応募したのである。 7月にはオーストラリア・ブリズベンでのIME2016にも応募して採択されて行ったが、同じ年にNIMEとICMCの両方で発表、というのは初めてとなった。


サグラダ・ファミリア

そしてVS-Gamesがちょうど研究テーマに重なるシリアスゲームの国際会議であることを知ってそちらに重点が移り(Arsは毎年必ずリンツであるのでいつでも行ける)、ロシアの最後あたりに今年のICEC2016はウイーンで開催される、と知って慌てて1日で論文を書いて応募した・・・というような経緯となった。
たまたま欧州でお馴染み(過去15回ほど参加)のICMCがある、と繋がったし、去年あたりの研究の成果としてVS-GamesもICMCも最終的に論文が採択されて、「単なる国際会議の聴講参加の連続」という視察出張から大規模となった。 ICEC2016は不採択だったが、参加してみると、もう少し時間があってきちんと書いたら通ると判明したので、来年の日本開催にはリベンジしてみたい。


ユトレヒトのボートクルーズ

ロシアについては、2010年のツアー(国際コンテストの審査員/レクチャー3回/新作初演)の思い出のYekaterinburgを再訪して、デザインを学ぶ学生を対象とした計3回のレクチャー/ワークショップ、さらに一般向けにモスクワの2回を含む計3回の講演を行いつつ、メディアアートの先端を追求するDenisとIgorとの議論・情報交換を行うことが出来た。 たまたまモスクワでの「VR展示会」に参加できたのも思わぬ収穫である。 そしてなにより、シベリア横断鉄道の寝台列車での25時間の旅、というのは、ちょっとこういう長期出張でないと企画できないので、隠れた大ヒットとなった。 費用的にはフライトとあまり変わらないが、さすがに数日間の出張の中に25時間の移動は計画しにくい。


エカテリンブルクのホワイトタワー

旅程がおよそ確定したところでANAの欧州往復(行きはボルドーまで、帰りはウイーンから)フライトを予約購入、そして全ての滞在都市のホテルをBooking.comで予約し、移動のフライトと鉄道を予約購入して、無理のない時間帯に移動(HISとかに頼むと早朝4時出発とか凄いことになって懲りたので)、空港/ターミナル/会議開催施設からのアクセスが良くて安い宿を確保した。 ホテルでは37日間、一度も日本人とすれ違うことも無かったが、つまり日本の旅行社が斡旋するような高級ホテルではないという事である(^_^;)。


シベリア横断鉄道の車内

過去にリンツのホテルでMacBookAirが死亡し(帰国後に復活)、ブルガリアでの残り1週間のためにウイーンのApple Storeで購入したiPad miniは今回もかなり活躍した。 特に、ブリズベンで重宝した経験から欧州全域(含ロシア)対応のモバイルWiFiルータを持参したので、初めての場所に行くのに、これまでの「Googleマップのプリントアウト」でなく、GPSとMapsアプリ/GoogleMapを走らせて自分の現在位置を地図に表示させて移動する、という手は活用できた。
そして、万一に備えてもう1台のMacBookAir3も持参していたが、これは一度も活躍することなく、常に空港のセキュリティチェックで似たノートパソコンを2台(+iPad)並べる、という儀式にのみ参加した。 いちいち重かったものの、この「スペアを持っている」という事実はかなりの安心感となったので、今後の長期出張でも考えていきたいと思う。 「2台のMacBookAirをLAN接続して同時に使う作品」のための機材(USB-LANアダプタ2個、リバースアダプタ、巻き取りLANケーブル)も一度も使わなかったが、これは次の機会に挑戦してみたい。 12月のOMMF2016というのも視野に入れてみよう。


モスクワ・クレムリン

・・・そして上のように、機内で文字だけ打っていたところに、 こちらのページ の写真から適当にアトランダムに選んだものを入れ込んでいると、もうノボシビルスク付近、成田まであと2時間半となった。 新品のMacBookAir4のバッテリは、37日間フルに活用して使いっぱなしだったものの、まだまだ余裕の残量であるが、このあたりで今日のところはオシマイにしよう。 日曜の晩遅くに帰宅して、もう月曜からは新学期ばりばりスタートである。(^_^;)

2016年10月6日(木)

帰国して4日目、まだまだ午後3時〜5時の時間帯に強烈に眠くなるのは、身体の奥底まで欧州時間になってしまった身体時計の証である。 幸いに後期は月・火に講義がないので助かったが、帰国翌日の月曜日は溜まったメイルの整理、出張報告/復命書と提出書類(搭乗券/列車チケット/タクシー領収書など)の整理でほぼ終わった。 ただし、SUAC広報誌の背表紙を飾った 竹田悠子さんの活躍 だけは研究室Webに加えた。 昨日の晩から我が家はカレーで(^o^)、晩カレー→朝カレー→昼カレー→今晩もカレー→残っていれば明日もカレー、胃腸は完全に日本に戻った。

火曜日は早くも学生アポの応対と、照岡さんが完成させた新筋電センサ基板「VPP-SUAC」の見積もり依頼を「P板.com」に出した。 さらに、 Sabbatical2016 のページのHTMLソースをササッと編集して、 写真1万枚を一気に見るページ(ほぼブラクラ) を置いた。 まさにブラクラ、環境によってはPCが落ちるので要注意である。 そして放課後のアカペラで終わったが、懸案の「リハビリカラオケ」の企画が、今週末(連休)の土曜日と月曜日に立ったので、僕は計18時間のマラソンカラオケで復帰する、という目標が出来たのは大きい。

昨日水曜日の午前から後期ゼミがスタートし、まずは前澤さんの内定によって4回生全員の進路が決まったのを このように 祝った。 碧風祭の晩あたりに、ゼミ祝賀会でも企画してみよう。 この日は午後にも院生・杉浦さんのアポ(修論作戦会議)があった。 「MyoとMax」という王道でのバイオフィードバックねたであり、ある意味では僕と完全にかぶっている。 さらに1ヶ月以上の不在から、通院している主治医巡りが始まり、この日は午後に内科医に行って薬をもらって、その後は床屋に行ってスッキリしてきた。

そして今日は、まず1限の冒頭に、新科目である「インタラクティブプロダクト演習」の初回に出て顔見せした。 実際の担当は数週間後からである。 その後、耳鼻科に行って鼓膜アトピー治療とハムスターアレルギー喘息の薬をもらい、カーマに行ってハムスターの餌をあれこれ仕入れた。 ぼちぼち寿命が近づいてきて食が細くなるので、何でもいいから食べたい/食べられるものを並べる、という贅沢期間に突入するのだ。 そしてこれから夕方には、学生アポの予定がある。

明日の金曜日には午前と午後にそれぞれ学生アポを受けて4-5限にはいよいよ新科目「メディア数理造形演習」、そして放課後にも学生アポがある。 土曜日は出張直前に網膜のレーザー治療をした眼科に行って経過観察、ここで散瞳するのでクルマに乗れないのでバスで街に出かけてリハビリカラオケマラソン9時間に突入するのである。 まだ、録画してきた動画のYouTubeアップロードが残っているし、さらに裏では色々と進めているが、無事に帰国ランディングである。

2016年10月11日(火)

もう10月も2週目、時間の流れが早い早い。 今日は午後にゼミの馬ブンさんのアポが入っているだけで、あとは放課後のアカペラである。 週末に2日、9時間×2回のリハビリマラソンで無事にカラオケも復帰したが、先週は このように 欧露ツアーの動画を全てYouTubeに上げて、とりあえず「まとめページ」として完成した。
また、出張前に初代・葉から芽クンが強風に折れて絶命したので、 このように 2代目を1106に迎えた。 研究室の電灯ではやや不足するので、光量増量計画も進めている。

そして今日は2時間ほどで、上のような簡単なMaxパッチを作ってみた。 たまたま夜中に着想したアイデアをそのまま組んだだけであるが、これが意外にハマる。 今週金曜日の「メディア数理造形演習」で学生に紹介する予定だが、 これ がそのzipである。 これはBFシリアスゲームの「種」として、ちょっと暖めていく予定である。

2016年10月12日(水)

今日の2限のゼミでは、碧風祭の1日目に「出会いの広場」で「ゼミ就活祝勝会」を開催することを決めた。 さらに このように 謎の「頭部」が1106に登場した。 これはSUAC開学から購入している高額な機材「バイノーラル録音マイク」であるが、まだ過去のMAFコンサート会場に「見せる」だけのために立てた(^_^;)ことがあるだけで、実際に使うのは17年目にして初めてとなる。

そして午後には遂に、学内手続きが完了したとの連絡を受けて、照岡さんと開発してきた新筋電センサ基板「VPP-SUAC1」を「P板.com」に発注する、というボタンをクリックした。 これで今月末には最初の試作基板が届いて、いよいよ11月は「NucleoF401RE/Maxプログラミング」月間となりそうである。

2016年10月26日(水)

上の日記から2週間が経過した。 ゼミ4回生の3人の卒制企画書は無事にOKが出た。 石井さんは手描き100ページの漫画に挑戦、馬ブンさんはleap motionに挑戦である。 前澤さんの作品のために、1106研究室には「デジタルフォトフレーム」が新たに12個も届いているし、さらに このような 僕の持っているApple製品も総出演する予定なのだ。

今年のゼミ3回生、たった1人となったうららは、 このように これまでSUAC開学の2000年以来、70万円で購入していたのに誰も使っていなかったノイマンのダミーヘッドマイクを17年目にして遂に活用する企画を考えてきた。 このマイクは現在では100万円するらしい。 今日の2-3限のメディア造形総合演習I企画審査学科会議でOKをもらったら、いよいよ「新しいバイノーラルの可能性」を探求するのだ。

一昨日は、卒制に向う4回生の三宅さんのアポを受けて、夏休みから相談していたプロジェクトが本格的に進んだ。 望月ゼミでCADと3Dプリンティングを駆使する彼女は、早くも このように 試作のケースを持参してきた。 オルゴールと回り燈篭のようなメリーゴーランドが合体した作品で、最初から「卒業後はSUACに動態保存して永続展示する」ことを目指している、気合いの入った卒制なのだ。

そこで僕もこの気合いを受けて、昨日の午前中で このように Arduinoと2個のステッピングモータの載った基板を完成さぜて、午後にはArduinoのプログラムの試作版もやっつけてしまった。 まぁ、過去にリュ君の大学院での作品「パラパランプ」と、前澤さんの「うんこ製造機」インスタ作品で手慣れていた秋月電子のステッピングモータと2SD1415のドライバの組み合わせなので、「集中すれば1日仕事」と思っていたが、本当に1日仕事で出来てしまった。

ごくごく簡単にやっつけてしまったので、モータの回転方向を変更したり、ボリュームで変更できる回転速度などの調整は三宅さんの現物が出来てきてから調整だが、以下がArduinoのプログラム、その下が全回路図であり、動作の様子を撮って YouTube に上げて三宅さんに知らせた。

int phase1 = 0;
int phase2 = 0;
int counter1 = 0;
int counter2 = 0;
int speed1 = 500;
int speed2 = 700;
int ad_check = 0;

void setup() {
  for(int i=2; i<10; i++){
    pinMode(i, OUTPUT);
  }
}

void loop() {
  if(++ad_check>1000){
    ad_check = 0;
    speed1 = 1500 - analogRead(A0);
    speed2 = 1500 - analogRead(A1);
  }
  if(++counter1>speed1){
    counter1 = 0;
    phase1 = ++phase1 % 4;
    motor1_drive(phase1);
  }
  if(++counter2>speed2){
    counter2 = 0;
    phase2 = ++phase2 % 4;
    motor2_drive(phase2);
  }
}

void motor1_drive(int n){
  switch (n){
    case 0:
      digitalWrite(2, LOW);
      digitalWrite(4, LOW);
      digitalWrite(3, HIGH);
      digitalWrite(5, HIGH);
      break;
    case 1:
      digitalWrite(2, HIGH);
      digitalWrite(4, LOW);
      digitalWrite(3, LOW);
      digitalWrite(5, HIGH);
      break;
    case 2:
      digitalWrite(2, HIGH);
      digitalWrite(4, HIGH);
      digitalWrite(3, LOW);
      digitalWrite(5, LOW);
      break;
    case 3:
      digitalWrite(2, LOW);
      digitalWrite(4, HIGH);
      digitalWrite(3, HIGH);
      digitalWrite(5, LOW);
      break;
    default:
      break;
  }
}

void motor2_drive(int n){
  switch (n){
    case 0:
      digitalWrite(6, LOW);
      digitalWrite(8, LOW);
      digitalWrite(7, HIGH);
      digitalWrite(9, HIGH);
      break;
    case 1:
      digitalWrite(6, HIGH);
      digitalWrite(8, LOW);
      digitalWrite(7, LOW);
      digitalWrite(9, HIGH);
      break;
    case 2:
      digitalWrite(6, HIGH);
      digitalWrite(8, HIGH);
      digitalWrite(7, LOW);
      digitalWrite(9, LOW);
      break;
    case 3:
      digitalWrite(6, LOW);
      digitalWrite(8, HIGH);
      digitalWrite(7, HIGH);
      digitalWrite(9, LOW);
      break;
    default:
      break;
  }
}

それだけでなくこの2週間には、以下のようないろいろも水面下で進んできたが、ここに詳しく記す余裕もなかったので、とりあえず備忘録としてメモしておく事にしよう。 あれやこれやで充実した時間が過ぎるというのは、その合間にしっかり歌っていることも含めて、いいものなのだ。(^_^)

・・・こうやって書いてみると、本当に帰国してから休む間もなく頑張っている感じがする。 これ以外にも、後期からアカペラに参加した新入生の榎本さんの話とか、碧風祭でのゼミ就活祝勝会とか、どーでもいいが結構盛り上がるかもしれないハロウィンとか、まだまだ話題は尽きないのだが、ここはググッと堪えてMaxプログラミングに戻ることにしよう。

そして2-3限の学科会議の後、臨時に4限に移動したゼミでは、それぞれの制作経過報告に続いて、 このように 前澤さん作品のために仕入れた「デジタルフォトフレーム」開梱大会となった。 多数のショートムービー作品を制作して、駄菓子屋のように雑然としたセットにこれらを置いて一斉に動画再生する、という作戦である。 大部分の装置はMacでエンコードしたmp4動画が再生できたが、一部はWindowsマシンでのエンコードが必要(Divx) であり、それ自体がいい演習となるだろう。

2016年10月29日(土)

東京・西荻窪から徒歩10分、美しいキャンパスの東京女子大の大教室、ここは「基礎心理学会第35回大会」のシンポジウム会場である。 筑波大では日本音楽知覚認知学会秋季研究発表会が開催されているこの週末、その音知学会をパスしてまで、去年の大阪に続いて今年も基礎心理学会に参加することにした。 大会プログラム(4.4MB)は これ であり、さきほどまで1日目のポスターセッションに行ってきた。 以下が注目していた発表であり、なかなか収穫が大きかった。 そして今日のこのシンポジウムのテーマは「ロービジョンからの挑戦」である。 僕自身、両目の視力が著しくアンバランスになっていて、いわばロービジョンになりつつある、という面白い状況なので、これは他人事ではないのだ。

2016年10月30日(日)

再び西荻窪の東京女子大である。 昨日はいつものように、シンポジウムを聞きながらメモを取るつもりでいたが、いやいや4人のトークが超・面白すぎて、まったくパソコンを閉じたまま、スクリーンのプレゼンの写真を撮るのが精一杯だった。 いろいろな点で自分もロービジョンになりつある事もあり、本当に引き込まれてしまった。 そして最後のシンポジウムをパスして新宿に行き、あとはいつものホテルといつもの夕食といつものカラオケバー、という定番をクリアして、今日になったところである。 午前のポスターセッションをザザッと眺めてみたが、昨日と違って強烈にソソラレるもの(時間学関係)がやや少ない中で、上の発表はチェックしておいた。 そして11時過ぎからなんと3時間近く、最後のシンポジウムまで「何もない」というプログラムである(シンポジウムの前に13〜14時に「総会」があるが、非会員の僕には関係ない(^_^;))事が判明して、疲労感に負けて早めに浜松に帰ることにした。 休憩所になっている食堂には電源もなく、お仕事もままならないのだった。 「多感覚知覚研究の最前線」というタイトルはとても興味あるのだが、昨日のシンポジウムの様子ではスピーカがそれぞれトークをしたらそれで時間になってオシマイ、という事のようなので、これは次の「知覚コロキウム」にでも期待することにしよう。

来年の「知覚コロキウム」は上のように、慶応大学で3月末である、と予告された。 また、気付かなかったがポスター会場には「NO PHOTO」と張り紙があったようなので、今回の写真はzipにまとめて ここ に置くだけ、とする事にした。 ただし、「P板.com」からは、新筋電センサ基板が完成したので納品する、というメイルも届いたし、この写真を後で参照する暇があるかどうかは不明である。

2016年10月31日(月)

「P板.com」から、遂に新筋電センサ基板「VPP-SUAC」が届いた。 新しい基板が届いた時のワクワク感は、いつも新鮮である(^_^)。 必要な部品を発注しつつ、照岡さんにも発送手配した。

まずは動作確認とNucleoF401REファームウェア開発であるが、某T○Y○T○システムの試作もあと2週間の勝負となっているので、部品が届くまでの2-3日はそちらに傾注することにした。

2016年11月2日(水)

昨日のOMMF2016プロジェクトでは このように 盛り上がった。 そして2限のゼミで このように 盛り上がったこの日、注文していた部品が届いたので、とりあえず照岡さんに送った2枚を除く手元の3枚の新筋電センサ基板「VPP-SUAC」にそれらの部品を取り付けた。

ただし、動作チェックやNucleoF401REに搭載してのプログラミングは明日以降となる。 明日の木曜日(祝日でも開講日)には、午前に「インタラクティブプロダクト演習」の様子を見学して、夕方には会議があるが、ちょっとだけなら時間が作れるかもしれない。 金曜日には碧風祭のための買い出しに行ったり、あと土日はゼミの就活祝勝会の予定が決まったので、なかなか今週にきちんとチェックできるかどうかは不透明である。

2016年11月4日(金)

新筋電センサ基板「VPP-SUAC」のチェックに着手できないまま週末になろうとしている。 決してサボッていたわけではなく、昨日の11/3(木・祝)の1-2限に、後で2週(+5週サポート)担当することになっている新科目「インタラクティブプロダクト演習」の、非常勤の久世先生の週を覗きに行った。 そこで このページ に従って、Arduinoにタッチセンサ基板をI2Cで繋いで、ホストはPureDataで音を出す・・・というのをやっていたのを知り、急遽、この教材のArduinoとタッチセンサ基板を受け取った。

そしてこの日の午後、夕方の会議までの間に、 このように 基板上にArduinoとタッチセンサ基板と12チャンネルのタッチセンサ電極コネクタと、せっかくなので4つある(2つはI2Cで使用)アナログ入力に4個のスライドボリュームを付けたものを作った。 そして久世先生のArduinoファームウェアで、タッチセンサ電極としてワニグチクリップでドライバを挟むと機能する、というところまで確認した。

そして今日は碧風祭でデザイン1回生が屋台を出すための買い出しにクルマを出すだけの予定ということで、朝イチから このように 作業した。 まずは導電ゴムシートでそこそこ小さくでも このように 動くことを確認して、たまたま手元にあったアクリル板をそのまま使うことにして、ハサミでチョキチョキと適当に切りながら「現物合わせ」の制作を進めて、 このように ちゃんと動く「新楽器」っぽいものが出来た。

午後には以下のようにArduinoのファームウェアを改訂した。 まずホストとの通信を9600bpsから115200bpsに上げてもMax7はOKであると確認して変更した。 次に指数関数的に減少演算している12チャンネル・タッチセンサの情報(Percussiveトリガ)を単なるON/OFFとしてdurationが取れるように変更し、さらに4チャンネルの10ビットA/Dのデータを上下5ビットずつ分割転送することで、A/D変換精度を劣化させずにホストに送るようにした。 プロトコルは以下のように、久世先生の手法を継承して、先頭データ「FF」に続いて8ビットデータを20個送る、というものにした。

データとしては これ である。 タッチセンサ基板のためのメーカ提供ライブラリの領域になるので放置しているが、タッチON/OFFのイベントでのみ検出する方式らしく、たまたまチャタリング等で変化を見落とすと、しばらくはイベントを発しない(居眠り)状態に陥ることがあるのだが、まぁ静電容量式タッチセンサなんてのは元々そんなものなので、発音しなかったら触り直す、というインターフェースでも十分なのかもしれない。

2016年11月9日(水)

先週末は このように 碧風祭2016を楽しみ、特にゼミ4回生の3人とは「就活祝勝会」ということで色々と盛り上がったので、新筋電センサ基板のチェックに着手することが出来なかった。 月曜日は午前いっぱい、眼科に行って緑内障の定期検診(症状の進行ナシ)、そして午後には重要な入試関係業務があって、さらに時間学会からは来年1月の知覚情報研究会について このような プログラムとともに原稿執筆依頼が届いてちょっとだけ進めて、ほぼ1日が潰れてしまった。

昨日の火曜日には、その知覚情報研究会とともに今週末の音楽即興学会での発表準備も兼ねて、 このような ページを完成させる作業に半日かかり、さらにOMMF2016に参加する新入生4人が「作家モード」で参加するための作戦会議などがあった。 学生が議論している横で、過去の作品のために製作したシステムを動かすMaxバッチをその場でサクサクと作って実演して見せた。 そして今日はゼミの日であるが、上のようにアメリカ大統領選挙の開票速報が刻々と届くという状況で、ちょっと浮き足立っている(^_^;)。

するとネットニュースで、上のように「DTMマガジンが休刊」というのが飛び込んできた。 まぁ、打ち込み音楽は昔から好きではなかったが、もっと昔にはこの業界で食べていたので、まさに時代を感じる。 MIDIベースのDTMはGaragrBandとともに終わりに向ってきた、という見立ては間違いではなかった。 ボーカロイドもかつてのブームが去ったようだし、まぁそんなものだろう。 とりあえずAmazonに行って、最終号を鎮魂の意味を込めて注文した。

そして2限のゼミが このように 進んでいく間に、このところ2日に1本ぐらいのペースでメイルのやりとりをしているAnthony Brooks教授からのメイルで、Disabled Peopleを音楽演奏などの領域から支援するプロジェクトの情報として、上の3件を紹介された。 これ とか これ とか これ とかの書籍を出すなど、ずっとAnthony Brooks教授が続けてきた活動が、このような形で続々と出て来るのは素晴らしいことである。

そして、3限にあった「うららアポ」がゼミの2限で終わったのでぽっかりと開いた3-4限に、懸案だった「VPP-SUAC」基板のチェックを、 このように 一気にやっつけて、無事に動作を確認できた。 このように 動作していて、6月に手作業で製作した基板と完全に互換となった。 ジャンパオプションについては、「0.033μF」という真ん中の部分以外だと、ゲインが高すぎて信号レベルが飽和して歪んでしまい、ちょっと使い物にならない事が判明したが、これは照岡さんとの相談になりそうだ。

そして5限には、卒制のためのアポを入れていた4回生の三宅さんが、進展した3Dプリンタ作品とともにやってきて、 このように 部品がばっちりと収まることを確認して、Arduinoシステム一式を持っていった。 Arduinoプログラムは、2個のステッピングモータの回転方向がいずれも逆だったが、こんなのはプログラム中の「+1」を「+3」にするだけなので(4で剰余をとる)、ものの1分で完了した。 今日は一日であれこれ進んで収穫があったが、アメリカ大統領選挙はどうやらトランプ氏らしい。(^_^;)

2016年11月10日(木)

週末が近づいてきた。 倉敷での日本音楽即興学会大会での発表プレゼンの準備は行きの新幹線の中、と決めているので、準備はそのための素材を整理して忘れずに持って行くことだけである(^_^;)。 今日は1限に このシステム を朝イチで改訂したものを持参してデモ、あとは明日の講義準備、午後にブンちゃんアポの対応、あとは会議会議で終わって行く。

ロシアのDenisからのメイルも届き、彼とIgorは「Audiに依頼されたインスタレーション」を仕上げたところらしい。 おそらく展示会での仕掛けだろうが、記録が届くのを心待ちにしているよ、と返信した。 上は、彼がアカデミーの学生にopenFrameworksでの図像処理を教えた結果の、 学生が制作した数理造形画像作品集 であるという。 素晴らしい(^_^)。 VPP-SUAC基板に関しては、照岡さんとやりとりして、若干の改良を加えて次の試作は数量を増やす予定となってきた。

2016年11月11日(金)

今日はポッキーの日、じゃなくてサッカーの日であるが、ちょうど晩には大詰めのW杯予選の試合があるらしい。 昨日Amazonから届いた「DTMマガジン」最終号は、以下のように既にゴミ箱行きとなった。 これだけ中身の無い本に1500円も出したというのは、久しぶりの後悔である(^_^;)。 そしてゼミのうららから届いた情報から、研究費で「PSVR」「PS4本体」「カメラ(VR用)」「VR用恐怖体験ソフト」の4点セットを購入するために、事務局に入札を依頼した。

 

そして、ここに届いたのは、Sketching2017に関する、主宰者Mike Kuniavskyからの熱いメイルであった。 「Please RSVP」というので以下のページから調べてみると、いつもの「御招待」ということが判明したので、 さっそく申し込みをするとともに、MACS-MLとHMACS-MLに以下のメイルを出した。 果たしてどうなるか、楽しみである。

"Sketching in Hardware"というのをご存知でしょうか。
国際会議のようにopenに参加募集をしないのですが、毎年開催されてきています。
http://sketching-in-hardware.com/
のいちばん下に過去の記録があります。
このページは去年、2015で止まっていますが、実は今年2016年は例外的にスキップしていて、
「力を溜めていた」時期です。

この会議は招待制なので、Gainer/Funnelで有名な、主要メンバーの小林茂さんに招待を繋いで
もらって参加して以来の、私が参加した過去5回の記録は以下にあります。
http://nagasm.org/1106/Sketch08/
http://nagasm.org/1106/Sketch09/
http://nagasm.org/1106/Sketch2012/
http://nagasm.org/1106/Sketch2013/
http://nagasm.org/1106/Sketch2015/

そして今日、この会議を主宰しているMike Kuniavsky氏から、過去に参加したメンバーに対して、
2017年の先行募集の情報が届きました。

Sketching in Hardware 2017 July 28-30
(optional) in-depth charrette* July 31-August 2
	Masonic Temple - Detroit, Michigan

参加費については以下を参考にして下さい。
The final price for the event is not yet determined, but I expect it to be $750 with discounts up to 
100% for students, teachers, startup founders, artists and independent practitioners (please inquire).

2017年のテーマ等は以下です。
================
"Sketching in Hardware: a summit on the design and use of physical computing toolkits"

2017 Theme: Radical Hardware

Technology is not neutral. Tools are not neutral. Every tool has, within it, an envelope of end results that 
it enables easily and others for which it creates friction. Some of those effects intentional, some are not, 
especially in the complex world of computational, information processing tools that sense the world and 
act on it directly. How do we make tools that make it easier to have a positive impact on the world than 
a negative? Simply making technology easier or cheaper does not necessarily make it better, and good 
design is not the same as design for good.
As in past years, Sketching will still primarily focus on tools for physical computing/Internet of Things 
prototyping. I expect to talk about how to make hardware more accessible, how to make our tools better, 
how to use them in more interesting ways, and how to teach with them. In addition, I would like to look at 
our hardware tools through the lens of their effects, their envelopes of possibility, in addition to their 
construction.
The meeting will include presentations by all attendees, new technologies to try, and many opportunities 
to meet others and talk about this emerging field.
================

私はさっき速攻で参加申し込みをしたところです。(^_^)

今年は、過去の参加者で2017年に参加するメンバーが、「1人あたり4人」の招待者を推薦することで、
今後のコミュニティを拡大する、との連絡がありました。そこで、上記の情報を見て、いっちょ参加してみたい、
という人は、私にお知らせ下さい。先着4人に、pre-registration(期限は2週間以内です!!)申し込みに関する
情報をお知らせします。

2016年11月12日(土)

今ここは名古屋で乗り継いだ「のぞみ」車内であり、倉敷で開催される日本音楽即興学会大会に向かうところである。 先々週の東京出張の時に比べて、自分の発表があるためかテンション高めであり、既に2つ、お仕事を進めてしまった。 その一つは浜松駅のスタバで受け取ったDenisからのメイルで、以下のようにDenisとIgorがモスクワでAudiの展示に使われるインスタレーションの様子を簡単に撮ったmovieである。 まさにopenFrameworksの活用例であり、かっこいい(^_^)。

そして、今朝、目覚めた瞬間にフト思いついたアイデアで、某T○Y○T○中央研究所との共同研究の自動作曲システムに、新しいスペックを加えるMaxプログラミングを、浜松→名古屋の「こだま」車中で上のように実装してしまった。 4パターンをループさせるコード進行において、定番のコード進行を保持していながらバリエーションを持たせるために確率的に変異置換させる(確率の重み付けパラメータで出現確率は設定可能)、というバリエーションがまた1つ、加わったことになる。

そして京都から岡山までは、まずは以下のように今日の午後イチで発表するための土壇場のプレゼン作り(^_^;)をした。 そして昨日の3限で進めていた作業の続き、来年1月初旬の「電気学会知覚情報研究会」の発表予稿の原稿執筆に没頭した。 新しい学会に発表する時にいつも直面するのは、それぞれの学会/研究会で、予稿の執筆要項が皆んな違うことであり、最終的にPDFになったとしても、僕のMacのPreviewで見るのとは全く違う紙面になる事もあるのが厄介なのだ。 今回の電気学会は、最終的には「著者の自己責任」と書かれていて緩そうなのに、執筆要項はかなり細かくて面倒くさい。 まぁ、この壁を乗り越えないと発表できないので、ここは踏ん張りどころである。 Pagesへの貼り込みは研究室に戻ってからとして、ここでは中身のplain textの執筆である。

ここは倉敷の川崎医療福祉大学の講義等の巨大なホールである。 さきほど、午後イチの総会が終わって、「日本音楽即興学会第8回大会」の1日目午後の最初のセッション、「大会長講演」が始まった。 あらかじめ転載しておくと、今回の大会は以下のようなメニューである。

11月12日 (土)
	12:00〜14:00 受付
	13:00〜13:50 総会(学会会員のみ出席)
	14:00〜14:50 開会の挨拶 大会長講演
	14:50〜15:00 休憩
	15:00〜15:30 研究発表1 長嶋洋一「『筋電センサ/脳波バンド/触覚センサ』楽器と即席即興集団による音楽パフォーマンスについて」
	15:30〜16:00 研究発表2 落晃子、平野砂峰旅「無線モジュールTWE-Liteを用いた即興パフォーマンス事例報告」
	16:00〜16:10 休憩
	16:10〜16:40 研究発表3 瀧戸彩花「ミュージック・ハッカソンにおける即興についての一考察」
	16:40〜17:10 研究発表4 石原興子「精神科即興音楽療法における打楽器の臨床的役割―文献研究からの一考察」
	18:00〜20:00 懇親会

11月13日 (日)
	10:00〜11:20 大会企画ワークショップ
		・「インドネシアの民族楽器ガムランの体験演奏」 岩本象一(ガムラン奏者)
		・「ソングライティング(即興による歌作り)の体験」 若尾裕(作曲家)
		・「誰でもできる! 医療福祉現場での音楽活動」 田中順子(作業療法士)
	11:20〜11:30 休憩
	11:30〜12:10 パフォーマンス発表1 小林博之「インディアンフルートを用いた即興演奏による『照らし返し』〜Winnicottの概念による〜」
	12:10〜13:10 昼休憩
	13:10〜14:00 研究・パフォーマンス発表2 寺内大輔「即興に即興でオーダーするII」
	14:00〜14:10 休憩
	14:10〜17:10 基調講演及びワークショップ:スティーヴン・ナハマノヴィッチ「即興することは人生である」
去年の大会でMyoとMUSEをデモったかどうか・・・を忘れてしまったので両方とも持参したが、会場で聞いてみると「やってましたよ」とのことだったので、安心して持参した機材を箱に仕舞って、デモはtemporaでのリハーサル動画を見せるだけ、とした。 ちなみに新幹線の中で30分ほどで作ったプレゼンは これ だけであり、さらに このページ を被参照コンテンツとともに持参してオフラインで見せることにした。 会場で試してみると、モバイルWiFiルータが「圏外」だったので、この準備は幸いだった。

・・・そして無事に自分の発表を終えて、今はその次のRAKASU PROJECT.さんの発表となった。 過去のwiredの紹介に続いて、TWE-LITEを活用した事例報告があった。 平野さんのTWE受信モジュールの出力はMIDIまたはOSCになっているらしい。 ボタン電池でstand aloneになっているセンサモジュールの場合には、センサ情報の密度を低下させる設定にすれば電池はけっこう「持つ」らしいが、筋電センサの「XBee代わり」に使うのはちょっと違うかもしれない。 名人の書家の筆使いに加速度センサを仕込んでのパフォーマンスはなかなか面白かった。

その後のセッションではかなり押しつつ研究発表3と4の順序が逆になって、聞きたかった「ミュージック・ハッカソンにおける即興についての一考察」の最後が尻切れになってしまったのがやや残念だった。 そして中庄の駅から倉敷を越えて、初めての福山まで行っての宿泊となった。

2016年11月13日(日)

音楽即興学会大会の2日目は、会場の中庄までJRで45分以上かかる福山で寝坊して(^_^;)、さらに中庄からのバスは2時間に1本なので川崎医大までゴロゴロを引きずって歩いたりしたので、午前のワークショップは欠席となってしまった。 その分、ロビーで15分ほどあったので、持参してきた「12チャンネル・導電ゴムタッチパッド+4チャンネル・スライドボリューム」インターフェースに、いつもの「FM+delay」音源をそのまま繋いで、即興で新楽器を完成させてしまった。

続く午前の演奏発表は、「インディアンフルートを用いた即興演奏による『照らし返し』〜Winnicottの概念による〜」は、誰でも簡単に音を出せるインディアンフルート(穴を1つ塞ぐことでペンタトニックのスケールだけ出る)の即興アンサンブルの実演であった。 精神障害者などのリハビリに有効らしいが、ある意味で宗教がかった時間が出現していた。

そしてここからはメモをとる間もなく、午後のスティーヴン・ナハマノヴィッチ先生の「即興することは人生である」のワークショップに没頭して一日が終わり、浜松に帰り着いた。 翌朝にWebに上げた このページ を見れば、その異常さが分かると思う。 即興ワークショップというのは、見方によってはかなり異常な新興宗教の儀式みたいなもんだが、まさにそれだった。(^_^)

2016年11月18日(金)

もう週末になってしまった。 明日は推薦入試、多数の受験生との面接試験である。 倉敷での学会から晩に帰った翌日の月曜日は、某T○Y○T○中央研究所の人が来たり、カーマの買い物に医者巡り2件の用事で消えた。 火曜日は このように OMMF2016ミーティングがあって「43虎」となる事が決まったり、 水曜日は このように 2人が欠席でちょっと淋しいゼミがあったりした。 この2日に加えて、昨日の木曜日までかけて、来年1月の初めての電気学会での発表予稿を このように 作り上げて学会に送付したので、そこそこ仕事は進んでいたが、どうも中途半端に風邪気味らしく鼻が詰まり、いまいち調子が出て来ない。(^_^;)

その間にもあれこれ水面下では今後に向けたプロジェクトが進行していて、上のように来月中旬の「バイオフィードバックセミナー」のページが出来た、と辻下先生から連絡があったり、以下のようにOMMF2016の担当者とやりとりしてプレゼン/パフォーマンスの枠が確定したりしてきた。 SUAC学内の予定であるが、デザイン学部教授会の後で年に2回開催している「情報交換会」で、普段は3人の教員が30分ずつプレゼンする枠を全部もらって90分で「欧露ツアー」の報告をする、というような予定も確定した。

2016年11月30日(水)

もう11月も最終日、あれこれ充実した2016年も、あと1ヶ月となった。 今日は2-3限にメディア造形学科4回生の卒制の中間報告学科会議があり、来週は3回生の総合演習Iの中間報告学科会議である。 この日記も前回から10日以上スキップしているが、実はこの約10日間、水面下で某T○Y○T○中研との共同研究のお仕事を進めてきて、無事に一昨日の月曜日に完成した試作版を発送して、一区切りしたのだった。 そしてその間にも 先週今週 と、新入生4人のOMMF2016参加プロジェクト「43虎」は頑張って制作を進めてきた。 以下は昨日の様子だが、もう今週末には大垣で作品展示発表である。

さらに、RAKASU PROJECT.さんと連絡を取り合って、 「スケッチング」ワークショップ参加者募集 のページも公開した。 まだまだ宣伝はこれからだが、これも楽しみな企画である。
毎年好例、来年2月の沖縄行きツアーのメンバーも確定してフライトと宿を予約したが、どうも中国人観光客のために沖縄のホテルの価格設定が高騰しているようで、ちょっと「じんじん」からは遠い宿になってしまったが、まぁ仕方ない。 さらに来年3月に電子情報通信学会「マルチメディア情報ハイディング・エンリッチメント研究会」の開催情報をゲットして、発表申込を済ませた。 沖縄ツアーとは別に、2度目の宮古島である(^_^)。
そして昨日だったか、朝日新聞東京版の記事で、以下のような図が掲載されていた。 ロシアが、シベリア横断鉄道をさらに延伸する・・・という話題の記事だが、懐かしや、「エカテリンブルク」→「モスクワ」がちゃんと載っていた。 この1300kmを25時間の寝台列車で移動した、というのは、お宝ものの体験である。

さて、この日記(4)は欧露ツアーの最終盤のウイーンから書き始めたが、ぼちぼち区切りとしみたい・・・と思っていた昨日、「Max7日記」にふさわしい進展があったので、ここで忘れないうちにまとめておく事にしよう。 卒制の馬ブンちゃんのインスタレーション(シリアスゲーム)作品に関して、leap motionで「お絵描き」をするためのMaxプラットフォームが必要になって、「jitter examples」をザーーッと調べていて発見したのが、以下の「lua.window.mouse.drawing.maxpat」である。 Maxパッチは異常にシンプルなのに、なかなか凄いことが実現できている。 jitterウインドウ内でマウスをドラッグすると、その軌跡が点々と表示されつつ減衰していくのである。

ここで「肝」となっているのは、「jit.gl.lua」というどこにも繋がっていないオブジェクトで「@file」と外部指定されている、「mouse.drawing.lua」という謎のファイルである。 これはMaxパッチ内で叩いても、このファイル自体をテキストエディタに投げても表示・編集できるplain textファイルであり、以下のようなものだった。 調べてみれば、 ここ から辿ると膨大な世界に行き着くのだが、「lua」というのがどうも巨大な「Open-GLであれこれ凄いグラフィックを実装するprogramming language」なのだった。

local gl = require("opengl")
local GL = gl
	
-- list of things to draw
local chains = {}
local current_chain

-- create an element in a chain
function create_link(pos, vel)
	local vmag = vec2.mag(vel)
	-- decay ranges from [0.93, 0.97], the faster the link, 
	-- the faster the decay
	local decay = math.max(math.min(50, 1/vmag), 4)
	decay = (decay-4)/(50-4)*0.04+0.93
	return {
		pos = pos,
		vel = vel,
		life = 1,
		decay = decay,
	}
end

function create_chain(pos, vel)
	return {
		create_link(pos, vel)
	}
end

function append_link(self, pos, vel)
	self[#self+1] = create_link(pos, vel)
end

-- decay the chain and remove dead links
function step_chain(self)
	for i=1, #self do
		local link = self[i]
		link.pos = vec2.add(link.pos, vec2.scale(link.vel, 0.4))
		link.vel = vec2.scale(link.vel, 0.95)
		link.life = link.life*link.decay
	end
	
	for i=#self, 1, -1 do
		local link = self[i]
		if(link.life < 0.1) then
			table.remove(self, i)
		end
	end
end

function draw_chain(self)
	gl.Begin(GL.POINTS)
	for i=1, #self do
		gl.Color(0, 0.5, 1, self[i].life)
		gl.Vertex(self[i].pos)
	end
	gl.End()
	
	gl.Begin(GL.LINE_STRIP)
	for i=1, #self do
		gl.Color(1, 1, 1, self[i].life)
		gl.Vertex(self[i].pos)
	end
	gl.End()
end

local last_pos = {0, 0}
function mouse(e, x, y)
	-- scale to [-1, 1]
	local dest_dim = this.dest_dim
	x = x/dest_dim[1]*2-1
	y = 1-y/dest_dim[2]*2
	
	local pos = {x, y}
	local vel = vec2.sub(pos, last_pos)

	if(e == "down") then
		
	elseif(e == "drag") then
		if(not current_chain) then
			current_chain = create_chain(pos, vel)
			chains[#chains+1] = current_chain
		else
			append_link(current_chain, pos, vel)
		end
	else
		current_chain = nil
	end
	
	last_pos = pos
end

function draw()
	gl.Enable(GL.BLEND)
	gl.BlendFunc(GL.SRC_ALPHA, GL.ONE)
	gl.PointSize(10)

	for i, chain in ipairs(chains) do
		step_chain(chain)
		draw_chain(chain)
	end
end

-- handle mouse events from window, 
-- convert to simpler "down", "drag", "up" events
local lastbtn = 0
local
function wincb(e)
	if(e.eventname == "mouse") then
		local x, y, btn = unpack(e.args)
		local mouse_event
		if(lastbtn == 0 and btn == 1) then
			mouse_event = "down"
		elseif(lastbtn == 1 and btn == 1) then
			mouse_event = "drag"
		else
			mouse_event = "up"
		end
		lastbtn = btn
		mouse(mouse_event, x, y)
	end
end

function dest_changed()
	-- set global window listener when context 
	-- changes so we listen to the proper "named" window
	listener = jit.listener(this.drawto, wincb)
end

function scriptload()
	-- also need to create it when the script loads
	listener = jit.listener(this.drawto, wincb)
end
上にあるサンプルは、元々Cycling'74のサイトにあったサンプルから既にちょっとだけ改造(点々を結ぶ線分はカット)したものだったが、これはjitterウインドウ内のマウス座標を取得しているので、leap motionの座標は与えられない。 上のluaプログラム中に手がかりがないので、あと1個だけ、下の「lua」のサンプル「lua.slabbery.maxpat」があったので、これもちょっと修正実験しつつじっくり眺めてみた。

local gl = require("opengl")
local GL = gl

-- shader for slab-like processing
shader = jit.new("jit.gl.shader", this.drawto)
shader.file = "td.kaleido.jxs"
shader:param("div", 6)
shader:param("offset", 0.4, 0)

-- textures for slab I/O
texin = jit.new("jit.gl.texture", this.drawto)
texout = jit.new("jit.gl.texture", this.drawto)
texout.dim = {1024, 1024}

function dest_changed()
	-- whenever drawto changes, other jit.gls must also be updated
	shader.drawto = this.drawto
	texin.drawto = this.drawto
	texout.drawto = this.drawto
end

function jit_matrix(name)
	texin:jit_matrix(name)
end

local
function enter_ortho()
	gl.MatrixMode(GL.PROJECTION)
	gl.LoadIdentity()
	gl.Ortho(-1, 1, -1, 1, -100, 100)
	
	gl.MatrixMode(GL.MODELVIEW)
end

local
function draw_image()
	gl.Color(1, 1, 1, 1)
	jit.gl.bindtexture(texin.name, 0)
	shader:bind()
	gl.Begin(GL.QUADS)
		gl.TexCoord(0, 0) gl.Vertex(-1, -1)
		gl.TexCoord(1, 0) gl.Vertex(1, -1)
		gl.TexCoord(1, 1) gl.Vertex(1, 1)
		gl.TexCoord(0, 1) gl.Vertex(-1, 1)
	gl.End()
	shader:unbind()
	jit.gl.unbindtexture(texin.name, 0)
end

local CRES = 50
local
function draw_circle(x, y, s)
	local dim = this.dest_dim
	
	gl.PushMatrix()
	gl.Translate(x, y)
	gl.Scale(s*dim[2]/dim[1], s, 1)
	gl.Begin(GL.POLYGON)
	local dc, ds = math.cos(2*math.pi/CRES), math.sin(2*math.pi/CRES)
	local c, s = 0, 1
	for i=1, CRES do
		gl.Vertex(c, s)
		local nc = dc*c - ds*s
		local ns = ds*c + dc*s
		c, s = nc, ns
	end
	gl.End()
	gl.PopMatrix()
end

local vradius = 0.3
function radius(v)
	vradius = 1-v/255
end

function draw()
	gl.Enable(GL.BLEND)
	gl.BlendFunc(GL.SRC_ALPHA, GL.ONE_MINUS_SRC_ALPHA)

	jit.gl.begincapture(texout.name)
		enter_ortho()
		gl.Disable(GL.DEPTH_TEST)
		-- draw the image
		draw_image()
		-- draw some geometry on top
		gl.LineWidth(10)
		gl.Color(0, 0, 0, 0.5)
		gl.Begin(GL.LINES)
		for i=1, 3 do
			local theta = math.pi*2/3*(i-1)
			gl.Vertex(0, 0)
			gl.Vertex(5*math.cos(theta), 4*math.sin(theta))
		end
		gl.End()
		
		gl.Color(1, 0.2, 0.2, 0.7)
		draw_circle(0, 0, vradius*vradius*1.5)
	jit.gl.endcapture(texout.name)
	
	-- output result
	outlet(0, "jit_gl_texture", texout.name)
end
こちらの「slabbery.lua」はWebカメラからのライブ画像を万華鏡っぽく折り畳んで表示しつつ、色情報から半径の変化する赤い円を表示する、というものである。 そしてこの中に「outlet(0, "jit_gl_texture", texout.name)」というのを発見して、これが「jit.gl.lua」オブジェクトから外部出力アウトレットとなる、というのを発見して実験で確認した。 さらに外部データを「radius」というキーワードを添えて入力しているところから、「function radius(v)」というのが外部入力インレットと対応している、と見破った(^_^)。

ここからはそこそこ1本道で、Max7パッチと対応するluaファイルとを改訂しつつ実験して、上のように2つの「jit.gl.lua」オブジェクトを別々に定義することで、Max7パッチ内の2つのグラフィックスライダー(2次元座標)をドラッグすると、それぞれに対応した点々が減衰残像とともに表示される、という上のようなパッチが出来てしまった。 動作の様子(動画)は、 これ である。
このあたり、jitterウインドウ内のイベントを受け取るハンドラは「function wincb(e)」=「window callback」だろう・・・などと、これまで長年の経験(おそらく取り組んできたコンピュータ言語体系は200種類以上)を総動員しての解析作業となった。 出来てしまえばなんでもないが、これがなかなか出来ないものなのだ。 以下は、色の指定だけ異なっている、ここで独自に作った「jit.gl.lua」対応のluaプログラムである。

local gl = require("opengl")
local GL = gl
local chains = {}
local current_chain

function dest_changed()
	listener = jit.listener(this.drawto, wincb)
end

function scriptload()
	listener = jit.listener(this.drawto, wincb)
end

function create_link(pos, vel)
	local vmag = vec2.mag(vel)
	local decay = math.max(math.min(50, 1/vmag), 4)
	decay = (decay-4)/(50-4)*0.04+0.93
	return {
		pos = pos,
		vel = vel,
		life = 1,
		decay = decay,
	}
end

function create_chain(pos, vel)
	return {
		create_link(pos, vel)
	}
end

function append_link(self, pos, vel)
	self[#self+1] = create_link(pos, vel)
end

function step_chain(self)
	for i=1, #self do
		local link = self[i]
		link.pos = vec2.add(link.pos, vec2.scale(link.vel, 0.25))
		link.vel = vec2.scale(link.vel, 0.55)
		link.life = link.life*link.decay
	end
	for i=#self, 1, -1 do
		local link = self[i]
		if(link.life < 0.1) then
			table.remove(self, i)
		end
	end
end

function draw_chain(self)
	gl.Begin(GL.POINTS)
	for i=1, #self do
		gl.Color(0.5, 0, 1, self[i].life)
		gl.Vertex(self[i].pos)
	end
	gl.End()
end

local para1 = 0
local para2 = 0
function param(p1,p2)
	para1 = p1
	para2 = p2
end

function draw()
	gl.Enable(GL.BLEND)
	gl.BlendFunc(GL.SRC_ALPHA, GL.ONE)
	gl.PointSize(10)
	for i, chain in ipairs(chains) do
		step_chain(chain)
		draw_chain(chain)
	end
	pointer(para1, para2)
	outlet(0, "result", para1, para2)
end

local last_pos = {0, 0}
function pointer(x, y)
	x = x/350-1
	y = 1-y/350
	local pos = {x, y}
	local vel = vec2.sub(pos, last_pos)
	if(not current_chain) then
		current_chain = create_chain(pos, vel)
		chains[#chains+1] = current_chain
	else
		append_link(current_chain, pos, vel)
	end
	last_pos = pos
end
こうなれば、次には赤松さんのleap motionオブジェクトを活用させてもらって、上のパッチのグラフィックスライダー(2次元座標)をleap motionから取得する位置座標に置き換えればいいことになる。 実際にはleap motionは3次元空間内の位置なので、これをどのような平面に投射するか・・・という課題もあるが、とりあえず、また1ステップ、小さな峠を越えたような感じで、ほぼ1日仕事としてはなかなか充実のMax7プログラミング実験となった。(^_^)

→ Max7日記(5)

「日記」シリーズ の記録