続・Max7日記 (3)

長嶋 洋一


→ Max7日記

→ 続・Max7日記(1)

→ 続・Max7日記(2)

→ 続・Max7日記(4)

→ 続・Max7日記(5)

→ 続・Max7日記(6)

→ 続・Max7日記(7)

→ 続・Max7日記(8)

2017年10月12日(木)

1-2限の「インタラクティブシステム演習」は今週からしばらくは他の教員の担当回ということでパス、さらに午後に予定されていたデザイン学科会議もメディア造形学科会議も「議題ナシ」で流会、つまり今日は終日空いている「実験日和」となった。 そこで、昨日の 続・Max7日記(2) の最後の部分から、いよいよ実験開始である。 参照するOpenBCIサイトのページは当面のところ2つ、 Cyton Data Format のページのデータ形式定義と、 OpenBCI Cyton SDK のページのコマンド/インタラクション定義である。

ドングルを挿した状態で、まだ頭に装着していない「OpenBCI Cytonボード」の電源スイッチを「BLE」にすると、上のように「firmware v2.0.0」のメッセージが出ていることを確認できた。 これがスタート地点となる。

YouTube

そしてOpenBCIを装着して、とりあえず作っていたMaxパッチにあった、「b」と「s」の文字を送るのが「ストリームON」と「ストリームOFF」のコマンドであるらしい、という事でやってみると、上のようにあっさりとデータストリームのON/OFFが出来た。 FTDIドライバがうまく動かないversion2.3でどうだったのか記憶に無いが、とりあえず幸先が良い。

YouTube

そこで、 Cyton Data Format の記述からデータが8チャンネルそれぞれ3バイトの24ビットデータで来ることを確認し、さらにA/Dコンバータの特殊なデータ形式のために、32ビット符号付きデータに変換をしてみると、とりあえず上のようになんらかのデータがストリーミングのモードで出てきた。

YouTube

8チャンネルのうち1チャンネル目だけ、データの値域がちょっと他と違うのが気になるが、このデータは無駄にレンジが大きいので、とりあえず差分データを見やすく縮小するようにサブパッチを変更してみたのが上の様子である。 Maxプログラミングのサンプルとしても参考になるかもしれないが、とりあえずこれで、「OpenBCIで8チャンネル脳波情報をストリーミングとしてMaxで受けて処理する」という目標の、最初のサンプルが出来たことになる。 ただし、普通のセンサと違って、脳波は「コレでどうかな?」というお試しデータを明確に出せないという欠点があり、バグの可能性もまた大きい。

本物かどうかはともかく、OpenBCIからの脳波ストリーミングデータをMaxで受け取れるようになったらしい、と充実の午前の作業を終えて、午後にはもう一つの懸案だった、TWE-Liteも思い出してみる事にして、上のように久しぶりに一式を出してきた。 OpenBCIもTWE-Liteも、共に この問題点 のために棚上げしていた筈なので、OpenBCIで一応の成果があったとすれば、TWE-Liteの方でも期待できるのだ。

YouTube

全てが忘却の彼方なので、まずは Max7日記(5) の「2017年2月9日(木)」のところから、そのままなぞってみる事にした。 まず、無印のMONOスティックを挿して、そこと同じ「MONO_006.maxpat」を走らせてみると、上のように、ボタン電池を入れたP2525をうりうりと叩くと、とりあえず「何か」が反応した。 ここが今回のスタートラインである。 手元にあるMaxパッチの最新のものは、「MONO_006.maxpat」とほぼソックリの「MONO_007.maxpat」であり、そのタイムスタンプは「2017年2月16日(木)」であって、これは Max7日記(5) の記述と対応している。 そして過去の日記を読み解いていくと、手元のP2525は間歇的にしかデータを送らないモードなので、まずはこれを「連続情報送信タグに変身させる」というのを目指したようである。 そのために必要なツールが「jenprog.app」であり、これを実行しようとして出来ない・・・というトラブルの中で、たぶん この問題点 にぶち当たってストップしていたのだろう。

YouTube

そしてここから2時間ほどかけて過去にタイムスリップしつつ実験してみて、結論としては「TWE-Liteは終わっている」と確認できた。 この問題点 も関係する、としてOTAファームウェアの書き込みに成功していなかった一方で、 Max7日記(6) の「2017年3月21日(火)」のところでは、「TWE-Lite R」からTWE-Lite-2525Aを電気的に接続してモードを書き換えることで、上のようにとりあえずは「出来ていた」のだ。 肝心のToCoスティックが1本しかないので実用的ではないものの、こちらは一応「終了」していたのだった。 新たな環境で「jenprog」をやってみたものの、何故かエラーで中身に入っていけなかったが、とりあえず「TWE-Lite」は使えるというのであれば、それ以上に深入りするほどでもないだろう。

午後の後半には、「トランジスタ技術」誌の記事に載っていた、上の「ESP-wroom-32」あたりについて調べてみた。 TWE-Liteも含めて、これまでXBee以外のWiFiモジュール等にあまり深入りしてこなかったのだが、こういうのが登場していたのだった。 秋月電子でも、 ここ とか ここ とか ここ とかに、安くて面白そうなものが並んでいた。 関連した情報のサイトも、 ここ とか ここ とか ここ とか、色々とあって、もはや黎明期でなくて普及期という活況である。 ただしちょっと調べてみると、WiFi/Bluetoothモジュールがあり、さらにArduino開発環境で開発できるとしても240MHzのデュアルコアCPUということで、電源の消費電流が1Aを超える・・・と知って、一気に萎えてしまった。 これではRaspberry Piと同じで、簡単に電池では使えないのだ。

そこで、より低機能である、上の「ESP-wroom-02」を調べてみると、秋月電子でも、 ここ とか ここ とかに出ていて、さっそく実験のために後者を発注した。 また、関連した情報のサイトも、 ここ が十分に詳しく、日本語でも ここ とか ここ とかあって、もはや電子工作がWiFi/Bluetooth化しているのだった。 僕はこれまで、MyoでもMUSEでも、それぞれ専用ツールをうまく活用すると直接のBluetoothシリアルでなくOSCでMaxと通信できたので、あまりこの手のWiFiモジュールはソソラレなかったのだが、これだけ安価に普及しているとすれば、メディアデザインの「部品」として、ここで遊んでおくことは有意義なのかもしれない。 TWE-Liteにちょっと難儀していたが、一気にこっちに乗り換えてしまう、というのもいいのかも。

2017年10月13日(金)

朝イチで届いていたのは、幻となった今年のNIME2017(Copenhagen)のProceedingsが出たよ、という案内だった。 なんといってもNIMEのいいところは、過去の全論文が全てWebに公開されているところで、 ここ から全て、2001年から2017年までのNIMEのProceedingsのzipをゲットできる。 ただし、僕が大会委員長としてSUACで2004年6月に開催した NIME04 のProceedingsには、大会委員長としての僕の挨拶も、SUAC初代学長の木村尚三郎先生の挨拶も載っていたが、ここにあるzipは論文だけなので、あの英語の挨拶文は収録されていない。 せっかくなので、今年のProceedingsの論文を今日の4-5限の「メディア数理造形演習」の中でザザッと学生と眺めて、世界のクレイジーな奴らがどんな研究をしているのかを紹介することにした。

そして午前中には、昨日の「OpenBCI→Max」パッチをさらに確認する意味もあって、さらにMUSEを引っ張り出してきて、「OpenBCIとMUSEの同時装着・脳波検出比較」というテーマに挑戦してみることにした。 ただし、しばらくMUSEを使わないで放置していたので、内蔵バッテリの充電が十分でなかったのか、以下のようにBluetoothの接続が繋がったり切れたり・・・というのを繰り返して、ちょっとイマイチだった(^_^;)。 仕方なく、とりあえず昼休みにバッテリ充電を続けて、午後に再開してみることにした。

YouTube

そして昼休みに思い付いた(思い至った)のは、OpenBCIはBluetoothからドングルと通信、MUSEはダイレクトにMacとBluetooth通信、ということで、僕の周辺のBluetoothが混雑しているのは・・・という事だった。 そうなるといっそのこと、ここでダブルMyoを加えて、MyoもドングルとBluetooth通信するので、これを全て同時に走らせてやろう、というアイデアに至った。 「ダブルMyo+MUSE」というのは、去年の 欧露ツアー ( 全体詳細は ここ に、さらにMax7日記での同時進行は ここ から) でも、フランスのボルドー、スペインのバルセロナ、オランダのユトレヒト、ロシアのエカテリンブルクとモスクワ、とで実際にデモ/公演してきたので実績があるが、OpenBCIとの混在は初めてとなる。 そこでまずは以下のように、これらを並べての「充電大会」となった。

実際にいざ始めてみようとすると、MacBookAirには完備していたものの、お仕事Mac miniにはMyo Armband Manager (Myo Connect)が入っていなくて(^_^;)、改めて Myoのサイト に行ってダウンロードしたりなど、いくつも不備が見つかったが、まぁ午後になってあれこれ連絡が来て対応して・・・という些事も重なった(明日の日帰り筑波行きもキャンセルになって新幹線切符もネット払い戻し)ので、その合間にこれらを進めようとした。 その途中経過の中途半端な実験の様子は これ である。 しかし、これまでMyoと接続したことのなかったMacの環境設定には思いのほか時間がかかって(結局、オリジナル「ダブルMyo」接続ソフトをソースからXcodeで再コンパイルすることになった)、4-5限の講義までに接続できずに持ち越しとなった。 まぁ、こういう日もあるのだ。(^_^;)

2017年10月14日(土)

これから約1週間、国内はほぼ全域で毎日「雨模様」だ・・・という予報の出ている週末である。 帯状疱疹の状況はぼちぼちだが、予定していた茨城(筑波+水戸)行きも全キャンセルとなり、浜松で大人しくする日々が続く。 ネットでは以下の「システム刷新に失敗した京都市、ITベンダーと契約解除で訴訟の可能性も」というニュースが流れてきて、思わず「あの画像」と思い出して「顧客が本当に必要だったもの」と画像検索してみると、出るわ出るわ、以下のような画像が出てきて笑ってしまった。 単なる便乗パロディも散見するが、これは元々は、情報処理業界で働く人々にとって、笑ってもいられない真実を反映しているのだ。

ちなみに、せっかくだからと毎日、研究室で午後に帯状疱疹の患部と一部のアップの写真を撮り続けているのだが(誰もおっさんの汚い肌など見なくて結構(^_^;))、その6日間(10/9から10/14)の経過は以下である( さらに後日、10/15から10/17までの写真も追加 )。 もう、明日あたりには連続服用の抗ウイルス薬が終了となり、あとは鎮痛剤の服用と殺菌軟膏の塗布だけ、となる。 日々、少しずつ治っていっているのがよく判る。 早めに医者に行って、本当によかった。

そして午後には、昨日の続きとして、ようやく以下のように、「OpenBCI+MUSE+DoubleMyo」という実験、つまり同時に3系統のBluetooth(Myoがダブルなのでデバイスとしては4系統)からの情報がMax7に全て届いた状態でそれぞれの情報を同じデスクトップ内のウインドウに同時にグラフ表示する、というタスクを走らせてみた。 昨日は2系統でもBluetooth接続が途切れ途切れになっていたのは、やはりバッテリ充電が不足していた低電圧の状態だったようで、以下のYouTube動画のように、まったく途切れることもなく安定にシステムの稼働を確認できた。

YouTube

こうなれば、欧露ツアーでやった「MUSE+DoubleMyo」よりもさらに外見はインパクトが大きくなるが、なんせOpenBCIのヘッドセットは乾式電極といっても頭皮にチクチクする「剣山」だし、とりたててMUSEよりも面白い脳波信号が出ている様子もないので、まだMax7側での脳波情報に対する信号処理が必要、という感じである。 とりあえず休日のお仕事としてはまずまず進んだところで、今日はオシマイとしよう。

2017年10月16日(月)

新しい週の始まりである。 週末の土曜日に、だいぶ治ってきた帯状疱疹治療のための「2週間断酒」明け記念イベント(という意義が加わった)、という励みがあるので、今週ずっと雨模様という予報にも負けない。 午前中にあれこれ調べもの、そして このページ の改定増補などを進めた。 午後の3-4限には院生の馬ブンさんが来て、卒制で彼女が作ったシステムの思い出しとか、いよいよ後期の「メディアデザイン特論」に関する議論などを進めたが、そこでサンプルで見せたいブツの発掘にハマり込んでしまって時間切れとなった。 そのブツとは、10年ぐらい前は毎年、講義の中で学生に体験させていた「ゲームに学ぼう」という教材CDROMにしていたデータ一式というもので、PowerPC時代のMacの「Classic Mode」でのみ動く、つまり「昔のMac」のゲーム集である。 ちょっと前まではマスターCDROMが研究室に転がっていたのだが、ディスクメディアをほぼ全て捨てた大掃除の後、気付いてみれば発掘しても出てこないのだった。 この発掘作業は明日にまで跨ってまだ続いている(^_^;)。 そして午後には、注文していた「ESP-wroom-02」が届いたが、とりあえずネット検索して このページ とか このページ とか このページ とか このページ とか このページ とか このページ とかを見つけた、というだけで終わった。 先日、検索した場所と被っているかもしれないが、まぁ気にしない。 この実験にいつ入れるかは未定である。

2017年10月17日(火)

昨日の午後に半日、そして帰宅中にもバックアップHDD群からの転送と確認、さらに今日の午前、とかけて発掘を進めていた「ゲームに学ぼう」という教材は、遂に多数のバックアップHDD群の中から発見されて無事に回収できた。 以下は、それをPowerPCのMacに入れて起動してみた様子で、まず最初に「Classic Mode」が立ち上がり、さらには「このゲームは256色のシステムでないと動かないので256色にする?」と聞かれて起動する、というものだった。 操作は「左右キー」のみ、という単純至極なゲームであるにもかかわらず、このシンプルなゲームはまさにプレイヤーを引き込むのである。 これは明日のゼミでも、さらには金曜日の「メディア数理造形演習」でも、ぜひ紹介していこう。

そして、この発掘作業の副産物として、かつて「写真少年」だった僕が過去に撮った膨大な写真のネガを、1年ぐらいかけて全てフィルムスキャナで取り込んだ写真データがどこかにあるのだが、その中から厳選に厳選したらしい800枚程度の「photoscan」というディレクトリも発掘した。 ちらっとpreviewで眺めてみると、七五三の幼少時から最近まで順不同でバラバラだが、それぞれ語れば長ーくなるお話を伴う青春の思い出のあれこれ、これをじっくり眺めるのは老後の楽しみに・・・というような写真ばかりだった。 まぁ、そんな時間は当面は無さそうなので、とりあえず以下のようにサムネイルをまとめた画像をここにメモとして置いておくことにした。 僕以外の誰が見てもなんという事はない写真群だが、僕にすればこれだけで2-3年は思い出に浸れるというものである。

そして、朝イチで遠州病院に帯状疱疹の経過診察に行ってきて研究室に帰ってから上記の作業などをしていると、日本音楽即興学会から、以下のように12月の大会のプログラムが届いた。 僕のタイトルのところの「(仮題)」というのがなかなか思わせぶりっ子で、いい感じである(^_^;)。 この発表内容の詳細については、もっと直前になってから準備する予定なので、しばらくは放置プレイなのだ。

そして午後にはアカペラまでの時間をかけて、去年度の卒業制作で馬ブンちゃんが制作した、leap motionとVFB10(のうちの2チャンネルだけベルトに仕込んだ)による作品「右手(ゆうしゅ)に円を画き左手(さしゅ)に方を画く」を、振動フィードバックからサウンドのフィードバック版に改編したものを作ってみた。 ちょっと難易度が高くて、とても認知症リハビリにそのまま使えそうもない(^_^;)が、まぁ考え方としては追求したい方向性である。 これは、いつものように自分がデモしながら記録動画を撮るというのはまったく不可能なので、時間があれば明日のゼミに記録することにした。

2017年10月18日(水)

「早起きは三文の得」という諺がある。 かつてAppleからiPodやiPod shuffleやiPod nanoやiPod Touchが出ると、研究室に出てきてそのニュースを2ちゃんねるヘッドラインで発見してオンラインショップに行って購入すると、僕は早起きなのでまだ日本人サラリーマンの大部分は仕事を始めていない早朝(午前7時とか)なので「売り切れ」にならずに最初のロットで購入できた。

そして、昨夜の某マツコ番組で知った「備前焼・泡立ちビールジョッキ」というのに惚れて、研究室に出てきてさっそくAmazonに行くと、案の定「在庫切れ」となっていたが(^_^;)、探せばあるもので無事に注文できた。 そのページに戻ると「残り1点」となっていたので、おそらく最後の2点のうち1つをゲットできたようである。 まさにこれは「早起きは三文の得」であるが、まぁいつもの大人買いで、プチ後悔する事も少なくない。(^_^;)

そして、昨日改訂制作したMax7パッチ、leap motionを使ったブンちゃんの作品「右手(ゆうしゅ)に円を画き左手(さしゅ)に方を画く」を、まずお仕事Mac miniにleap motion環境が入っていなかったのでインストールしてから、以下のように、とりあえずデスクトップ記録してみた。 教材としては、内部的にどれだけサブパッチで階層化/構造化しているか、という教育的サンプルの意味がある。 実際にはルートに入っていると気持ちよい音がして、ルートから外れると気持ちよくない音がするのだが、これは想像していただくしかない。(^_^;)

YouTube

そして2-3限はメディア造形学科の「卒業制作・企画審査学科会議」があり、さらに4限には ゼミ3週目 があり、さらに5限には「メディア数理造形演習」のための永田さんの特訓補習があった。 その後、ゼミ3回生の山本さんのプロジェクトのために、以下のように秋月電子のステッピングモータ関係のページに行き、今回は比較的小パワーなので、小型の2種類のモータ を選んで業者に発注手配した。

そして、研究室には多数の2SD1415があるが、たしかステッピングモータドライバ用ICも仕入れていた筈だ・・・と部品棚を捜索すると、出るわ出るわ、以下の5種類のICがざくざくと出てきたので、これは購入発注する必要がなくなった。 ただし型番だけでまったく詳細不明ということでネットで調べてみると、出るわ出るわPDFでデータシートがざくざくと掘り出せた。 ここに整理しておくと、以下の5種類である。(★印はデータシート)

また、いつもステッピングモータのプログラミングで(ArduinoでもMaxでも)参考にする、秋月電子のお約束の データシート もゲットした。 これでまずは準備完了であり、あとはモータが届いたら、さっそく思い出しの実験をすることにしよう。

2017年10月19日(木)

1-2限の「インタラクティブシステム演習」は今週も他の教員の担当回ということでパス、あとは4限に学生委員会があるだけ、つまり今日はそこそこ空いている「実験日和」である。 朝イチで研究室に出てくると、またCycling'74のMax Users ForumからのNewsletterが届いていた。 最初のトピックは、Max6からMax7になって実装されたという「Package Manager」というものの紹介で、 ここここ とに解説があったが、まぁ僕はあまりこの手の領域は興味がないので、軽く読み流した。 その後のNewsletterのトピックは「小ネタ」各種だったが、けっこうこの中に宝石があるのでちょっとチェックしてみると、 Charlie's Piano というパッチと、 TouchTheSound というパッチが、Chuck Bettis氏によるものとして紹介されていた。

前者はパソコンのキーを適当に2本の指で交互に叩くと、それに合わせてアルペジオのフレーズが鳴るとともに3D-CGで球体が飛んでくる、というよくあるものだったが、前者は上のように、背景真っ黒というユニークなパッチだが、2次元スライダーで「音源」と「エフェクト」をぐりぐりする、という良質な「シンセサイザー」の教育的サンプルになっていた。 Users Forumでの記事では、単に こういうテキストファイル がリンクされているだけで、これを「コピー」して、Max7の新しいパッチを開いたところに「ペースト」するだけで再現される。 この、「Maxパッチはplain textデータとしてメイルで送ったりコピペで再現できる」という美しい仕様は、もう25年間も続く伝統なのだ。(^_^)

そして、まだ秋月電子のモータは来ないのだが、フト思いついて、 続・Max7日記(2) の「2017年9月14日(木)」のところでやった、「Arduino MicroをMac OSXのUSB MIDIデバイスとする」という技の応用編として、これと「ステッピングモータ制御Arduino」とを合体させた、今後のインスタレーション作品で使えるプラットフォームを作ってみることにした。 やはり、個々にはそれぞれやった事があるのを思い出すのも悪くないが、せっかくなら「合体技」によって「新しい事」を、それも「プラットフォーム」に・・・という目標を設定すると、俄然、ヤル気が出てくるのだ。 手元にArduino Microは約10個あるので慌てて買い足さなくてもいいが、調べてみると上のように、スイッチサイエンスだけでなく秋月電子でも在庫多数、さらにはAmazonでは格安のものも出ていて、いつでも買い足せると確認できた。 いい時代である。

YouTube

そこでまず、 続・Max7日記(2) の「2017年9月14日(木)」のところでやった2つの実験を再現・確認した後で、上のように、ちょっと改訂してみたバージョンを実験した。 過去の実験で行っていたのは、「一定間隔でMIDIノートイベントを送出する」というものと、「入力された多量のMIDIメッセージをそのままMIDI出力する」というものだった。 今回は、Arduino側で自律的にステッピングモータ制御を行い、そのパラメータをMax側からMIDIメッセージとして送りたいので、「MIDIコントロールチェンジ」メッセージを受信して、いったん3バイトにその中身を分解して(→解釈して対応処理を実装できる)、これを再度組み立てて改めてコントロールチェンジ情報としてMIDI出力し、さらにMIDI入力イベントがあるとメインループのソフトタイマをクリアしてLEDを点灯し、メインループ内で30000回インクリメントされるとLEDを消灯する、という時分割多重化処理の雛形を実装してみた。

そしてここで、データシートから必要な情報を整理してみることにした。 上のように、秋月電子のPICのによるステッピングモータ制御ボードの データシート に、かなり古式だが必要な情報が揃っている。 ユニポーラとバイポーラと2種類あるものの、基本的にステッピングモータは2種類のコイルが直交して配置されている。 ここにパルスを1発送れば、規定の角度だけ正確に回転し、パルスが落ちる(電流が止まる)と保持されないが、電流が流れ続けていれぱホールドされる(ただし過熱に注意)。 上のタイミング図には、「1位相」・「2位相」・「1-2位相」という3種類のパターンがまとまっていて、いつも重宝するのだ。
バイポーラタイプの場合には、コイルの電流の向きを切り替える「ブリッジスイッチ」タイプのドライバが便利なので、 TA7291 が便利そうであるが、このICは1個でモータ1コイル分なので、ステッピングモータ1個あたりTA7291が2個、必要となる。 ユニポーラタイプの場合には、コイルに中点端子があり、片方ずつ駆動することになるので、Arduino等でビット単位に制御する場合に、「 両方のコイルを同時にONにしない 」(でないと無駄に過熱して最悪は壊れる)、というのが最大の注意点である。 ドライバとしては MP4101 だと、ちょうど4回路のダーリントン・トランジスタが入っているので、モータあたりこれ1個で済むことになる。

今回のArduino Microは、「USBデバイスとして認識される」という特長だけでなく、「アナログ入力ポート数が6でなく12」という特長もある。 そこでArduinoのサイトで調べてみると、「Each of the 20 digital i/o pins on the Micro can be used as an input or output, using pinMode(),digitalWrite(), and digitalRead() functions.」とあった。 ディジタルとして使えば最大合計20ピンということは、どちらのタイプのステッピングモータも1個あたり4ビットで制御できるので、最大5個のステッピングモータが扱える筈で、これは、ホストとのUSB接続専用のハードがあるために、シリアル通信にカウントされる共用の2ビットまで、入出力ポートとして使えるからである。 ただし、上のピン配置図ではアナログ入力の1〜6が、おそらく「0〜13」に続いてA0から「14〜19」となるのだろうが、それはどこにも書かれていないので、まずはその検証から必要となった。

int timer0, timer1, timer2;
int test_port1 = 12;
int test_port2 = 13;

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(test_port1, OUTPUT);
  pinMode(test_port2, OUTPUT);
  timer0 = timer1 = timer2 = 0;
}

void loop() {
  while(1){
    timer0++;
    timer1++;
    timer2++;
    if (timer1 > 8000){
      timer1 = 0;
      test_led_1();
    }
    if (timer2 > 5000){
      timer2 = 0;
      test_led_2();
    }
    if (timer0 > 3000){
      timer0 = 0;
      builtin_led();
    }
  }
}

void test_led_1(){
  static int timer, flag;
  timer++;
  if (timer > 100){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(test_port1, flag);
  }
}

void test_led_2(){
  static int timer, flag;
  timer++;
  if (timer > 100){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(test_port2, flag);
  }
}

void builtin_led(){
  static int timer, flag;
  timer++;
  if (timer > 100){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(LED_BUILTIN, flag);
  }
}

まずは このように 実験基板を作って、上のようなArduinoスケッチで、オンボードLEDと、さらにコネクタに増設した「0〜13」から「14〜19」までのポートの2ビットずつ、ピン定義を手作業で変更しつつアップロードして、LEDを手作業で差し替える・・・という地味なものである。 以下のように進めたが、途中で部品をイケナイところにショートさせてしまったらしく(^_^;)、Arduino Microを1個、死亡させてしまって、ホストのMac miniのUSBポートも気絶した(これは明日に電源ONとともにSMCリセットで治る筈である)。 そして以下の動画のように、順調に「0〜13」までは行ったが、「14〜19」の指定で謎なエラーが出てきて、困ってしまった。

YouTube

しかしこの問題は、ちょっと一息ついてコーヒーを飲んだところでピンときて解決した。 Digital Pinの定義は、「0〜13」まではそれでいいのだが、defaultアナログ入力ピンについては、ピン名称として「A0〜A5」を使うのだった。 並びはそのままで、つまりは「A0」=「14」、「A1」=「14」、「A2」=「16」、「A3」=「17」、「A4」=「18」、「A5」=「19」、という順であるところまで確認した。 これで、明日には4ビット単位に分けた5チャンネルに、それぞれステッピングモータを接続するようにジャンパピンのソケットを作っていけば、当初の想定通りの実験に進めることになった。 1個、Arduino Microを昇天させてしまったが、まぁ、やれやれである。

2017年10月20日(金)

昨日は遅くまで没頭していたが、長いソフトタイマから帰ってこない時にArduinoのプログラムの「loop()」の中にさらに「while(1)」を入れて、まさに「白い白馬」・「頭痛が痛い」をやってしまっていた事に気付いたが、せっかくなのでこれは直さず残しておこう。 昨日はUSBに刺したArduinoのおそらく+5V/+3.3Vピンを間違ってGNDとショートさせてオンボードの電源レギュレータICを破壊して昇天させた(これは今日、再度MacBookAirに繋いで「認識されない」事で確認)が、その時にお仕事Mac miniの、Arduinoを挿していたUSBハブも、OSXから「危険なUSBポート」として切り離されて認識されなくなっていた。 このUSBハブには、Time Machineバックアップのために常時接続している500GB HDDも繋がっているので、バックアップも「失敗」と表示されていた。 そして今朝、恐る恐る、お仕事Mac miniを起動させてみると、見事に起動しなかった(立ち上がったようだがディスプレイに何も出てこない)。 そこで慌てず騒がず、「電源ボタン長押し」でシャットダウンして、今度は「PRAMリセット」(command-option+P+R)すると、無事にちゃんと立ち上がった。 USBハブも復活して認識されている事を確認したが、ここに繋がっているTime Machineバックアップ用500GB HDDは認識されず、ちょっと焦った。 しかし今度はDisk Utilityを使ってこの500GB HDDのリカバリをして、無事にHDD修復完了、そして何事もなかったように定時バックアップが再開した。 朝イチから目が覚めてしまうようなスタートで、これで本当に、やれやれである。

その後、ネットニュースのリンクから、うっかり懐かしい このサイト に行ってしばし遊んでいたところで9時を過ぎて気付いたのだが、なんと竜王戦の初日が始まっていたのだった。 こうなると上のように、デスクトップが余計な画面で淡々と進むという、お仕事になりにくい日である・・・と判明してきた(^_^;)。 とりあえず竜王戦のウインドウは、アベマTVの解説のサウンドを鳴らしておいて画面は畳んでおく、という体制とした。 cookieclickerの方は、適当に走らせておいて、適宜、ストアで買い足すことにしてみたが、今日1日(4-5限の講義までの半日)でどこまで行くか、数年ぶりで試してみよう。

そして午前中から午後にかけて、 このように Arduino基板の配線を進めて、とりあえずの2ビットのテストでArduinoからドライバへのゲート抵抗を3.3kΩでいける、と確認して完成させた。 そしていよいよ、ステッピングモータの駆動プログラムに・・・というところでお仕事Macに戻ってみると、上のように竜王戦もcookieclickerもなかなかに佳境(^_^;)、見入っているうちに3限の終わり、つまり4-5限の「メディア数理造形演習」に向かう時間が近付いてきた。 あまり直前まで研究室で没頭していると、スグに講義に入った冒頭がサエない、というのは自分で自覚している教訓なので、楽しいArduinoプログラミングは日曜以降にずれ込むことになりそうだが、まぁそれもいいだろう。

2017年10月22日(日)

先週の金曜日には、早くも浜松市では「10/23(月)は市内の幼稚園と小学校は全て休校」と宣言していたが、以下のように超大型台風が日本列島に向かっていて、朝からずっと雨である。 SUACはどこかの予備校の全国模試のようで、雨にも負けず高校生がたくさん集まってきていた。 今日の午後には早めに帰宅して、途中でスーパーでコロッケを仕入れていかないと。

先週ちょっとハマッていた このサイト は、調べてみると過去にこんな感じ のところまで進んでいた・・・と分かって、とてもそんな暇は無い、とアッサリ醒めてしまった(ちなみにブラウザのcookieを消去しないでおけば、途中経過はcookieに書き込まれているので、いつでも再開できる)。 昨日は快気祝いを兼ねた某オフで34曲を熱唱して復活し、今日はぼちぼちの休養日である。 昨日の竜王戦1戦目は羽生さんが勝ったようで、全国の羽生ファンは目が離せない。 ロシアではフィギュアの羽生クンがフリー1位の初戦2位で、こちらも全国の羽生ファンは目が離せなくて、まったくややこしい(^_^;)。

そして午前中に届いたメイルで、「インタラクティブプロダクト演習」で、的場先生の担当の2回にやった事が、授業担当教員の全員に共有された。 的場さんはArduino Unoと上の MIDI/MP3音源シールド を使ったという。 このシールドの 回路図音源のマニュアル を見たところ、単音でなく外付けクロックに応じて、最大64音ポリフォニック、サステイン付きで最大40音ポリフォニックのMIDI音源だという。 ただし多数のポリフォニックを扱うには「アサイナ」(→ 続・Max7日記(2) の「2017年10月3日(火)」のところで紹介)を組まないといけないので、ちょっとArduinoで簡単に・・・とは行かなくなる。 SparkfunのCEOである僕のお友達のNathan Seidle氏が書いた Quickstart Guide にあった Arduinoサンプルコード を見ると、冒頭のサンプルとして以下のように書かれていた。 要するに「音色バンクを指定」→「音色番号を指定」→「ノートオン」という事である。

To play "Sticks" (31):
	talkMIDI(0xB0, 0, 0x78); //Bank select: drums
	talkMIDI(0xC0, 5, 0); //Set instrument number
//Play note on channel 1 (0x90), some note value (note), middle velocity (60):
 	noteOn(0, 31, 60);

これはNote ONを送っているのにNote OFFが送られていないので、MIDI音楽業界的に言えば「失格」の作法である(^_^;)。 Arduinoスケッチの本体部分を見ても、アサイナどころかボリフォニック(和音)についても何も考慮されておらず、さらにはNote ONからNote OFFの間に「delay(100);」が入っていた。 これでは、例えばスイッチを押して和音のチャイムが鳴るとか、シーケンスで単音メロディーを鳴らすことぐらいしか出来ず、さらにArduinoが他の仕事をする事も出来ない、あまりに超初心者的スケッチである。 Nathan Seidle氏は別にこの業界のプロではないので仕方ないが、ちょっと物足りない。 リンクが紹介されていた、 Smooth Moods Machine というぐらいに活用しないと、せっかくの音源チップが「宝の持ち腐れ」である。 まぁ、Arduinoスタンドアロンで造形部分に力点を置くのであればこれもアリだが、せっかくなので僕の担当回ではMax/MSPでのサンプリング音なりシンセサイズ音に力点を置くことにしよう。

2017年10月23日(月)

昨夜の浜松駅付近という動画が流れてきたが、今朝は台風一過の秋晴れである。 昨日の午後に進めていた「Arduino Microを"ステッピングモータ制御USB-MIDIデバイス"化してMax7から制御」というシステムのための実験は、早めに帰宅(途中でイオンが臨時増産したというコロッケ購入)の呼び出しがかかって中断していたので、記録もまだ撮っておらず、そのまま今日から再開となった。

YouTube

そして10時過ぎには上のように、ユニポーラタイプのステッピングモータに対して、Max7のパッチから「1-Phase」と「2-Phase」の2種類を切り替えて、回転方向も切り替えて、さらにモーターの回転スピードも変化制御できる、という「MIDIデバイス」としてのArduinoスケッチが完成してしまった。 これで、山本さんの作品については、使用するモータ数(上限=5)に応じて、さらに時分割多重化による並列処理を記述するだけでOKとなった。 Arduinoスケッチは以下である。

#include "MIDIUSB.h"

int timer0, timer1;
int motor_bit0 = 4;
int motor_bit1 = 5;
int motor_bit2 = 6;
int motor_bit3 = 7;
int motor_phase = 0;
int motor_speed = 500;
int motor_mode = 1;
int motor_direction;
int LED_speed = 5000;

void setup() {
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(motor_bit0, OUTPUT);
  pinMode(motor_bit1, OUTPUT);
  pinMode(motor_bit2, OUTPUT);
  pinMode(motor_bit3, OUTPUT);
  timer0 = timer1 = 0;
  motor_go();
}

void controlChange(byte channel, byte control, byte value) {
  midiEventPacket_t event = {0x0B, 0xB0 | channel, control, value};
  MidiUSB.sendMIDI(event);
}

void loop() {
  midiEventPacket_t rx;
  rx = MidiUSB.read();
  if (rx.header != 0) {
    if (rx.byte1 == 0xB0){
      switch(rx.byte2){
        case 0:
          LED_speed = 100 + 10 * rx.byte3;
          break;
        case 1:
          motor_speed = 10 + 2 * rx.byte3;
          break;
        case 2:
          motor_mode = rx.byte3;
          break;
      }
    }
  }
  if (++timer0 > 101){
    timer0 = 0;
    builtin_led();
  }
  if (++timer1 > 37){
    timer1 = 0;
    motor_go();
  }
}

void motor_go(){
  static int timer;
  timer++;
  if (timer < motor_speed) return;
  timer = 0;
  switch(motor_mode){
    case 1:
      motor_direction = 1;
      motor_mode_1phase();
      break;
    case 2:
      motor_direction = 3;
      motor_mode_1phase();
      break;
    case 3:
      motor_direction = 1;
      motor_mode_2phase();
      break;
    case 4:
      motor_direction = 3;
      motor_mode_2phase();
      break;
    case 0:
      return;
  }
  motor_phase = (motor_phase + motor_direction) & 3;
  return;
}

void motor_mode_1phase(){
  switch(motor_phase){
    case 0:
      digitalWrite(motor_bit0, LOW);
      digitalWrite(motor_bit1, LOW);
      digitalWrite(motor_bit2, LOW);
      digitalWrite(motor_bit3, HIGH);
      break;
    case 1:
      digitalWrite(motor_bit0, LOW);
      digitalWrite(motor_bit1, HIGH);
      digitalWrite(motor_bit2, LOW);
      digitalWrite(motor_bit3, LOW);
      break;
    case 2:
      digitalWrite(motor_bit0, LOW);
      digitalWrite(motor_bit1, LOW);
      digitalWrite(motor_bit2, HIGH);
      digitalWrite(motor_bit3, LOW);
      break;
    case 3:
      digitalWrite(motor_bit0, HIGH);
      digitalWrite(motor_bit1, LOW);
      digitalWrite(motor_bit2, LOW);
      digitalWrite(motor_bit3, LOW);
      break;
  }
  return;
}

void motor_mode_2phase(){
  switch(motor_phase){
    case 0:
      digitalWrite(motor_bit0, LOW);
      digitalWrite(motor_bit1, HIGH);
      digitalWrite(motor_bit2, LOW);
      digitalWrite(motor_bit3, HIGH);
      break;
    case 1:
      digitalWrite(motor_bit0, LOW);
      digitalWrite(motor_bit1, HIGH);
      digitalWrite(motor_bit2, HIGH);
      digitalWrite(motor_bit3, LOW);
      break;
    case 2:
      digitalWrite(motor_bit0, HIGH);
      digitalWrite(motor_bit1, LOW);
      digitalWrite(motor_bit2, HIGH);
      digitalWrite(motor_bit3, LOW);
      break;
    case 3:
      digitalWrite(motor_bit0, HIGH);
      digitalWrite(motor_bit1, LOW);
      digitalWrite(motor_bit2, LOW);
      digitalWrite(motor_bit3, HIGH);
      break;   
  }
  return;
}

void builtin_led(){
  static int timer, flag;
  timer++;
  if (timer > LED_speed){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(LED_BUILTIN, flag);
  }
}

そして午前中には突然に電話がかかってきて、来年2月に卒業生の見崎さんの結婚式に行くことになった。 僕は基本ルールとして「新郎新婦の両方が教え子でないと結婚式には出ない」ということで、過去にはこの条件に合致する2件(いずれも1期生と3期生同士)と、例外的に新郎がネットでの知り合い、というケースにのみ出席してきた。 今回はこのルール上は例外となるが、見崎さんは大学院でもみっちり一緒だったし、シドニーのNIME2010にも一緒に行ったり、焼津での山村さんとの個展などでも交流が続いているので、まぁ十分にOK例外とした。

そして午後になって、院生のブンちゃんが研究室に来て、制作するシステムの相談をして、マルチメディア室に行ってロッカーに置いていたフットスイッチ5個を持ってきて、これを使った新しいリハビリ(認知症予防)システムのためのインターフェースをArduino Unoで制作する、という作戦を立てた。 そして上のように、秋月電子のモータが納品されてきたので、ケーブルをコネクタに繋ぐようにハンダ付けしてみると、まったく問題なく動いて、作品に使えると判明した。 ただし今回のモータは「2相」とあって、1-Phaseモードでは順調に回転するものの、2-Phaseモードではなんだか異音がして良好ではない。 これは水曜日のゼミの時にでも皆んなでチェックしてみよう。

2017年10月26日(木)

昨日のゼミでは このように 各自の進捗報告とともに、ブンちゃんシステムの方針が決まり、さらに山本さんシステムのステッピングモータの作戦も確認した。 そして昨日の夕方に届いたメイルで、11月末に東京に行くという新たな目標が出てきた。 僕のサイトの MIDI日曜大工日記 というのは1998年ごろに書いたものだが、ここに登場している後藤英さんからのメイルである。 後藤さんとの付き合いはとても長くて、最初はIRCAMに特注センサ(32ch)を納品(フランス機関への輸出)した事から始まったが、彼との繋がりからタナカアタウともお友達になり、その後もSUACで開催した MAF2002 のDSPSSの講師で来日してくれたり、 NIME2004 では一緒にコンサートも行ったり、 Sabbatical2004 ではパリでお世話になったり、その後も主として海外で何度となく、御一緒してきた。 そんな後藤さんは、最近、 東京藝術大学音楽環境創造科専任教員 となって活躍しているのである。

Data: November 27, 2017 from 13:00 to 16:10
Place: Conference Room 2, Tokyo University of the Arts, Department of Musical Creativity and the Environment
Adresse : 1 Chome-25-1 Senju, Adachi, Tokyo 120-0034, Japon
Téléphone : +81 50-5525-2742

そして今回、後藤さんのフランスでの活動の拠点であるIRCAM(僕もここで講演したり、NIME2006の会場となって通った)から、「IRCAMのSound Music Movement Interaction teamのボス、Frederic Bevilacquaが藝大の国際シンポジウムに招待されるので、これと別の日に、日本でのセンサー/インターフェース関係の権威者と共にこの分野に関するプレゼンテーションをできないか、と彼と話し合っています」との打診があったのである。 こちらの予定と調整した上で、今回、上のような予定でどうですか、と来たので二つ返事でOKと返信したところであり、東京藝大の上野の音楽学部は行ったことがあったが、新しく出来た 千住キャンパス にはまだ行ったことがないので、楽しみなのだ。

YouTube

int timer0, timer1;
int ledpin = 13;
int send_data;
int send_old;

void setup()
{
  Serial.begin(115200);
  digitalWrite(ledpin,HIGH);
  delay(500);
  digitalWrite(ledpin,LOW);
  pinMode(2,INPUT);
  pinMode(3,INPUT);
  pinMode(4,INPUT);
  pinMode(5,INPUT);
  pinMode(6,INPUT);
  timer0 = timer1 = 0;
}

void loop(){ 
  if (++timer0 > 1001){
    timer0 = 0;
    builtin_led();
  }
  if (++timer1 > 100){
    timer1 = 0;
    switch_check();
  }
}

void switch_check(){
  send_data = 0;
  if (digitalRead(2) == LOW) send_data = send_data + 16;
  if (digitalRead(3) == LOW) send_data = send_data + 8;
  if (digitalRead(4) == LOW) send_data = send_data + 4;
  if (digitalRead(5) == LOW) send_data = send_data + 2;
  if (digitalRead(6) == LOW) send_data = send_data + 1;
  if ( send_data == send_old ) return;
  Serial.print(send_data);
  Serial.println(); 
  send_old = send_data;
  return;
}

void builtin_led(){
  static int timer, flag;
  timer++;
  if (timer > 500){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(ledpin, flag);
    Serial.print(send_data);
    Serial.println(); 
  }
}

そして4限の学部教授会と大学院教授会がありながら、午後だけで上の このように 、馬ブンさんの作品のためのインターフェースがあっさりと完成してしまった。 5個のスイッチをビット単位の値として加算した「0〜31」のデータだけを数値文字として送る、というArduinoスケッチも簡単に出来た。 本当に、いい時代になったものだ。(^_^)

2017年10月30日(月)

来月末の東京藝大でのprivateミニカンファレンスの相談は、着々と後藤さんと続いている。 金曜日は午前中に こんなページ を発掘編集して終わり、午後4-5限は「メディア数理造形演習」があった。 土曜日はアカペラ有志2人とのみっちりサンカラ(38曲ずつ)を9時間。 日曜日はその休養日で先週の台風21号に続いて台風22号がほぼ同じルートで本州直撃の中、竜王戦第2局をアベマで観戦していて終わった。 そんな中、以下のように「キネクト終了」というニュースが舞い込んできた。 考えてみれば最近ではkinectを使ったインスタレーション作品などの目新しい情報もほとんど無くなり、学生が「kinect+Max7」で何かやろうとしても、kinect関係のライブラリなどは3-4年前から新しいものが出なくなっていて、「kinect時代の終わり」を予感していたのだが、まぁ感無量である。

そして今日に届いたニュースとしては、最後まで見られなかった竜王戦第2局の結果が羽生の連勝、という朗報と、以下のように「物理定数の精度が向上して再定義された」というものがあった。 遂にキログラムの基準も「原器」でなくなる、というニュースがあったのもたしか今月で、基本的な物理学の世界でもあれこれ着々と進展しているのだ。 どうしても世間は、やれVRだやれ機械学習だ・・・と新しげなものに注目するが、こういう地味な研究がその基盤を支えているのだ、と再確認した。

そして午後には院生の馬ブンさんのアポが入っていたが、午後イチで思い立った作業が、ブンちゃんが寝坊で遅刻していた1時間の間にあっさりと出来てしまって、5系統の時分割多重化によるArduino Microのステッピングモータの制御スケッチとMax7パッチは以下のように完成してしまった。 これはゼミ3回生の山本さん作品のためのシステムの仕掛けであり、ここでは、モーターをホールドせずにpower offするモードを追加してモーターの過熱に備えたのと、2種類のモータをいずれも「2相モード」で駆動するので「1相駆動」を省略する、という改良も加えている。

#include "MIDIUSB.h"

int timer0;
int timer1[5] = { 0, 7, 14, 21, 28 };
int timer2[5], motor_phase[5], motor_speed[5], motor_mode[5], motor_direction[5];
int motor_bit[5][4] = { {0,1,2,3},{4,5,6,7},{8,9,10,11},{12,13,A0,A1},{A2,A3,A4,A5} };
int LED_speed = 500;

void setup() {
  int i,j;
  Serial.begin(115200);
  pinMode(LED_BUILTIN, OUTPUT);
  for(i=0; i<5; i++){
    for(j=0; j<4; j++){
      pinMode(motor_bit[i][j], OUTPUT);
    }
    timer1[0] = 0;
    motor_mode[i] = 0;
    motor_speed[i] = 50;
  }
  timer0 = 0;
  motor_go(i);
}

void loop() {
  int i;
  midiEventPacket_t rx;
  rx = MidiUSB.read();
  if (rx.header != 0) {
    if (rx.byte1 == 0xB0){
      switch(rx.byte2){
        case 10:
          LED_speed = 100 + 10 * rx.byte3;
          break;
        case 0:
          motor_speed[0] = 10 + 2 * rx.byte3;
          break;
        case 1:
          motor_mode[0] = rx.byte3;
          break;
        case 2:
          motor_speed[1] = 10 + 2 * rx.byte3;
          break;
        case 3:
          motor_mode[1] = rx.byte3;
          break;
        case 4:
          motor_speed[2] = 10 + 2 * rx.byte3;
          break;
        case 5:
          motor_mode[2] = rx.byte3;
          break;
        case 6:
          motor_speed[3] = 10 + 2 * rx.byte3;
          break;
        case 7:
          motor_mode[3] = rx.byte3;
          break;
        case 8:
          motor_speed[4] = 10 + 2 * rx.byte3;
          break;
        case 9:
          motor_mode[4] = rx.byte3;
          break;
      }
    }
  }
  if (++timer0 > 101){
    timer0 = 0;
    builtin_led();
  }
  for(i=0; i<5; i++){
    if (++timer1[i] > 37){
      timer1[i] = 0;
      motor_go(i);
    }
  }
}

void motor_go(int i){
  timer2[i]++;
  if (timer2[i] < motor_speed[i]) return;
  timer2[i] = 0;
  switch(motor_mode[i]){
    case 0:
      motor_off(i);
      return;
    case 1:
      return;
    case 2:
      motor_direction[i] = 1;
      motor_mode_2phase(i);
      break;
    case 3:
      motor_direction[i] = 3;
      motor_mode_2phase(i);
      break;
  }
  motor_phase[i] = (motor_phase[i] + motor_direction[i]) & 3;
  return;
}

void motor_off(int i){
  digitalWrite(motor_bit[i][0], LOW);
  digitalWrite(motor_bit[i][1], LOW);
  digitalWrite(motor_bit[i][2], LOW);
  digitalWrite(motor_bit[i][3], LOW);
}

void motor_mode_2phase(int i){
  switch(motor_phase[i]){
    case 0:
      digitalWrite(motor_bit[i][0], LOW);
      digitalWrite(motor_bit[i][1], HIGH);
      digitalWrite(motor_bit[i][2], LOW);
      digitalWrite(motor_bit[i][3], HIGH);
      break;
    case 1:
      digitalWrite(motor_bit[i][0], LOW);
      digitalWrite(motor_bit[i][1], HIGH);
      digitalWrite(motor_bit[i][2], HIGH);
      digitalWrite(motor_bit[i][3], LOW);
      break;
    case 2:
      digitalWrite(motor_bit[i][0], HIGH);
      digitalWrite(motor_bit[i][1], LOW);
      digitalWrite(motor_bit[i][2], HIGH);
      digitalWrite(motor_bit[i][3], LOW);
      break;
    case 3:
      digitalWrite(motor_bit[i][0], HIGH);
      digitalWrite(motor_bit[i][1], LOW);
      digitalWrite(motor_bit[i][2], LOW);
      digitalWrite(motor_bit[i][3], HIGH);
      break;   
  }
  return;
}

void builtin_led(){
  static int timer, flag;
  timer++;
  if (timer > LED_speed){
    timer = 0;
    flag = ++flag & 1;
    digitalWrite(LED_BUILTIN, flag);
  }
}

その後、研究室でブンちゃんがMaxプログラミングの検討をしているのと並行して、山本さんのための新しいシステム基板を このように 製作していると、夕方に山本さんがアポ無しで1106にやってきた。 造形とからくりの仕組みについて、田邊先生にアポをとって聞いてきたことの整理検討などを行ったが、明日には宮田先生にアポを入れているという。 こうやって、デザイン学科教員(色々な専門家)にアポをとって聞いて回るというのは、デザインの学生の成長にとって、とても大切なことなのだ(^_^)。

2017年10月31日(火)

もう10月も終わり、台風一過で一気に秋を通り越して寒々としてきた。 午前にはとりあえず、同時進行で作ってきた、馬ブンさん作品のためのシステムと山本さん作品のためのシステムの「回路図」を、忘れないうちにと手描きしてスキャンしてみたのが以下である。 いつも、何も回路図ナシに製作して、後で改造とか再利用の時に回路図の解読/復元から苦労するので、この程度であっても描いておくことは大切なのだ。

そして午前中から午後にかけて、ちょうど業者が発注していたスイッチングACアダプタを午後に納品してきたこともあり、一気に このように 進めて、以下のように山本さん作品のためのシステムを完成してしまった。 一度もミスが無い、という手慣れた作業で、昨日に完成していたArduinoスケッチを書き込むと、ちゃんとMax7から5個のステッピングモータが制御できた。 明日のゼミにはこれを紹介して、記録の動画を撮ってみよう。

そういえば今日は10月31日、ハロウィンだったのだが、以下のように過去には学生たちが1106に押しかけた年もあったが、果たして今年はどうだろう。 あまり期待せずに夕方を待つことにした。 いずれにしても放課後はアカペラ、そして今週末は碧風祭である。

2017年11月1日(水)

昨日はなかなかに冴えまくった日だったが、今日は逆にあまり冴えない日となった。 昨日の放課後のアカペラでは、ハロウィンで来たのは上の2人だけで、1106研究室には膨大なお菓子が積み残った。 そして今日の2限のゼミはブンちゃん病欠、うららも4限と勘違いして欠席して、2人の3回生と進捗確認などを行った。 そして午後には、冴えないなりに、この日記の「2017年10月19日(木)」にあった TouchTheSound を、以下のように全てのサブパッチを開いて、その発想を追いかけつつ眺めてみたが、やはり他人の作った音源というのは微妙に好き嫌いがあって、そのまま使おうという気にはならなかった。

そして午後には、お仕事Mac miniにだいぶ溜まっていた色々な動画をバックアップHDDに整理したりして過ごした。 明日は会議の予定が無くなって終日空白のお仕事日和、さらに明後日は通常であれば全学休講の碧風祭準備日なのだが今年は祝日、となんとなく気抜けしたまま週末に向かう。 ここで気分一新する「何か」が欲しい、そんな贅沢な悩みもまた一興である。

2017年11月3日(金/祝)

昨日11/2(木)はほぼ終日、藤井聡太4段の順位戦のアベマ中継を眺めていただけで終わった。 夕食休憩に入ったので帰宅したのだが、翌日にフォローしてみると、相手の脇8段は夕食休憩後の再開からすぐ「どうしようもない状況」にアッサリと70手で投了していたのだった。 そして今日は、例年なら碧風祭準備日で全学休講のところ祝日なので邪魔も入らず、昨日の夕方に東京藝大カンファレンスの講師(後藤さんとフレデリックの他には、「cv.jit」のJean-Marc Pelletier氏、京産大の平井さん、「invisi.jp」のMatsuo Kenjiro氏、と僕)に対して後藤さんから「the conference on November 27 at Tokyo University of the Arts」というタイトルの以下のようなリクエストが届いていたので、のんびりとこれをやっつけることにした。 ちょうど「幻のICEC2017チュートリアル」のために 英語版のprofileページ を作っていたので、これをベースに拡充するという作戦である。 写真は京都精華大でのワークショップでRAKASU PROJECT.さんが撮ってくれたものと、モスクワのワークショップでMARSギャラリーのスタッフが撮ってくれたものから以下のようなものを選んで、この 英語版のprofileページ に追加した。

Dear all,
Thank you again for accepting the participation for the conference on November 27 at Tokyo University of the Arts. 
We would like to have the title of your presentation, the brief summery of presentation, your short biography, the 
links and your photos (or the photos of your devices etc.) by November 6 (Monday). Please write them in English. 
If you have any questions, please feel free to do so.
Thanks in advance.
Best regards,
Suguru Goto

そして夕方になってフト思い立ち、早めに帰宅して自宅の徒歩圏にある某カラオケに歩いて行き、(オフ会の直前にウォームアップに行った2回を除いて)生涯初めてのヒトカラを堪能(3時間28曲)してしまった。 まぁ、学園祭前日の、なんとなく浮き立った学内の雰囲気によるもの、という事にしておこう。(^_^;)

2017年11月5日(日)

昨日はまず午前中に、2ヶ月ごとの定期検査(緑内障)のために眼科に歩いて行き(瞳孔を拡大する6ヶ月ごとの検査なのでクルマに乗れない)、バスでSUACに向かい、近くの薬局で点眼薬を仕入れて研究室に出てくると、もうお昼だった。 出会いの広場に昼食の焼きそばとフランクフルトを仕入れに行ってみると、拡大した瞳孔のために眩しくて何も見えず、アカペラのちひろちゃんが出演するゴスペルのステージに行くのは断念した。 そういうわけで、碧風祭初日の写真は これだけ である。 そして午後は研究室内の明かりも決して、別途に仕入れたワインをいただきつつひたすらアベマで竜王戦の第3局を観戦していて終わった。 帰宅間際に、卒業生(1期生)の川崎真澄さんが研究室に来てくれたのは嬉しかった。 彼女は大学院1年の時に NIME2004 の実行委員会メンバーとして活躍してくれたし、学生と一緒に行ったのは初めてだった 5回目の沖縄 でも一緒だった。 一時、お姉さんの住む米国西海岸に暮らしたこともあり、英語塾の先生をしているそうである。

そして今日はクルマで大学に出てきて、上のようにスタート前からアベマで竜王戦の第3局のウインドウを開きつつ、お仕事モードで東京藝大カンファレンスのための準備に没頭することにした。 将棋の昼食休憩の頃に碧風祭を覗いて昼食を仕入れるとして、あとはもう研究室に籠城の体制である。

午前から午後まで数時間かかって、上のような このページ を、リンク先の多数の日本語HTMLの英語版ページを作りつつ、とりあえず完成させてみた。 昼食のお好み焼きと唐揚げを、おやつにクレープを仕入れに「出会いの広場」に下りただけ、という合間に覗いた碧風祭の風景は これだけ である。 そして残りの時間は、羽生も渡辺もソフトに無い手を連発して面白い竜王戦に没頭して、ちょうど碧風祭が終わった17時から10分ほどしたところで「羽生投了」を見届けて帰宅した。

2017年11月7日(火)

昨日は台湾の作曲家から届いたメイルに関連して このページ を改訂したり、日本音楽知覚認知学会が来年に出版する「音楽知覚認知ハンドブック」の原稿などに関するやりとり、そしてまだ公開していないページの執筆、さら詳細を書けない大学の重要なお仕事、などに追われているうちに終わった。 今年の音知学会は碧風祭とかぶったので行けず、さらに音楽情報科学研究会(11/25)も推薦入試とかぶって行けず、なかなか悩ましい「開催案内」が舞い込む季節なのだ。

YouTube

そして今日も午前中は「音楽知覚認知ハンドブック」原稿に関するやりとり、ヤフオクで新たに落札したキャストモデル3種のやりとり、などに費やして、昼休みからようやく再開したのは、ちょうど1ヶ月ぶりとなる、上の「PAW-eight」ソフト(ゲーム)へのサウンドデザイン、つまり音パートのプログラミングである。 当初は12月のバイオフィードバックセミナーまでに・・・と思っていたが、今月末の東京藝大でのブレゼンに持参してお披露目したい、と思い付いたので、priorityが繰り上がったのだ。 上のYouTubeはQuickTimeXの「screen recording」機能で記録していて、そのデスクトップにあるカメラ画像はQuickTime7の「movie recording」機能のウインドウであるが、これだといくらサウンド部分をプログラミングしても記録されない(^_^;)ので、これを最終的に記録するには、ゼミの場などで動画撮影するしかなくなるが、当面はヘッドホンでの作業となる。

・・・そして約3時間、まぁヘッドホンで連続的な高音クラウドを聞くのはそのあたりが限界であり、とりあえず上のように、最初のサウンドマッピングのバージョンが出来た。 まぁ新興宗教の「修行」みたいなものであるが(^_^;)、やっている感じとしてはなかなか面白い。 ただし「ゲーム」としてのモチベーションには自分としても課題を感じていて、これはまたちょっと時間を置いて再検討、あるいは学生に体験してもらって意見をもらおう、という感じである。

2017年11月9日(木)

YouTube - YouTube

昨日のゼミは上のように こんな感じ で順調に進み、その後はずっと順位戦A級の羽生vs三浦(→深夜に羽生勝利)の画面を開きつつ、年に一度の書類書き、というお仕事に追われた。 そして今日、後藤さんから 東京藝大でのカンファレンス の暫定案が届いた(文字化けしてるバックアッブは これ )が、全体枠が約3時間のところに講師6人ということで、一人30分、と予告された。 45分ぐらい欲しい・・・と言っていたのだが、まぁ仕方ないか(^_^;)。 こうなると、 プレゼンページ もきちんと拡充していかないといけない。 そしてあとは、年に一度の書類書き、というお仕事を、今日でなんとかやっつけることにした。

2017年11月12日(日)

金曜日には、碧風祭の準備日でもあった祝日で1週スキップした「メディア数理造形演習」をしっかりと進めた。 12月の音楽即興学会の大会プログラムも このように (文字化けした場合には文字エンコードを「Unicode」にする)公開されたので、東京藝大カンファレンスの情報とともにMACS-MLに告知してみた。

そしてこの週末はとりたてて何も進展していないようで、上のアベマTVでの将棋(若手に6連敗していたベテラン最後の木村9段が勝利)などに邪魔されつつ(^_^;)も、実は12月のバイオフィードバックセミナーのために準備していた内容を整理したのである。 そして、とりあえず暫定で このページ を作ってみたところまで上げてみた。 まだまだここからであるが、東京藝大での講演、音楽即興学会での発表に続いて、いよいよ今年の発表シリーズ3件に向けて加速していくことになる。

2017年11月17日(金)

もう週末であるが、今週はずっと、まだ公式には公開していない このページ の拡充のため、下條先生の著作3冊に続いてダマシオ4部作をひたすら再読精読している。 今日は、午後の「メディア数理造形演習」の講義ページをちょっとだけ改訂したが、先週に紹介したProcessingに反応したグループがあったので、過去の資料から発掘して、 Processing日記SuperCollider日記 にあった、以下のスクリーンショットのリンクを置いてみた。 Maxは当時はMax5であるが、まぁこれはOSCの活用例であり、MyoでもMUSEでも、基本的にはまだまだ完全に現役である。

そして今日は、共同研究の制約から「仮題」だった僕の音楽即興学会での発表タイトルが、「 自動運転車のためのリアルタイム作曲システムに必要な音楽ヒューリスティクスと即興性 」と、JASMIMのページでも正式公開された。 会場に来た参加者だけが受け取れる概要集の原稿は以下であり、これはかなり挑戦的なものだが、まぁプレゼンは直前にチャッチャと作る予定である。 テキストだと余計な検索にひっかかって「表に出る」可能性もあるが、画像データとしておけば置いておいても誰も気に留めないだろう。(^_^;)

2017年11月21日(火)

先週金曜日の「メディア数理造形演習」では、マルチメディア室の多数のMacでOSC通信が出来る、と実験できたので、引き続き、これまで講義で扱ったことは無かったが、何かやっていく事にした。 先週末は特に何もない週末で、 このページ を引き続き拡充しつつ、裏ではNHK杯で情けない羽生惨敗を目の当たりにしたが、まぁ竜王戦に傾注しているので仕方ない。 昨日は有休をとって「ゼミ懇親会+うらら就活祝勝会」で学生4人と8時間マラソンカラオケ(それぞれ最大25曲)を堪能した。 今日は4限にブンちゃんが来て、12月の奈良でのBFセミナーでお披露目する認知症対策システムの構想を相談して、何やら詳細不明の以下のような実験試作Maxプログラミングを開始した。 明日のゼミは4限なので、それまでこのプログラミングを進めてみよう。

2017年11月23日(木)

昨日はゼミ以外の時間にMax7でのプログラミングをずっと進めて、さらに今日と明日は竜王戦第4局をBGVにして進めて、遂に以下のように、素材は全て「仮」であるものの、やりたい事を組み込んだプロトタイプが完成した。 ここにブンちゃんのキャラを埋め込んでいけば、なんとなく実験試作を完成できそうである。

YouTube

理事としての年内の宿題となっていた時間学会の来年のロゴデザインコンペに関しても、偶然に こんなページ を発見して、募集案の作成には最適なテンプレートとして活用できそうである。 さらにその後、ダマシオの3冊目を読了して このページ を拡充した。 情動と感情にまつわる脳科学の進展が、スピノザというキーワードとともにウェルネス/ウェルビーイングに繋がってきたのはちょっと出来過ぎだが、論旨としてはいい感じに結びついてきた。

2017年11月24日(金)

明日は推薦入試、明後日は東京に出かけて翌日の月曜日はいよいよ 東京藝大での講演 という大詰めの日であり、午後の4-5限には「メディア数理造形演習」がある。 ところが、昨日の祝日から始まった竜王戦第4局の2日目のアベマ生中継をお仕事Macの2画面の片方のBGVにして終日、後ろ髪を引かれる・・・という変則的な1日となった。

まず、東京藝大プレゼンのKeynoteはICMC2016での発表をベースとしてほぼ完成していたが、PAWセンサの説明のシートとして、上のようにエカテリンブルクからモスクワに移動するシベリア横断鉄道の車内でその場で作った図があった事を思い出して、 このページ の「2016年9月23日(金)」のところから このPDF を発掘して、無事にKeynoteに貼り込んだ。

そして昼休み(竜王戦の昼食休憩)をまたぐあたりで、上のように持参機材をチャッチャと並べて、実際にデモ用Maxパッチでの動作を確認して、キャリングバッグに収める箱3つにパッキングまで行った。 あとは、直前まで「お仕事Mac」で変更されるWebに置かれたデータの最新版をUSBメモリに収めて出発、という体制にした。

そして4-5限の「メディア数理造形演習」では、学生が3チームに分かれてそれぞれ「何か」インタラクティブなものの制作に挑戦しているのだが、その中のチーム「shy」が、ちょっと懐かしい、上の「reacTIVision」をネタとして発掘してきて、これで何かやりたい・・・という話になった。 過去にメディアの学生がやっていた時には、和田先生がフォローしてProcessingあたりでやっていたので僕はノータッチだったが、これはまさにOSCそのものだという事で、来週までの僕の「宿題」として引き受ける事にした。 そして、とりあえず このサイトこのサイト とを見つけて、なんとか出来そう・・・と判明してきた。

2017年11月25日(土)

好天に恵まれた推薦入試の当日、面接試験担当の我々の集合時刻はかなり遅いので、午前中にちょっと「reacTIVision」を調べてみようか・・・と昨日のリンクなどを調べていると、さらに このサイト に行き着いたことで、以下のようにアッサリとMaxで多数のマーカーの追従(x座標とy座標と角度をリアルタイムに取得)が出来てしまった。 明日の東京行きの新幹線の車内でやってみよう、と思っていたのだが、所用およそ30分、出来てしまえば簡単だった。

YouTube

そして午後に面接試験を無事に終了した。 いつもの事だが、入試のお仕事というのは、終了後の心地よい疲労感が残る。 さっそく、チーム「shy」には上のYouTubeを知らせた。 そしていよいよ明日は東京行きである。

2017年11月28日(火)

一昨日に東京に行き、昨日は無事に東京藝大のカンファレンスでの講演を、久しぶりでヨレヨレの英語ではあったものの、無事に済ませた。 プレゼンはどこかで見たようなデジャヴであるが(^_^;)、 これ である。 しかし、講師が次々に交代する際に、多数のブツを移動させる、という手間に翻弄されて、 このページ のように、自分の講演の様子を平井さんに撮ってもらうつもりでデジカメを持参したのに頼むのを忘れて(^_^;)、自分はまったく写っていない記録となった。

電子情報通信学会からは、来年3月中旬に東北大で開催されるHCS(ヒューマンコミュニケーション基礎)研究会の案内が届いて、ここは頑張って仙台に行こう・・・と決心した。 そして午後からは、今週末の土曜日に迫ってきた、音楽即興学会での発表の準備として、だいぶ忘却の彼方にあった、TOYOTAとの共同研究のプレゼンを作り始めた。 上のように、「自動運転車」という画像検索で、いくらでも話題としてコメント出来る画像がわんさかゲットできて、プレゼン作成はほぼ終わってしまった。 まだ追加と微調整はあるものの、絶対にウケる発表を確信しつつ作業した。

2017年11月29日(水)

1限は引き続き、音楽即興学会での発表プレゼンを作り進めて、152種類のコード進行から統計確率的に選択する・・・などの要点をまとめた。 2-3限はメディア造形学科会議で、4回生(もはやメディア造形学科には4回生しかいない)の卒業制作の中間報告があった。 その中で、有川さんの作品はフルCGでハムスターを登場させるのだが、どうも我が家のハムスターの姿との違いが気になったので、YouTubeに過去に上げた以下の動画のURLを有川さんにメイルしてみた。

いやー、久しぶりに見たら、癒される(^_^)。 この動画のハムスターはたしか2代目で、我が家では先月に昇天した3代目の後、まだ4代目を迎えていないが、年末に向けて、ぼちぼち4代目が欲しくなってきているので、いずれまたこの癒しで満たされることになるだろう。

2017年12月1日(金)

昨日は教授会を挟んで、さらに今週末(もう明日だ(^_^;))の日本音楽即興学会での発表準備を進めて、 このように プレゼンを完成させた。 今回は現地に着いて最初のセッションで発表なので、いつものように他の発表の合間に内職で改訂することもなく発表しそうである。
    • 奈良学園大の辻下先生からのメイルが届いた
      → 学科新設に関する都合で12/16のBFセミナー開催は困難
      → 延期しましょう、と提案
      → とりあえず延期決定
      → 同行予定だった院生への連絡
      → ホテルのキャンセル連絡
      → SUAC公用車の予約キャンセル
    • 日本音楽即興学会から、明日からの大会に関して間際になってのあれこれ連絡が届いた
      → 会員向けの予行PDFをゲット
      → 当日に関する連絡(1)
      → 当日に関する連絡(2)
      → 出張準備にプチ反映
    • 来年2月に筑波で開催される音楽情報科学研究会の開催案内が届いた
      → T◯Y◯T◯共同研究ネタでの発表を計画
      → 豊田中研に「謝辞/共著」の打診
      → 参加費(宿泊合宿)の手続きについてSUAC事務局に打診
      → SUAC事務局から手続き方法の連絡
      → 先着順ということでとりあえず発表応募
そして今日は朝から、あれこれあれこれ、上のように届いたメイルからトリガされたやりとりと関連した対応に忙殺された。 さらにネットでは、「"音楽を聴いて鳥肌が立つ"経験をできるのは人口のごく一部しかいないことが明らかになった。ほとんどの人の脳ではニューロンと"音楽による鳥肌"がリンクしていないため、この現象を体験できないという」という 記事 があり、そこから オリジナル を探して眺めてみたり・・・というのに時間を取られた。 しかし、2ちゃんねるのスレを眺めた限りでは、日本人はとっても多くの人があれこれ「鳥肌」経験をしていて、「ごく一部だという外国人が可哀想」などという方向に盛り上がっていた。

2017年12月4日(月)

昨日と一昨日は京都に行って 日本音楽即興学会 の大会で発表してきた。 そして新たな週の始まりなのだが、なんと今日と明日は竜王戦の第5局、羽生さんが勝ったら永世7冠コンプリートという凄い瞬間が待っているので、ほとんど何も手につかないでアベマ画面を開き続けている。 出張報告の復命書、事務局から某書類の受け取り、ICMAの会員更新、などの事務仕事をこなしつつ、院生ブンちゃんは下宿で制作作業をして午後のアポも消えたので、まったりと出張明けの休息といった1日となった。

YouTube

そんな中、京都でフト思いついたMax/jitterの実験をやってみた。 新たなネタ、というよりは確認の実験である。 jitterでさんざん使っている「jit.lcd」であるが、前期「サウンドデザイン」で学生の課題作品で使われていた昔からの「lcd」オブジェクトとの共通点と相違点の確認、というのが目的なのだ。 そして、最終的にライヴカメラなどと画素単位の加算を行えば仕方ないものの、「jit.lcd」では透過属性を持たせたPNG画像をレイヤーのように単純合成できる、という事を確認した。 まぁ、当たり前と言えば当たり前だが、「jit.lcd」であればフルスクリーンに出来るので、これは「メディア数理造形演習」の各チームにも役立てられる情報なのだ。

2017年12月5日(火)

2017年12月8日(金)

あっという間に週末である。 一昨日の水曜日はデザイン学科の総合演習Iの中間報告会議と4限にゼミがあり、さらに5限には「沖縄作戦会議」を開催して、フライトとホテルの予約まで完了してしまった。 昨日の木曜日には順位戦C級2組の藤井4段の熱戦を観戦する間もなく、1-2限に「インタラクティブプロダクト演習」の担当回2日のうちの初日があり、熱心な学生にMax入門をびしばしと伝授した。 そして今日になり、ネットで結果を調べてみると藤井4段はまだ全勝を続けていた。

YouTube

そして2限になってフト思い立ち、今日の午後の「メディア数理造形演習」での「Arduinoプログラミング」のために、 このように ArduinoのためのスイッチとLEDを、学生9名+ゆきほ+自分、という11セット、チャッチャと作ってみた。 さらに、せっかくなので、この YouTubeアップロードの様子 もデスクトップキャプチャしてYouTubeに上げてみた。 これまで1000本以上のmovieをYouTubeに上げているが、いちいちこのように手作業しているのである。

そして、Arduinoプログラムの「お題」として、講義ページには上の「プログラミング6本勝負 - どこまで出来るか挑戦しよう」というのを置いたが、もちろん何の準備もなくマルチメディア室に向かって、その場でアドリブでプログラミング・・・という作戦である。 「演習」の時間というのは学生にとってだけでなく、教員にとっても勝負の時間なのだ。

2017年12月11日(月)

この週末は、土曜日には喪が明けて我が家に4代目のハムスターが来たり、日曜日にはアカペラ4回生就活祝勝カラオケマラソン9時間があったりして過ぎ去り、週明けの月曜日は午前に主治医に出かけたりしてまったりとスタートした。 先週の木金の「インタラクティブプロダクト演習」と「メディア数理造形演習」で久しぶりに意欲的な学生へのプログラミング伝授大会が始まったこともあり、まずはとりあえず、以下のように先週金曜日に講義の中でアドリブで作成した「第1問」と「第2問」の解答例を記録動画としてみた。

YouTube

そしてここからようやく「解答例」のプログラミング作業に入って、それぞれ約30分程度でデスクトップ動画の撮影とYouTubeへのアップロードも同時進行で進めつつ、 第3問の解答例第4問の解答例第5問の解答例、 と作っていたところに、学内でのある議論に関する相談メイルが届いてストップとなった。 まぁ、まずまず進んだので、これは「よし」としよう。

2017年12月12日(火)

今年パスしたSketching in Hardwareの主宰者Mike Kuniavskyから、来年のSketching2018が今年と同じデトロイトで開催される(early registrationでdiscount)・・・というアナウンスが昨日、届いていたのだが、なんと開催時期が7月末ということで、朝イチでしばし熟考の末、「参加を断念します」と私信で返信した。 日本の大学の7月の最終週というのは、試験・課題プレゼンなどのもっともホットな時期であり、新デザイン学科が4学年揃うことになる2018年の前期末というのは、ちょっと脱出困難なのだ。 学科運営が定型的に流れている時期ならともかく、まぁ、ここは仕方ない。
そして、当初は今週末に奈良に行ってバイオフィードバックセミナーだったが、その予定が延期となったので、週の前半は余裕がある。 とりあえず午前には、昨日の最後に残っていた第6問の解答例を15分ほどで完成させて、以下のようにYouTubeに上げた。 教材として有効なように、「++」演算子だけでなく「--」演算子も使い、さらにswitch文も入れてみた。 この6問のArduinoスケッチ解答例は これ である。

YouTube

理事をしている時間学会の事務局とは、来年度に予定している「学会ロゴコンペ」の企画に関するやりとりがあった。 おいおい募集になったら、ぜひSUAC学生にも応募して欲しいものだ。 そして放課後のアカペラまでの時間、懸案だったダマシオの4冊目の再読(精読)に没頭した。 当面、年内から年明けに向けた宿題としては、(1)これをまとめた某論文前半の執筆、そして(2)リベンジのSUAC特別研究申請、さらに(3)音情研ではT◯Y◯T◯ネタで「電子化に伴いページ数の制限撤廃」とされた予稿をタッッップリと執筆する、という作戦である。

デザイン学部 デザイン学科 長嶋 先生
日頃よりお世話になっております、学友会本部の◯◯◯です。
来年度に新入生に配る、新入生の書の作成に当たり、各学部の教授へインタビューをするコーナーを考えております。
そこでデザイン学科からは長嶋先生にお願いしたいと思っております。よろしければ、12月18日から12月22日、
もしくは1月10日から1月17日のお昼休みか授業後にご都合のよろしい日時を教えていただけないでしょうか。
お忙しいところ恐縮ですが、よろしくおねがいします。
学友会本部 総務 ◯◯◯◯◯

午後にダマシオ読書でウトウトしかけているところに飛び込んできたのは、上のようなメイルだった。 2000年4月のSUAC開学以来18年目、もちろん存在は知っているものの、学友会との直接のコンタクトというのは考えてみるとこれが初めてである。 とりあえず来週というのも忙しないので、予定が空白な1/10を回答しつつ、「なお、『来年度に新入生に配る、新入生の書』というものの、本年度とか過去のものをサンプルとして拝見したいので、別途に1106研究室(不在の際にはドアポケット)にお届け下さい」と返信してみた。 とりあえず、「届いたオファーは全て受ける」という原則に従って、決定まで10秒の即断だった。
その後も読書中にちらほらメイルが届いては対応する、というのどかな時間が過ぎた。 そして、朝にメイルしていたSketching in Hardwareの主宰者Mike Kuniavskyからは、「I understand and I hope you can make it to Sketching 2019. Have a great year!」というメイルが届いた。 まぁ来年の海外遠征はとりあえず1本に絞りたいが、まだ作戦はこれから考えていこう。

2017年12月16日(土)

もう週末である。 明日に予定していた有志カラオケはメンバーが集まらず消滅したが、来週の日(8時間)・月(9時間)という連チャンの予定があるので大丈夫なのだ。
13日の水曜日にはゼミでメンバー各自の進捗を確認したが、その後、ゼミ3回生の山本さんから「いまいちノッてこない」という相談を受けて、金曜日の2-3限を皮切りに、気分転換を兼ねて1106研究室で総合演習Iの作品制作に没頭する、という以下のような濃密な予定を立てた。 かつてはOGの野口さんが「はやくスシになりたい」を制作する冬休み、「下宿だと怠けるので1106で制作したい」というのを受け入れて支援したことがあったが、こういうのは嫌いじゃない。
      • 2017.12.15(金) 2-3限 ゼミ山本アポ
      • 2017.12.18(月) 2限-13:30 ゼミ山本アポ
      • 2017.12.19(火) 3-4限 ゼミ山本アポ
      • 2017.12.20(水) 2限 ゼミ
      • 2017.12.20(水) 3-4限 ゼミ山本アポ
      • 2017.12.21(木) 3-4限 ゼミ山本アポ
      • 2017.12.22(金) 2-3限 ゼミ山本アポ
14日の木曜日には「インタラクティブフロダクト演習」の担当回の後半があり、ちょっと無謀であるが、前半の「Max7で内蔵MIDI音源を鳴らす」に続いて、「Max7で任意のサウンドを鳴らす」というのをレクチャーした。 果たして、来週から残り5回の作品制作で、このテクニックを使う学生が何人出てくるか、これも期待したい。

15日の金曜日の午前からは、上のようにゼミの山本さんの1106での制作がスタートして、 このように 着々と作業が進んだ。 まだまだ、遠大な計画のごく一部であるが、とにかく着手して「走りながら考える」というのも大事なのだ。

15日の金曜日の4-5限の「メディア数理造形演習」では、 このように 3チームの作業が、こちらもいよいよスタートした。 2チームが「プロジェクタを鏡で反射させてのプロジェクション」という要素を持つので、大小2枚の「ブロジェクタ用反射鏡」を研究費から約2万円で仕入れて提供した。 通常の鏡はガラスの後面境界に反射材があって、入射光が屈折するので画像が滲むのに対して、このブロジェクタ用反射鏡はガラスの表面境界に反射材がコーティングしてある、という特殊なものなのだ。

上のArduinoスケッチとMax7パッチは、チーム「メディアなんたら」のためにサッと10分ほどで作ったもので、フットスイッチをArduinoのアナログ入力ポートに接続して、Max7からポーリングでそのスイッチ状態を取得する、というものである。 これまでの講義で紹介したMaxパッチと組み合わせて、ものの30分ほどで、学生がサッと描いた3種類のアニメーションmovieが、(1)フットスイッチを踏むとズームインして、(2)フットスイッチを踏み続けるとキャラクターが踊って、(3)フットスイッチを離すとズームアウト、という画像をフルスクリーンで天井に投射する、という実験まで出来てしまった。 作品ではこれを上空のプロジェクタから床に投射して、フットスイッチはその画面中央に置く計画である。

そして他の2チームも ここ にあるように、チーム「インタラ映え」は多数のiMacを並べてOSCによるマルチスクリーンをインタラクティブに使おうという野心的な計画、チーム「shy」はreacTIVisionを使ったインスタレーションとして、今度はテーブル状のスクリーンにプロジェクタから反射鏡を介して投射し、そこにアメーバタグの付いた色々なものを置いてカメラ画像認識する・・・という、僕はMaxではやった事のない新境地に挑戦するという。 残り講義回数が限られ、さらに冬休みで約1ヶ月のブランク(スキップ)があるものの、ぜひ完成に向けて支援していきたい。

さらに木曜から金曜にかけて多数のメイルが行き来して、来年2018年2月にSUACメディアデザインウイークを開催するのに合わせて、またスケッチングワークショップを行うことになった。 例年のRAKASU PROJECT.さんでなく、今回は講師としてはニューフェイス、照岡さんと長谷部さんに依頼して快諾を受けた。 本日時点ではまだ非公開で検討中だが、おいおい 参加募集ページ を公開して、参加者を募っていくことになる。 照岡さんとはもう30年ぐらいの付き合いで、 VPP の仲間である。 このページの「VPPM」が照岡さん、「VPPF」が東大の中村文隆さん(僕のUinxの師匠)、「VPPY」が僕である。

上の写真の長谷部さんは 去年のOMMF2016(大垣) でのものだが、実は彼との付き合いは浜松の合唱界の歴史に遡り、こちらもかなり古い。 SUAC開学翌年の2001年に瞑想空間で行った演奏 Ave Verum CorpusThe lamentations of Jeremiah で並んだ6人のうち右から2人目のベースが長谷部さんであり、左端が僕なのだ。 メイルの相談で、長谷部さんは MagicFlute とか HoneycombBell とか、ヤマハ社内のお仕事で兼務したという FM音源ボードYMF825Board とかも紹介してくれるというので、楽しみである。

そして今朝の朝刊のトップ記事だったのが、上の "数学の超難問・ABC予想を「証明」 望月京大教授" というニュースである。 これはもう5年前、2012年9月に、 続・Propeller日記(3) の中の 2012年9月19日(水) のところで、熱く熱く語っていた話題なのだ。 せっかくなのでリンクだけでなく、この内容をここで以下に転載することにした。

2012年9月19日(水)

朝、出かける間際に「めざましテレビ」でチラッと聞いた凄いニュースで、Propellerどころか、この日は午後まで、他に何も出来なかった。 Nature電子版 のニュースだと、以下のようなカンジである。
Proof claimed for deep connection between primes

If it is true, a solution to the abc conjecture about whole numbers would be an ‘astounding’ achievement.

10 September 2012

The usually quiet world of mathematics is abuzz with a claim that one of the most important problems in number theory has been solved.

Mathematician Shinichi Mochizuki of Kyoto University in Japan has released a 500-page proof of the abc conjecture, which proposes a relationship between whole numbers — a 'Diophantine' problem.

The abc conjecture, proposed independently by David Masser and Joseph Oesterle in 1985, might not be as familiar to the wider world as Fermat’s Last Theorem, but in some ways it is more significant. “The abc conjecture, if proved true, at one stroke solves many famous Diophantine problems, including Fermat's Last Theorem,” says Dorian Goldfeld, a mathematician at Columbia University in New York. “If Mochizuki’s proof is correct, it will be one of the most astounding achievements of mathematics of the twenty-first century.”

Like Fermat’s theorem, the abc conjecture refers to equations of the form a+b=c. It involves the concept of a square-free number: one that cannot be divided by the square of any number. Fifteen and 17 are square free-numbers, but 16 and 18 — being divisible by 42 and 32, respectively — are not.

The 'square-free' part of a number n, sqp(n), is the largest square-free number that can be formed by multiplying the factors of n that are prime numbers. For instance, sqp(18)=2×3=6.

If you’ve got that, then you should get the abc conjecture. It concerns a property of the product of the three integers axbxc, or abc — or more specifically, of the square-free part of this product, which involves their distinct prime factors. It states that for integers a+b=c, the ratio of sqp(abc)r/c always has some minimum value greater than zero for any value of r greater than 1. For example, if a=3 and b=125, so that c=128, then sqp(abc)=30 and sqp(abc)2/c = 900/128. In this case, in which r=2, sqp(abc)r/c is nearly always greater than 1, and always greater than zero.

Deep connection

It turns out that this conjecture encapsulates many other Diophantine problems, including Fermat’s Last Theorem (which states that an+bn=cn has no integer solutions if n>2). Like many Diophantine problems, it is all about the relationships between prime numbers. According to Brian Conrad of Stanford University in California, “it encodes a deep connection between the prime factors of a, b and a+b”.

Many mathematicians have expended a great deal of effort trying to prove the conjecture. In 2007, French mathematician Lucien Szpiro, whose work in 1978 led to the abc conjecture in the first place claimed to have a proof of it, but it was soon found to be flawed.

Like Szpiro, and also like British mathematician Andrew Wiles, who proved Fermat’s Last Theorem in 1994, Mochizuki has attacked the problem using the theory of elliptic curves — the smooth curves generated by algebraic relationships of the sort y2=x3+ax+b.

There, however, the relationship of Mochizuki’s work to previous efforts stops. He has developed techniques that very few other mathematicians fully understand and that invoke new mathematical ‘objects’ — abstract entities analogous to more familiar examples such as geometric objects, sets, permutations, topologies and matrices. “At this point, he is probably the only one that knows it all,” says Goldfeld.

Conrad says that the work “uses a huge number of insights that are going to take a long time to be digested by the community”. The proof is spread across four long papers1-4, each of which rests on earlier long papers. “It can require a huge investment of time to understand a long and sophisticated proof, so the willingness by others to do this rests not only on the importance of the announcement but also on the track record of the authors,” Conrad explains.

Mochizuki’s track record certainly makes the effort worthwhile. “He has proved extremely deep theorems in the past, and is very thorough in his writing, so that provides a lot of confidence,” says Conrad. And he adds that the pay-off would be more than a matter of simply verifying the claim. “The exciting aspect is not just that the conjecture may have now been solved, but that the techniques and insights he must have had to introduce should be very powerful tools for solving future problems in number theory.”

この「ABC予想」の証明が正しければ、なんとあの「フェルマー予想」の証明が即カンタンだ、というのだから聞き捨てならない。 今度は ABC予想 を調べてみると、以下のようなカンジであり、既にこの京大の望月先生の証明のニュースが加筆されていた。
ABC conjecture

A remarkable conjecture, first put forward in 1980 by Joseph Oesterle of the University of Paris and David Masser of the Mathematics Institute of the University of Basel in Switzerland, which is now considered one of the most important unsolved problems in number theory (but see the section below this introduction). If it were proved correct, the proofs of many other famous conjectures and theorems would follow immediately - in some cases in just a few lines. The vastly complex current proof of Fermat's last theorem, for example, would reduce to less than a page of mathematical reasoning. The ABC conjecture is disarmingly simple compared to most of the deep questions in number theory and, moreover, turns out to be equivalent to all the main problems that involve Diophantine equations (equations with integer coefficients and integer solutions).

Only a couple of concepts need to be understood to grasp the ABC conjecture. A square-free number is an integer that isn't divisible by the square of any number. For example, 15 and 17 are square-free, but 16 (divisible by 42) and 18 (divisible by 32) are not. The square-free part of an integer n, denoted sqp(n), is the largest square-free number that can be formed by multiplying the prime factors of n. Thus, for n = 15, the prime factors are 5 and 3, and 3 × 5 = 15, a square-free number. So sqp(15) = 15. On the other hand, for n = 16, the prime factors are all 2, which means that sqp(16) = 2. Similarly, sqp(17) = 17 and sqp(18) = 6. In general, if n is square-free, the square-free part of n is just n; otherwise, sqp(n) represents what is left over after all the factors that create a square have been eliminated. In other words, sqp(n) is the product of the distinct prime numbers that divide n. For example, sqp(9) = sqp(3 × 3) = 3 and sqp(1400) = sqp(2 × 2 × 2 × 5 × 5 × 7) = 2 × 5 × 7 = 70.

The ABC conjecture deals with pairs of numbers that have no common factors. Suppose A and B are two such numbers and that C is their sum. For example, if A = 3 and B = 7, then C = 3 + 7 = 10. Now, consider the square-free part of the product A × B × C: sqp(ABC) = sqp(3 × 7 × 10) = 210. For most choices of A and B, sqp(ABC) is greater than C, as in the example above. In other words, sqp(ABC)/C > 1. Occasionally, however, this isn't true. For instance, if A =1 and B = 8, then C = 1 + 8 = 9, sqp(ABC) = sqp(1 × 8 × 9) = sqp(1 × 2 × 2 × 2 × 3 × 3) = 1 × 2 × 3 = 6, and sqp(ABC)/C = 6/9 = 2/3. Similarly, if A = 3 and B = 125, the ratio is 15/64, and if A = 1 and B = 512, the ratio is 2/9.

David Masser proved that the ratio sqp(ABC)/C can get arbitrarily small. In other words, given any number greater than zero, no matter how small, it's possible to find integers A and B for which sqp(ABC)/C is smaller than this number. In contrast, the ABC conjecture states that [sqp(ABC)]n/C does reach a minimum value if n is any number greater than 1 - even a number such as 1.0000000000001, which is just barely larger than 1. The tiny change in the expression makes a vast difference in its mathematical behavior. The ABC conjecture in effect translates an infinite number of Diophantine equations (including the equation of Fermat's last theorem) into a single mathematical statement.

The ABC Conjecture proved?

In 2012, Shin Mochizuki claimed to have proved the ABC Conjecture using a new set of techniques, which he calls “inter-universal geometry” - a generalization of the foundations of algebraic geometry. In a nutshell, Mochizuki has devised a new scheme of mathematical objects, which he believes he understands well enough to apply to proving this long-standing problem in Diophantine analysis.

It will take some time for other mathematicians to check through Mochizuki's proof because first they will have to make themselves familiar with the world of inter-universal geometry. But Mochizuki reputation is sufficiently high, and the Conjecture sufficiently important, that the effort will be made.

そして、ニュースのリンクに従って 宇宙際幾何学者・望月新一 というページ(「宇宙際」というのは「国際」など小さなものでは無い、という事かぁ!?)に行ってみると、 太っ腹に、この証明の論文(4分割されていて総計500ページ!)のPDFが置かれていた。 ニュースで集中しているらしく京大のサーバでも切れ切れだったが(^_^;)、ゲットした。これである。

これは査読に相当な時間がかかるだろう、という事だけ判った(^_^;)。 「宇宙際」というのは、過去にuniversalがあるのを拡張してinter-universalと呼んだようである。 2ちゃんねるで、以下のようにスッキリと整理して解説した人は、相当に解っている人だろう。

==予備知識==
abc-triple
	正の整数 a,b,c について、a + b = c かつ a, b は互いに素である三つ組 (a, b, c)
rad(n)
	正の整数 n の、素因数の積。
		(例) rad(504) = rad(2^3 * 3^2 * 7) = 2 * 3 * 7 = 42
		504の素因数は、2と3と7だからrad(504) = 2*3*7 = 42

==abc予想==
任意の abc-triple は、c < {rad(abc)}^2 を満たす。

==Oesterle, Masserによる一般化==
abc-triple は(有限個の例外を除き一般に)、c < rad(abc)^κ を満たす(κ は1以上の実数)
(κは1.62991より大きい)

==abc予想からフェルマーの定理の証明==
a=x^n, b=y^n, c=z^n が互いに素でa+b=cを満たしているなら
z^n=c < rad(x^n y^n z^n)^2 = rad(xyz)^2 < (xyz)^2 < z^6
よって n<6 である。
n=3,4,5のときは証明済みだからフェルマーの定理が成り立つ。
大学時代、同じ京大理学部でも、数学に進む同級生は、一般の我々が一晩かかって解くような問題をチラッと見ただけで「こうちゃう?」と解いていたので、 まぁ、数学者というのは別次元である、というのは知っている。 僕は数学をやりたくて京大に行ったのだが、キッパリ諦めるのに入学して1ヶ月かからなかった(^_^;)。 物理屋とか電気屋は頑張ればなれるが(物理屋は理論や道具から作るところが違い)、数学屋は別なのだった。 それで僕は音楽屋と並行して、物理屋から電気屋/情報屋になったのであった。 論文PDFはどこを眺めても判らないが、まぁ、お宝である。いずれこれをスマートに解説してくれる本が出るのを待つことにしよう。

そういえば、過去に湯川秀樹先生のノーベル賞論文の原本と手書きの原稿が京大から復刻PDF公開された時にゲットした事があった (僕の出身研究室の遠い先輩に「朝永振一郎」「湯川秀樹」がいる、というのは事実)。 これである。
ここまで来ると物理とは言っても数学か哲学か、という世界である。 Propellerとかコンピュータアルゴリズムの解りやすい世界でヨカッタ、というべきなのか。 もっとも、音楽の世界は、このような言語による記述すら許さないのだから、もっと深いのかもしれない(^_^;)。

そして、5ちゃんねる(5年前は2ちゃんねるだった)の情報から、「宇宙際 Teichmuller 理論入門(ABC予想につながる)を望月さんの弟子の星裕一郎さんが日本語で出している」というので、 宇宙際Teichmuller理論入門(84ページ) と 続・宇宙際Teichmuller理論入門(98ページ) という2つのPDFを京大数理解析研究所からゲットしたが、当然ながら、最初のページからまったく意味不明だった。 さらにWikipediaから、「2017年9月1日、京都大学数理解析研究所の山下剛から宇宙際タイヒミュラー理論に対する初のサーベイ論文が発表された」という記事を発見して これ をゲットしたが、294ページもあるこのサーベイのどのページを眺めても数学の論文とは思えなかった。 凄い世界なのだ。

そして午後には、久しぶりにダマシオの4冊目の精読に戻って、だいぶ終盤まで読み進めた。 そして途中で出てきた「クオリア」という用語をWikipediaに調べに行ったりしているうちに、上のような錯視動画をゲットした。 中央の点滅する緑色の輝点を凝視していると、消えていないのに周囲の3つの黄色の輝点が見えなくなるのだ。 いやー、「脳」って面白いなぁ。(^_^)

2017年12月17日(日)

ダマシオの4冊目を読了、関連してネットを調べて これらの資料 を集めつつ、以下のようなページを精読していて、ほぼ1日が終わった。 そうそう、関連して、ベルタランフィ「一般システム理論」の再読も開始していた。 あとは、まだ未公開の このページ を視野に入れつつ このページ を整理して今週には公開して、参加者募集を開始していこう。

2017年12月19日(火)

昨日の月曜日は、 「スケッチング」ワークショップ参加者募集 のページを公開して、HMACSとか過去の参加者とか一部学生などにBCCでお誘いメイルを出して、あとはベルタランフィ「一般システム理論」の再読に没頭した。 いやー、最初は難解だったこの本が、今では驚くほどスルスルッと入ってくるものだ。 そして昨日の午後には、かつて僕のゼミで大学院まで進んだ見崎さんが旦那さんと来室して、来年2月に恵比寿で行う結婚式の招待状を受け取った。 なんと僕は主賓クラスでスピーチも頼まれたが、まぁプレゼン紹介する画像(彼女の修了制作メイキング) には事欠かないので快諾した。 これまで全てのSUAC学生の個人プロジェクトで、材料費(部品代)としてもっとも僕が研究費を注ぎ込んだのは、この彼女の修了制作作品なのである。 そしてその後、以下のようにゼミの山本さんが1106で制作を このように 着々と進めた。

そして今日の午前には、第1号として、なんと毎年のように「スケッチング」ワークショップの講師をお願いしているRAKASU PROJECT.さんからの参加申し込みが届いた。 今月上旬の日本音楽即興学会でもお会いしていたが、なんせその時には彼女は「会長」という激務だったので、あまり話もできなかった。 こちらはいつもと違うパターンだが、まぁグループに分かれたところでリーダーとして活躍していくれそうである。 近況として、最近は以下のような活動をしているとのことで、さすがである。 OKをもらって このページ に「RAKASUさんが来る」と加筆したので、彼女のファンが参加してくれるのを期待しよう。

放課後は本年度最後のアカペラの予定だが、午後の3-4限にはゼミの山本さんが1106研究室に来て、以下のように 制作作業 を続けた。 仕入れてきた金具でモーターを板に仮止めして、既に開発していた「Mac OSにMIDIデバイスとして認識されるArduino Micro」による、5個のステッピングモータ・ドライブシステムを発掘してきて、実際に動かして、振動と騒音をテストしてみた。 その後、山本さんは人形への色塗りなどを進めたが、いよいよ明日からはこれら人形が動く舞台となるジオラマの制作に進んでいくことになる。 僕はずっとベルタランフィを読み進めて、いよいよこちらも佳境に入ってきた。

YouTube YouTube YouTube

2017年12月20日(水)

アメリカでの列車脱線事故(脱線があった区間は、時間短縮のために従来よりも内陸側に設けられた新しいルートで、ちょうど18日から運用が始まり、脱線したのは、この区間を最初に乗客を乗せて通った列車)というニュースには驚いた。 シアトル発ポートランド行き、というその地名、オレゴン州ポートランドには スケッチング2012 で行っていたからである。

YouTube

上のように、現場写真の鉄道のカーブがあまりに「急カーブ」なのに驚いたのだが、上のYouTubeのようにGoogleマップで見てみると、この写真は超望遠レンズで撮っていて、カーブが異常にキツいように錯覚させる効果となっていた、と判明した。 それにしても制限速度が時速48キロにところに時速120キロ余りで突っ込んだら、そりゃ脱線するのも当然である。 「アムトラック=全米鉄道旅客公社」には、かつても乗る旅程を立てかけたことがあったのだが、ちょっと怖いなぁ。

ここで気付いたが、昨日、山本さんと実験した、5個のステッピングモータ・ドライブシステムのArduino Microに書き込んだファームウェアのArduinoスケッチは、 この日記の「2017年10月30日(月)」のところにあった。 「Mac OSにMIDIデバイスとして認識される」ために、Arduino単独でなく、一緒のディレクトリに「MIDIUSB.h」と「MIDIUSB.cpp」も置いた状態でコンパイルする、という特例が必要になる。 また、システムの回路図はこの日記の「2017年10月31日(火)」にあった。 肝心の、上のMac側のMaxパッチは載せていなかったのに気付いたが、 これ である。 MIDIデバイスとして、ごく単純にパラメータをMIDI送出するだけでいい、というのがポイントとなる。

そして昼前になって、1ヶ月ぐらい議論検討していた、時間学会ロゴのデザインコンペの募集要項が完成して届いた。 これ である。 さっそく、デザイン学部の全教員に、さらにBCCでゼミとかアカペラとかの学生に「他学生にも知らせてね」と告知紹介した。 僕はコンペの募集要項の文案作成には関与したものの、審査については完全にノータッチで、自信をもってSUAC学生の応募を応援できる。 上のようなこれまでのロゴに代わって今後ずっと残る学会ロゴに、SUAC学生のデザインが採用されたら、時間学会理事としてはこの上ない誇り/幸せとなるのだ。

   

今日は2限から4限まで、ゼミの山本さんが1106で制作を このように 着々と進めていたが、最後の章だけを残すだけだった僕のベルタランフィ読書はなかなか進まなかった。 というのも、上のように上野動物園のパンダのライヴカメラ公開が始まって、お仕事パソコンの2画面のうちの片方を上のように6カメラ全てが見えるように6ウインドウで埋め尽くしてみたところ、いやいや、魅入ってしまって仕事にならない・・・と判明したのだった。 おそらく全国あちこちで同様の生産性低下現象が起きていることだろう。(^_^;)

そしてパンダのライヴカメラにだいぶ引き込まれたものの、夕方までにはベルタランフィ「一般システム理論」の再読を完了して、その後、関連して研究室の本棚にあったプリゴジンに手が伸びて、超ナナメ読みで上の2冊を読了(眺了)して3冊目にまで入ってしまった。 いずれも再読だが、ここにきて、色々なものが繋がってきているような漠然とした「いい感じ」が漂っている。 こうなると、次はいよいよ輪廻してきてストロガッツになるのだろうか。

2017年12月21日(木)

研究室に出てきて朝イチで届いたメイルをチェックしていると、いつもであれば無視する「We miss you」というタイトルのメイルがあった。 ロシアに2度行ったからか、この手の出会い系のスパムメイルは「.ru」のロシアから毎日のように届くのだが、これはなんとARMからだった。 リンクをクリックすると上のようなページに行ったので、まだmbedは続けたいのであれこれ入力して「継続」を登録した。 これはもしかすると、 MDW2018ワークショップ に関連してちょうど宿題として急浮上していたVPP-SUACのファームウェア/Maxパッチの改訂改良作業に入れ・・・という天の啓示なのかもしれない。

そして、昨日のゼミは4回生と院生が学外の予定があって流会となったが、上のように昨日のうらら、そして今日の西村クン、と進捗報告が届いた。 もちろん今日も山本さんは以下のように1106で黙々と制作のための設計検討、そしてあちこち材料探し/買い出しに出かけている。 院生のブンちゃんも作品のための素材のデザインを進めている筈で、少人数ながら、なかなか長嶋ゼミは進展しているのだ。

そして、1-2限の「インタラクティブプロダクト演習」では、なんとなく13人から11人に生き残りが減りつつも、それぞれの作品制作の企画検討ステップに進んで、僕がサポートする学生の様子がおぼろげに見えてきた。 そして、その中の立松さんはさっそく週末の土曜日にアポを入れてきたので、「ネオジム磁石+磁気センサ+Arduino」という手慣れたアプローチを紹介することにした。 そして、複数の楽器イメージのオブジェで、オーケストラ音楽のパートのON/OFFを・・・というプランを、以下のようなMax7パッチで実際に実験してみた。 これまであまりやった事がなかったが、無事に海外の「クラシックfree・MIDIデータサイト」でByrdのAve Verum Corpus( この曲 )を落として、「seq」オブジェクトで内蔵GM音源で鳴らしつつ、使用MIDIチャンネルを調べてそれぞれのチャンネルに音色とかボリュームを送ることで、トラックごとのON/OFFを設定できる、と確認できた。 これで、立松さん作品のシステム的な見通しは「立った」ことになる。(^_^)

昨日の反省として、上野動物園のパンダ舎のライブ映像は開かなかったが、なんとアベマTVではA級順位戦の大詰め、「羽生vs稲葉」戦を生中継していて、なんとなく後ろ髪を引かれつつの1日となった。 昨日から読みかけの「プリゴジン : 確実性の終焉」も中途半端なままで、いよいよ明日は2017年の最終講義日を迎えることになる。 気付いてみれば、この日記のHTMLが200KBを超えたようなので、ここで区切りとしてpart3を終えて、続きは part4 にいくことにしよう。

→ Max7日記

→ 続・Max7日記(1)

→ 続・Max7日記(2)

→ 続・Max7日記(4)

→ 続・Max7日記(5)

→ 続・Max7日記(6)

→ 続・Max7日記(7)

→ 続・Max7日記(8)