Max6日記 (3)

長嶋 洋一


→ Max日記(1)

→ Max日記(2)

→ Max日記(4)

2014年7月21日(月)

出張初日(前泊)の昨日は、セントレアから函館に飛んで、晩に★偶然★開催されていた「函館港花火大会」に行って、終わった。 ちょっと飲み過ぎ、食い過ぎた(^_^;)。

そして今日は、電子情報通信学会・非線形問題(NLP)研究会の初日であるが、なんと午後の開催ということで、午前中は遅めにホテルを出て、ホテルの目の前の五稜郭公園を散策した。 まず、 北海道立函館美術館 (通常展示のみ・入場料170円)で、「アウラ」を体感・考察した。 そして隣にある、 函館市北洋資料館 (入場料100円)に入ったが、これが当たりだった。 「船に乗って下さい」と言われて暗い部屋に入ってボタンを押すと、なんとその部屋が北洋の荒波に揺れる船室となった。 網走の流氷観光船、与那国島・波照間島に渡った船、座間味島のホエールウォッチングボートなどを思い出した。

既に行ったことのある 五稜郭タワー (入場料840円)は今日は上らず、行っていなかった 五稜郭公園 (入場料0円)を1時間ほど散策して、ヨーロッパを思わせる日差しと涼しい風とを堪能したが、後で気付くとちょっと日焼けしていた。 五稜郭の「裏門」からは、NLP研究会の会場である、函館市立図書館も見えているが、ここで昼食に 函太郎 (話題の回転寿司)に行った。 「30分待ち」ということで大勢が待っていたが、狙い通り、たった1人ということで10分ほどでカウンターに座れた。

7月21日(月)
(1)4次元トーラスとArnold resonance web: part2 日高秀野・稲葉直彦・神山恭平(明大)・関川宗久(宇都宮大)・遠藤哲郎(明大)
(2)周期外力を印加した方形波発振器の基礎的特性 高坂拓司(大分大)・麻原寛之(福岡大)・伊藤大輔・上田哲史(徳島大)・川上 博(JST)
(3)振動切削系に生じるびびり振動の発生メカニズム 軽部 周(大分高専)・高坂拓司(大分大)
(4)部分更新指数減衰カオスタブーサーチハードウェアシステムのデジタル回路によるコスト計算実装に対する考察 
	三浦雄志・小澤将人・織間健守・堀尾喜彦(東京電機大)
(5)Lin-Kernighan法をカオスダイナミクスで駆動する巡回セールスマン問題の解法とその性能について 光岡高宏・長谷川幹雄(東京理科大)
(6)相対評価と多次元更新を導入した人工蜂コロニーアルゴリズム 鈴木 真・中野秀洋・宮内 新(東京都市大)
(7)積分器リークを考慮した1次ΔΣA/D変換の研究 井岡惠理・牧嶋 亮・松谷康之(青学大)
(8)可変利得ニュートン不動点ホモトピー法を用いた非線形回路の直流動作点解析 森山慶一・山村清隆(中大)

7月22日(火)
(9)A dynamical analysis of heat transfer in electricity and heat supply system 
	Hikaru Hoshino(Kyoto univ.)・Yoshihiko Susuki(Kyoto univ./JST)・Takashi Hikihara(Kyoto univ.)
(10)不安定な動的結合による振動停止現象の奇数制約解消 杉谷栄規・小西啓治・原 尚之(阪府大)
(11)フェージング環境下におけるカオスCDMA通信システムの性能評価 猶原僚也・梅野 健(京大)
(12)カオス的ユニタリ変換を用いた乱数検定 岡田大樹・梅野 健(京大)
(13)変形Froeschle写像とq-Gaussian分布の関係 大久保健一・梅野 健(京大)
(14)カオスに対する聴覚的なアプローチ (2) 長嶋洋一(静岡文化芸術大)
そして、ここは午後のNLPのセッション中である。 上にあるのが今回のプログラム、僕はトリなのだ。 第1セッションの3件はハードなカオスに集中したが、第2セッションの3件は検索ネタだったので、ここで内職で、まったく作っていなかったプレゼンを、「Max日記(1)」からカットして、 NLP用プレゼンHTML というように作った。 これをなぞって、Max6でデモすれば、なんとか20分を乗り切れるのでは・・・という作戦である。(^_^;)

2014年7月22日(火)

全国の出張先でカラオケスナックの拠点を作ってきたが、これまでの「網走・札幌・小樽・仙台・宇都宮・池袋・新宿・京都・三宮・岡山・山口(湯田温泉)・博多・久留米・鹿児島・那覇」に続いて、遂に昨夜は、函館もリストに加わった。 LARK である。 「函館コンベンションビューロー」の「函館ナイトマップ」に載っていたので行ったが、大当たりだった。 いいお店には、いいお客さん(歌が上手い)来るので、聞いても楽しいし、気合いも入るのだ。 以下は順不同ながら、この日の謎の記録である。
 ◎◎◎◎◎ □□□□□ 6656-23 ワインレッドの心 井上陽水 ★Key="+2"
 ◎◎◎◎◎ □□□□□ 1475-75 ひまわり TUBE(チューブ) ★Key="+3"(original)
 ◎◎◎◎◎ □□□□□ 1468-02 喝采(かっさい) ちあきなおみ ★Key="-2"
 ◎◎◎◎◎ □□□□□ 4190-04 愛をこめて花束を Superfly ★Key="-3"
 ◎◎◎◎◎ □□□□□ 7075-10 三日月 絢香 ★Key="-2"
 ◎◎◎◎◎ □□□□□ 6308-65 Glamouras Sky 中島美嘉 ★Key="-3"
 ◎◎◎◎◎ □□□□□ 1095-02 未来予想図II DREAMS COME TRUE ★Key="-3"
 ◎◎◎◎◎ □□□□□ 6172-38 陽のあたる坂道 Do As Infinity ★Key="-3"
そして昨夜(午前1時頃(^_^;))、ホテルに戻ると、「サウンドデザイン」の最終課題に関して、質問とともに福田さんから届いていた未完成パッチを、早朝にこれを以下のように片付けて参考用に送った。 元の未完成パッチは、マルチメディア室の大画面iMacで作っているので、MacBookAirの「1280×800 pixels」では、1/4も表示できないものだったが、スッキリと整理して、さらにゲームとしての難易度もちょっとだけ入れてみた。 時間パラメータを調整すると、もの凄い難易度にも出来るというところは参考となるだろう。

・・・ということで、無事にNLPでの発表も終えて、「函館カレー」の昼食とともに 五稜郭タワー (割引入場料760円) にも上って、午後にはホテルに帰って、連休明けのお仕事メイル等を処理しつつ、ちょっと昼寝をして体力回復に努めた。

すると、「サウンドデザイン」の最終課題に関して、質問とともにマブンさんから、さらに巨大な画面の未完成パッチとともに、115枚のコマ撮りされた手描きアニメのデータ(20数MB)が届いた。 これは、Maxのパラパラ漫画タイプで、たいていの場合には数枚から20枚程度の画像の場合には、「readpict name01 draw01.jpg」などというのを画像の枚数だけ並べて全て「loadbang」でメモリに読み込んで、後は「drawpict name01」などを次々にbangして「lcd」に描画する、というスタイルでやってきたが、115枚の連番画像にこれはやりたくない。

そして30分以上、あれこれ試して、遂に以下のように、スッキリとした参考パッチを完成させ、マブンさんに送った。 「atoi」と「itoa」とを駆使して、連番の画像ファイル名前の文字列を生成して、まずこれをreadpictして、100msec後にこれをdrawpictする、というループを実現した。 これは、学生だけでなく、僕も今後に色々と使えるテクニックとなった。(^_^)

そして、昼寝で回復したHPともに、のど飴を舐めつつ、この晩も LARK に連荘で行った。 以下は順不同ながら、この日の謎の記録である。

 ◎◎◎◎◎ □□□□□ 1555-82 氷雨 ジェロ ★Key="+2"
 ◎◎◎◎◎ □□□□□ 6763-63 真夏の果実 サザンオールスターズ ★Key="+2" (通常 1403-13)
 ◎◎◎◎◎ □□□□□ 1766-01 落陽 吉田拓郎
 ◎◎◎◎◎ □□□□□ 1645-03 少年時代 井上陽水
 ◎◎◎◎◎ □□□□□ 5025-04 奏(かなで) スキマスイッチ
 ◎◎◎◎◎ □□□□□ 6906-42 川の流れのように 美空ひばり ★Key="-1"(original)
 ◎◎◎◎◎ □□□□□ 1289-02 島唄(オリジナル・ヴァージョン) THE BOOM ★Key="+1"(original)
 ◎◎◎◎◎ □□□□□ 2604-14 幼い日に 南こうせつ ★Key="+2"(original)
 ◎◎◎◎◎ □□□□□ 5626-21 Everything Misia ★Key="-1" 25.2/24.4/24.0/24.0/24.0Kcal
 ◎◎◎◎◎ □□□□□ 6673-72 愛のうた 倖田來未 ★Key="-1"
 ◎◎◎◎◎ □□□□□ 1404-57 まほろば さだまさし ★Key="+2"(original)
明日には浜松に帰って放課後にアカペラなのだが、果たして歌えるかどうかは、ちょっと微妙である。(^_^;)

2014年7月23日(水)

午前10時、雨の函館空港である。 北海道・東北以外は全国的に「梅雨明け」したこの日、函館だけは朝から雨だったが、前日のうちにホテルから函館空港までの送迎バスを予約していたので、傘を使うことなく浜松に帰れそうだ。 函館空港からセントレア、そして名鉄→JRで浜松に帰着して、大学に戻るのは4限ごろ、そのまま5限の「サウンドデザイン」で最終課題の合評をして最終回終了、さらに放課後のアカペラも前期最終回である。

たくさん撮った写真のリンクは後日に追加するとして、今回の函館ツアーは、NLPの発表でもMax6を駆使し、さらに学生課題の応援でもMaxをやり倒したので、まずまず「Max日記」っぽくなった(^_^)。

これで明日には4回生の総合演習IIの検収、そして金曜日は「10:40-21:30」という鬼のような予定で、総合演習IIの最終合評会である。 日曜日には42虎と一緒に「靄夜」を設置して、月曜日に土佐谷インスタ作品の展示発表、そして火〜水は京都に行く予定があり、木曜日にはM2の中間発表会、金曜日はオープンキャンバスの設置、土日はオープンキャンパス。 なかなか充実の熱い夏、である。

2014年7月24日(木)

午後には学科会議、学部教授会、大学院教授会と会議が続き、夕方に4回生の「総合演習II」を検収するというこの日は、午前中しか時間が取れない。 まずは このように フォトレポートをまとめて上げた。 そこで気付いたのが、7/20の花火大会で、肝心の動画を撮り損ねていた(^_^;)、という事実である。 ビデオカメラのSDHCカードを読み込もうとすると、データが何も入っていなかった。 たまにやる、「RECのつもりがSTAND BY」という奴だった模様で、まぁ開始2時間前から快調に飲んでいたのもまずかったか。

そしてこの朝、 去年のウイーンでの国際会議ISPS2013 の事務局からメイルが届いた。 いまさら何か・・・と思って読んでみる中身は4件あり、(1)論文集の公開サイトがトラブルでまだ公開できていない事のお詫びと言い訳(現在のところ暫定的に ここで公開 していて 僕のpaper も公開されている)、(3)この論文の正式な記録が以下であること、(4)関連した"Frontiers research topic in Performance Science"という論文集がレビューに入っている事などであった。

Proceedings of the International Symposium on Performance Science 2013
edited by Aaron Williamon and Werner Goebl
published by the European Association of Conservatoires (AEC), Brussels, Belgium
ISBN 9782960137804
855 pages
ここで問題は(2)の「Secondly, some authors' universities have requested information on the review procedure for the Proceedings.」というところだ。 これはほぼ間違いなく、STAP波及効果である(^_^;)。 既に英語版のWikipediaでは確定しているが、「世界三大研究不正」とは以下の3件であり、最新のものが日本のSTAPである。 ここから現在、世界中で研究者の論文などに対する見方が厳しくなり、回り回って、パフォーマンスと科学の領域の国際会議ISPSですら、採択される論文の審査条件について問合せが来る、という事態になっているのだろう。 そして、今回のメイルによれば、回答は以下であった。
Full structured abstract submissions for ISPS 2013 were invited for paper presentations, posters, and symposia on research exploring the theme Performing Together. Each submission was reviewed anonymously by three members of the ISPS scientific committee according to its originality, importance, clarity, and interdisciplinarity. Authors of accepted submissions were invited to submit 6-page full papers for publication in the proceedings volume, all of which were subsequently reviewed for quality and originality by one (of two) editors and a team of sub-editors.
過去にNIMEなどの査読をやっている経験からも、ごく妥当な基準であるが、まぁSTAPとかはこれをアッサリとすり抜けているので、まだまだ研究に対する逆風は収まらないだろう。 他人のコピペでなくちゃんと書いているので、僕はまったく心配していないが。(^_^;)

・・・ここまであれこれ整理していると、もう時間が無くなってしまった。 昨日の5限に合評した、「サウンドデザイン」の学生の課題Maxパッチ作品からいくつかをここで紹介していきたいのだが、今日は無理である。 Sketchingの仲間が、およそ1年前に KickStarter で募集したところに出資して、半年前には「出るよ」と言いつつさらに半年も延び延びになっていた「Clyde」が昨日、遂に 届いた のだが、これで遊ぶのもまだ先になりそうである。

2014年7月25日(金)

昨日の帰りがけの文芸センターは こんな感じ だったが、いよいよ、1限に「音楽情報科学」の最終合評、そして2限から8限まで(^_^;)、「メディア造形総合演習II」の最終合評というハードな日である。 かつては総合演習や卒制の最終合評の後と言えば、限界まで頑張った学生と教員がトコトン飲み語り合う「打上げ」が楽しみだったが、最近ではあっさり「無理」ということで、何もなく解散する「ゆとり」の時代となったので、バスでなく普段通りにクルマで大学に来た。 映像系などの学生はおそらくGWS室で完徹だったろう。

上に写真のある「Clyde」については、フト今朝、アイデアを思いついた。 もちろんMax絡みであり、8月下旬の4件合体の2014夏・国内ツアーに向けて、一気にプランがイメージできた。 これはぼちぼち、8月に入ったら進めていこう。

2014年7月26日(土)

昨日は無事に 「メディア造形総合演習II」 最終合評 の結果、4回生は無事に単位をゲットできた(^_^)。 昨日は1限に「音楽情報科学」の最終合評もあったが、まずは2回生「サウンドデザイン」の最終課題が「Max尽くし」なので、そこから今後の参考になるものをピックアップして整理してくことにしよう。 確認しておくと、今年の「サウンドデザイン」の最終課題は以下のようにシンプルな条件であった。


磯部 友莉佳 さんの作品

上の作品は、上下左右とスペースキーの5つで、バンドの5パートのアニメを駆動するもので、同じキーを連打するとちゃんと2コマぱらぱらアニメとなるように、スマートにまとまっている。


伊藤 周平 クンの作品

上の作品は、「q」「w」「o」「p」「スペース」「リターン」の5つのキーで、それぞれドラムパートが鳴る、というところに、それぞれのインジケータ的なアニメーションを組み合わせたパッチであり、画面があまりに広大なのでちょっと僕がサブパッチに整理したものの、よく構造化されている。゜


梶田 夏子 さんの作品

上の作品は、他に何人も同様の仕組みで実現していた、「マイク入力のレベルでアニメーションを切り換える」というタイプのMaxパッチである。


上久保 そら さんの作品

上の作品は、マウスのクリック座標でヒット判定するパターンのもので、以前に「蚊」が飛んでいた作品に比べると、ウサギがあまり劇的に動かないので、難易度は高くないものとなっている。


中西 空良 さんの作品

上の作品は「モグラ叩き」であるが、ちゃんとグラフィック位置を調整して、さらにタイミング判定をかなり厳しくチューニングしている。 キーは「1」から「5」で゜あるが、これをテンキーでやるとさらに難易度がアップする(^_^;)。


成瀬 史織 さんの作品

上の作品は、起動的にだけ初期値をランダム指定する他は、左右キーで4種類の服から選んで描画する、というものだが、サウンドとともに流れがスムースに出来た。


長谷川 七海 さんの作品

上の作品はスペースキーで撃ち落とすシンプメなゲームであるが、タイミングを厳しくしているのと、発射後に不応期を設定していることで、ちゃんとしたゲームになっている。


深澤 実緒 さんの作品

上の作品は鍵盤をマウスで弾くと、その高さの声が鳴り、それぞれの顔も出る、という一種の「楽器」であるが、テーブルを使って黒鍵の音が出ないようにしているので、どあデタラメに弾いてもDiatonic Scaleとして音楽的にメロディアスに聞こえてくれる、というパッチである。


福田 美穂 さんの作品

上の作品は、函館で支援制作したパッチで、さらに福田さんの作品に僕が「難易度」を加えてみたものである。 表示された上下左右と同じカーソルキーを押すだけであるが、「キー入力の有効時間」と「表示の間隔のランダムさ」を、「初心者」「中級者」「上級者」「超越者」の4レベルにしてみたので、ぜひ挑戦してみて欲しい(^_^;)。


馬 雯 さんの作品

上の作品は、インタラクティブ要素まで手が回らなかった、馬雯(マブン)さんの力作(函館で支援制作したパッチ)であるが、115枚の手描きアニメーションの迫力が好評だったのと、連番の画像ファイル名で「ぱらぱらアニメ」を実現するテクニックの好サンプルとなっているので、ここで紹介した。

他にも可愛いキャラクタの作品などもあったが、とりあえず、今回はこのぐらいである。 そして次は、3回生の「音楽情報科学」の5グループの成果も、ここにまとめておこう。 まずは、グループ「FooYAJO」(多田陽祐クン・坂下由季さん)である。 ここはKinectを使ったインスタレーションのための実験に挑戦したが、 このように ちょっと残念な結果となった(^_^;)。 まぁ、新しいツールは常にこんなものである。 TDWに向けて、頑張って欲しい。

次は、グループ「L・F・K」(原川朋子さん・植田綾香さん)である。 「料理と音のインスタレーション」という事でスタートしたが、Maxで判定アルゴリズムを実験しつつ、最終的にはMaxでなくFlashでのゲームを完成させた。 プレゼンPDFは これ であり、Flashで作ったゲームは、以下のような これ である。 グラフィックの「ハイ」のタイミングでクリックするのだが、BGMのビートとはずれているので、サウンドを聞くと難易度が著しく高くなる(^_^;)。

次は、グループ「ぴかちゅう」(春木萌さん・野中みず季さん・森美鈴さん)である。 ここは、僕が支援して作った Maxパッチ をそのまま使ったが、動画を組み入れたり、Keynote'09をあれこれ活用した プレゼン にかなり頑張った(^_^)。 このプレゼンはQuickTimeにエクスポートしたが、FireFoxのプラグインでは正しく動かなかった。 "pikachu.mov"をダウンロードしてQuickTime Playerで走らせると、クリックに対応してアニメーションしたり、組み込まれた動画を正しく見ることが出来るようだ。

次は、グループ「namaco」(荒川真子さん・片平なるさん)である。 ここは、実際に大きな扇子にボリュームを仕込んでGainerで拡げる角度を取得する、という、本格的なインスタレーションの入口まで実験・制作したグループであり、改善希望点はあるものの、 Maxパッチ も自力で改訂して、 プレゼン も、 デモ も頑張った。 これまでの記録は これこれこれこれ である。 できれば、この扇子を最終的な作品にまで、仕上げてもらいたいぐらいだなぁ。

最後は、グループ「カステラ」(藤石清香さん・竹下結さん)である。 プレゼンPDFは これ であり、その模様は これ であり、これまでの記録は これ である。 こちらも、これで終るのはちょっと惜しい気もする。

2014年7月27日(日)

昨夜。ふとアイデアを思いついた。 そして朝、研究室に出てから、以下のような Maxパッチ を作った。

そしてこれを「瞑想空間」のバルコニーにセットして、42虎の5人、ゼミの2人、準ゼミの竹下さんの計8人と僕とで、 このように 土佐谷作品の設置を完了させた。 さらにこの模様は以下のように、コマ送り動画としても記録できた。(^_^)

YouTube

ちなみに、昨日、既に発表を終えたゼミの森川さんのプレゼンは これ であり、明日に展示する土佐谷さんのプレゼンは これ である。 あとは、明日の展示公開を待つばかり。 42虎との打上げはオープンキャンパスの時なので、撤収後にはゼミで2人と打上げなのだ(^_^)。

2014年7月28日(月)

朝、研究室に出て来ると、M2のリュ君から、今週木曜日の「修了制作・中間報告会」の プレゼンPDF と、3Dプリンタのために設計した 筐体の動画 が届いていた。 既にこれは3Dプリンタで実際に完成していて、先週の金曜日に望月先生から受け取って、研究室にあり、2限にはリュ君の来訪アポがある。 一方、昨日の設置に続いて、今日は土佐谷さんの作品展示公開が、15:00-16:30に学生向け、16:30-17:00に教員向けとして予定されている。 その後は撤収なので、今日はここまでである。(^_^;)

2014年7月31日(木)

もう7月も終わりである。 昨日は、 Max日記(2) の最後、「2014年7月18日(金)」まで進めていたMaxパッチを進めて、さらに今日、以下のあたりまで行った。 ほぼゴールが近いものの、まだわずかにバグがあるが、またまた持ち越しである。

そして、先週のメディア造形総合演習IIでのインスタレーション作品の中から、まずは2作品ほど、 SUACインスタレーション(4) のページに追加してみた。 また、 「OMMF2014」参加募集 のページを作って募集を開始した。 いろいろ刺激になる勉強のチャンスなのだが、果たして参加者は出るかなぁ。 そして明日のオープンキャンパス設置の下準備をして、院生の中間報告会に参加して、オシマイである。

・・・と書いた後で、なんと進展があった。 院生の中間報告会が意外に早く終ったので、バグが残っていたMaxパッチに取り組み、なんと完成してしまった(^_^)。 それぞれフォルダに素材とともに入れて圧縮して、 コレクティブ と、 アプリケーション として書き出した。 おそらくMax本体が無くても、「Unconscious.mxf」ないし「Unconscious.app」を叩くと起動すると思う。 ただし、フォルダ内の画像データを開くと、もろにゲームの正解が出て来るので、この企画は失敗であった(^_^;)。 これではとても、メディア心理学実験には使えない、というのが唯一の収穫である。やれやれ。

2014年8月4日(月)

一昨日は オープンキャンパス1日目、 昨日は オープンキャンパス2日目、 そして ビジュアル・サウンド領域の打ち上げ、 と設置日(前夜祭)から嵐の3日間が終わり、夏休みは突然の空白期間に入った。 これから今月下旬の国内ツアー6日間、そして9月前半2週間の海外ツアーまでの期間が「仕込み」の重大な期間となる。 M2のリュ君の新楽器の電子回路設計とPropeller/XBeeプログラミング、メディアの碧風祭のお化け屋敷プロジェクトなどのアポも入ってくるだろうし、OMMF2014では「新作世界初演」と宣言したのでその作曲もある。 まずはここ2週間は完全にお勉強の期間となりそうで、このMax日記もしばし沈黙する。

2014年8月10日(日)

台風11号が超スローペースで北上中の日曜日である。 朝6時に高知に上陸、そしてこれを書いている午前11時に兵庫に再上陸である。 以下のように、浜松付近にも次第に雨雲が近づいている。

そして11時45分には研究室を出て、SUACから徒歩数分のカフェに向かう予定である。 なんと今日は、技術造形学科2期生、つまり社会に出て10周年の卒業生との同窓会パーティなのである(^_^)。 雨ニモ風ニモ台風ニモ、負けてはいられない。

前回の日記からほぼ1週間であるが、この1週間は実に充実していた。 文献調査が 二巡目 に入って、毎日、ひたすら、一巡目と違ってじっくりと読み込み、さらに気になるフレーズを後の引用のために全て書き出す(plain textとして打ち込む)、という作業に没頭していたのである。 とりあえず、この1週間の成果は以下であり、コピペでなくいちいち手打ちしたテキストは3万字以上になった。

8月4日
	下條信輔
		サブリミナル・マインド - 潜在的人間観のゆくえ
		意識とは何だろうか - 脳の来歴、知覚の錯誤
		サブリミナル・インパクト - 情動と潜在認知の現代
	ジャック・デリダ
		(脱構築に関して調査)
8月5日
	ヴァルター・ベンヤミン
		複製技術時代の芸術
	多木浩二
		ベンヤミン「複製技術時代の芸術作品」精読
	ロラン・バルト
		第三の意味 : 映像と演劇と音楽と
	ミシェル・フーコー
		(ポスト構造主義に関して調査)
8月6日
	ジル・ドゥルーズ
		記号と事件 : 1972-1990年の対話
		意味の論理学
8月7日
	ジャック・デリダ
		他者の言語 : デリダの日本講演
	千葉雅也
		動きすぎてはいけない : ジル・ドゥルーズと生成変化の哲学
	佐々木健一
		美学への招待
	藤幡正樹
		アートとコンピュータ : 新しい美術の射程
8月8日
	フリードリヒ・キットラー
		グラモフォン・フィルム・タイプライター(上/下)
		ドラキュラの遺言 : ソフトウェアなど存在しない
	カレン・ロス, バージニア・ナイチンゲール
		メディアオーディエンスとは何か
8月9日
	ノルベルト・ボルツ
		グーテンベルク銀河系の終焉 : 新しいコミュニケーションのすがた
	クリストファー アレグザンダー
		形の合成に関するノート/都市はツリーではない
	藤幡正樹
		不完全な現実 : デジタル・メディアの経験
これをあと1週間、来週も続ける予定で、それで文献調査の段階をほぼ終えて、「次」に進む。 大きなところとして、ボルツをあと3冊、フォスターとクレーリーをそれぞれあと2冊、乗り越えなければならない。

土佐谷さんの作品の設置支援、そしてオープンキャンパスで活躍・成長した「第42期・虎の穴」の学生たちの レポート も届いて、彼等の名前は正式に 「虎」の記録 に加わった。 また、ブルガリアの国際会議のスケジュールを問い合わせたところ、なんと研究発表セッションがたった1日に圧縮されていたのに驚いたが、それをフォローするように以下のメイルが届いた。 まぁ、こうなれば、黒海沿岸の屈指のリゾート地で、Max三昧とともに、思いっきり充電してこよう。

Dear Yoichi Nagashima,

We never know how many papers exactly will be presented (because it is up
to the number of participants we have, also some of them experience
problems with traveling; for example these from Ukraine). This year Media
and Mass Communication will be the smallest conference of all the seven
organized by us.

Regardless of this, we are expecting participants from United
Kingdom, Poland, Albania, Croatia, Slovakia, Azerbaijan, Russia, Bulgaria,
Italy, South Africa, Macedonia, Japan, Georgia and Taiwan. Almost all of
them with oral presentations. You will receive a copy of the real program
till the end of the upcoming week.

We have not decided anything for the social program to this moment. We
usually visit a winery in Pomorie or the old town of Sozopol (more
information about these cities can be found on www.bulgariatravel.org).

次第に浜松に雨雲がかかってきて、ぼちぼち出発であるが、どうやら以下のように、夕方には通過していきそうである。

2014年8月15日(金)

あっという間に週末、前回からまたまた充実の1週間であった。 「第42期・虎の穴」レポート が出揃って、日曜日には 2期生「卒業10周年」同窓会 があり、それ以外は基本的に研究室に籠って、ひたすら文献調査の二巡目であった。 じっくりと読み込み、気になるフレーズを後の引用のために全て書き出す(plain textとして打ち込む)、という作業に没頭した。 この5日間の成果は以下であり、コピペでなくいちいち手打ちしたテキストは総計6万字近くになった。
8月11日
	ノルベルト・ボルツ
		カオスとシミュレーション
		世界コミュニケーション
	ロイ・アスコット
		アート&テレマティークス : 新しい「美」の理論構築に向けて
8月12日
	ノルベルト・ボルツ
		人間とは何か : その誕生からネット化社会まで
	ハル・フォスター
		反美学 : ポストモダンの諸相
		デザインと犯罪
8月13日
	ジョナサン・クレーリー
		観察者の系譜 : 視覚空間の変容とモダニティ
	Firmata+Maxuino+LittleBits
		(Firmware書き換え、複数同時制御の実験)
8月14日
	ジョナサン・クレーリー
		知覚の宙吊り : 注意、スペクタクル、近代文化
	日向あき子
		視覚文化 : メディア論のために
	ジョン・A・ウォーカー, サラ・チャップリン
		ヴィジュアル・カルチャー入門 : 美術史を超えるための方法論
	市川浩、杉浦康平
		身体の宇宙性
	多木浩二
		現代芸術の焦点
		技術と芸術
	Clyde
		(環境設定、Firmware書き換えの実験)
8月15日
	多木浩二
		映像の歴史哲学	
	鷲田清一
		「待つ」ということ
	Firmata+Maxuino+LittleBits+Clyde
		(この日記の更新)
一部、M2のリュ君が来たり、来週のOMMF2014での新作発表に向けての作曲準備として、「Firmata+Maxuino+LittleBits」などという実験が加わったものの、ほぼ今週は「文系」漬けとなった。 読めない単語 のページも増えたが、以下は、その約6万字の「フレーズ集」である。 コビペでなく、自分で選別して手打ちしたものであり、これを今後の論文執筆のための材料としていくのである。

そしてまだ仕事を始めて2時間、朝の9時であるが、ここからは上記の「Firmata+Maxuino+LittleBits+Clyde」の作業である。 一部、備忘録として、8月13日の「Firmata+Maxuino+LittleBits」の作業と、8月14日の「Clyde」の作業の部分の詳細から整理しつつ、同時進行で実験していくことになる。

まず最初に、実験をしているMacBookAirを研究室中央のデスクから、同時にここに記録していくために、お仕事Macの横に移動させた。 そして、だいぶお仕事Macと実験環境が違ってきていたのに気付いて、まずはHDDに環境をコピーして、両者の環境を整理することにした。 遠回りなようで、この作業をときどき行うことが、混乱を避けるのである。

たかだか2台ないし3台のコンピュータの作業環境を整合させる、と言っても、実際にはHDDを経由して数十GBのデータをバックアップして、さらに両者を比較して最新のものに揃えてまた戻す・・・という地味な作業なので、これだけで午前中、かかってしまった(^_^;)。 まぁ、1-2年に一度の作業なので、これはバックアップの意味でも、意義があるのだ。 その合間に調べてみると、なんとお仕事Macに入っているArduinoのバージョンが「1.0.4」である、と発見した。 いつも実験をMacBookAirでやってきた、という事の証だ。 安定版は「1.0.5」であり、ベータ最新版は「1.5.7」であり、これはあまりに古いので、この2本も合間にダウンロードしてインストールした。

まずは、8月13日の「Firmata+Maxuino+LittleBits」の作業のおさらいである。 Max日記(2) の「2014年6月19日(木)」のところでやったように、既にLittlaBitsSYNTHのArduinoモジュールに対して、

までを行っていた。

そして8月13日に行ったのは、もうArduino(Leonardo)としてスタンドアロンで使うことは無い、と判断して、最初の1個もまず、同様にFirmataファームウェアを書き込んだ。 これで、持っている2個とも「LittlaBitsSYNTH-Firmata」となった。 すると問題となるのば、Maxからこの2個の「LittlaBitsSYNTH-Firmata」を同時に制御できるか・・・という問題である。 Gainerの場合には、USBserialのインデックス(a, b, ...)で区別できるので、これは簡単である。 また 続々・Propeller日記(3) にあるように、XBeeなどもMaxのserialオブジェクトからインデックス(a, b, ...)で区別できるので、複数制御は容易である。

ところがMaxuinoの場合には、内部的にはMaxのserialオブジェクトを使っているものの、内部的に こんな JavaScriptで記述された「maxuino」というオブジェクトとなっていて、USBserialの状況を問い合わせるコマンドとか指定するコマンドについては何も公開されていないのである。 そこであれこれ実験した結果、経験則として確立したのが、以下のプロトコルであり、以下の写真とスクリーンショットのように、2個の「LittlaBitsSYNTH-Firmata」に対して、ここではそれぞれ2つのアナログ電圧出力を個別にMaxから制御できる。

次は、8月14日の「Clyde」の作業のおさらいである。 Clydeについては、 ClydeのKickstarter に出資して約1年したところで、ようやく このように 先月末に届いていたのを、ようやく触ることになった。 まずは、 Clydeのサイト に行って、Arduino互換だ、というこのシステムのファームウェアを書き換える環境について調べた。

8月14日には、YAHOO.COMから検索して、いきなり Getting Started with Clyde に行き、ここにあった Download ZIP というのでゲットしたのが Clyde-master.zip であり、中身は以下のようなものであった。

ところで、 ClydeのサイトGetting Started with Clyde のページには、 Download ClydeSoftware.zip というのがあって、ここでゲットしたのが ClydeSoftware.zip であり、中身は以下のようなものであった。 つまり、実質的にはどちらも同じものだった。(^_^)

ただし、ここから先はちょっと違った。 Getting Started with Clyde に書かれているインストール手順は抜けがあり、このままではArduino IDEで赤いエラーが連発する。 インストールするライブラリは3つもあったのだ。 昨日はそこを試行錯誤してようやく突破したのだが、なんと Getting Started with Clyde のページではインストール手順がきちんと書いてあり、これなら問題なくゴールするのだった(^_^;)。 さらにこちら本家のページでは、以下のような有益な情報もあった。

そして、以下のように無事に、Clydeにサンプルのsketchを書き込んだり、工場出荷時のsketchを書き込むことが出来た。 ちなみに、6本の足それぞれに、オプションのキットのタッチセンサのワイヤを取り付けてあり、工場出荷時のモードでも、触るたびに色が変化する。

ここまでおさらいして午後3時、ようやく今日の実験の段階にやってきたが、お盆のお参りの予定があり、夕方は早目に研究室を出る予定である。 想定としては、このClydeにFirmataを書き込んで、それを「LittlaBitsSYNTH-Firmata」とともにmaxuinoで制御したいのである。 Firmataを書き込む際の「board指定」オプションとして、昨日の段階では不明だったのだが、上記のように「ClydeはArduino Leonardoコンパチ」と分かったので、試行は2パターンである。 つまり、「Leonardo」でやるのか、固有の「fabule」でやるのか、と悩んでいたが、以下のように「fabule」の下階層には「avr」そして「leonardo」があるので、どっちでもOK、という予感がある。(^_^)

・・・そして、とりあえず「fabule」を指定してFirmataファームウェアをアップロードすると、Clydeの上面のPWM-LEDは白くなり、下面のランプ(昼光高輝度LED)は全照、ということで、アッサリと出来てしまった(^_^)。 Firmataに付いている「Firmata test」というアプリ(Maxで作られている)でポートを試行錯誤してみると、まずは以下の事が分かった。

ただし、6本の足のタッチセンサはポートだけでは取得できず、これはもしかすると、Clydeのライブラリを解析する必要がありそうだ。 また、Pin1からPin17までの他ピンをdigital出力と指定して、Pin18(A0)からPin29(A11)までをanalog入力と指定した状態で、以下のような関係があった。 なんとも謎であるが、とりあえずはここまでである。 LED出力の部分はなんとかなりそうだが、せっかくの6本足のタッチセンサを活用できないか、もう少し調べてみることにしよう。

2014年8月16日(土)

文献調査も終わり、いよいよMax三昧だ・・・と思っていた矢先、その方針は大きく崩れた。 SUAC図書館に無いので、研究費で購入した(SUAC図書として登録されるものの研究室に常置できる)最後の1冊「混沌からの秩序 - I. プリゴジン (著), I. スタンジェール (著), 伏見 康治 (翻訳),伏見 譲 (翻訳), 松枝 秀明 (翻訳), みすず書房」を自宅に持ち帰っていたが、早朝4時にフト目覚めた際にパラパラと読み始めたらそのまま正座して2時間熟読、その後2時間ほど再び寝てから起床して、研究室に出て来てずっとほぼ終日、読むことになってしまった。 とても1日で読み終える本ではなく、タップリ明日まで続きそうである。(^_^;)

この間、日本音楽即興学会から、12月の大会の案内が届き、いつものようにまだ作曲もしていない新作に絡めた内容で、発表申し込みを済ませてしまった。 今年は京都精華大学、RAKASU PROJECT.さんのところでの開催である。 セッションは研究発表、タイトルはGHIをもじって「その場で楽器を作って演奏したっていいじゃないか」とした。 以下がその「発表内容要旨」であるが、内容はもちろん白紙、これからである(^_^;)。

筆者はこれまで、Computer Musicやメディアアートに関連する研究/システム開発/作曲/公演/教育などの活動を続けてきた。
2006年には「GHIプロジェクト」(楽器が光ってもいいじゃないか)のコンセプトを提唱し、インドネシアの民族楽器"Kendang"を改造して新楽器"Cyber Kendang"を制作し、情報処理学会音楽情報科学研究会およびICMC2007で発表するとともに、SUACメディアアートフェスティバル2006、NIME2007(New York)で実際に新作公演に活用した。
2009年には「触らない楽器」というコンセプトの新楽器"peller-Min"を制作したが、2重リング計16個の距離センサとともに設置した、テーブル状の計16個の反射型センサ(空中揉み揉みでサウンド生成)は、ステージ上で演奏者を怪しい青色に照らす、というコンセプトの部分で「GHI」を継承しており、インターカレッジ2009特別コンサートおよびMOM2010で実際に新作公演に活用した。
2014年には構想を継承した新楽器"GHI2014"を制作した。2つの正八面体、計24個の稜(断面は正方形)の4面に計864個LEDが並んで光り、6個の超音波センサによりテルミン風に演奏する。3Dプリンタの流行を尻目に「バルサ材で試行錯誤の手作り」という「ものづくり」の原点を確認しつつ、海外ツアーに分解持参(現地組立可能)できる小型軽量なものとした。ネオジム磁石による「組み立て」作業は、それ自体が即興パフォーマンスであり、最初の作品(あくまで「demo」というタイトル)は、テーブル上に拡げた部品を順に組み立てていく演出とともに、SUACメディアデザインウイーク2014、京都精華大学、京都市立芸術大学でのワークショップのデモ公演に活用した。
本稿では、OMMF2014のライブコンサートでのパフォーマンスに向けて、この"GHI2014"と、スケッチング(物理コンピューティング)コミュニティの仲間がKickStarterでクラウドファンディングにより実現した"LittleBitsSynth"と"Clyde"の2つのシステムを改造して組み合わせた新作(申込み時点では未完成)の詳細とメイキングについて報告する。

なお、昨日の宿題だった、Clydeの6本足のタッチセンサについては、およそ以下のような感じであると分かったので、ここでメモしておこう。 まず、上にあるように、Clydeの3つのライブラリを掘っていくことにした。 スタートラインは、Clydeの工場出荷状態のsketchである、以下の「ClydeOriginal.ino」である。 これは6本足のタッチセンサが稼働しているので、全ての情報はここにある筈なのだ。

#include 
#include 
#include 
#include 
#include 
#include 
#define FIRMWARE_VERSION 1

SerialCommand sCmd;

void setup() {
  Wire.begin();
  Serial.begin(9600);
  sCmd.addCommand("SERIAL", cmdSerial);
  sCmd.addCommand("VERSION", cmdVersion);
  sCmd.addCommand("RESET", cmdReset);
  sCmd.addCommand("SET_AMBIENT", cmdSetAmbient);
  sCmd.addCommand("SET_WHITE", cmdSetWhite);
  sCmd.addCommand("WRITE_EEPROM", cmdWriteEEPROM);
  sCmd.addCommand("READ_EEPROM", cmdReadEEPROM);  
  	//Clyde.eeprom()->reset();
  Clyde.begin();
}

void loop() {
  	//read the serial communication if any
  sCmd.readSerial(); 
  	//calibrate the eye and check for press
  Clyde.updateEye();
  	//update the mouth to play sounds
  Clyde.updateMouth();
  	//update the lights
  Clyde.updateAmbientLight();
  Clyde.updateWhiteLight();
  	//make Clyde behave after the eye was calibrated once
  if (Clyde.wasEyeCalibratedOnce())
    Clyde.updatePersonalities();
}

void cmdSerial() {
  char serial[7] = {0};
  Clyde.eeprom()->readSerial(&serial[0]);  
  Serial.print("OK "); 
  Serial.println(serial);
}

void cmdVersion() {
  uint16_t vers = FIRMWARE_VERSION;
  Serial.print("OK "); 
  Serial.println(vers);
}

void cmdReset() {
  Clyde.eeprom()->reset();
  Serial.println("OK"); 
}

void cmdSetAmbient() {
  char *param1, *param2, *param3;
  int r, g, b;  
  	//Get arguments
  param1 = sCmd.next();    // Red
  param2 = sCmd.next();    // Green
  param3 = sCmd.next();    // Blue
  r = atoi(param1);
  g = atoi(param2);
  b = atoi(param3);  
  Clyde.setAmbient(RGB(r, g, b));
  Serial.println("OK");
}

void cmdSetWhite() {
  char *param1;
  int w;  
  	//Get arguments
  param1 = sCmd.next();    // Brightness
  w = atoi(param1);  
  if (w > 255) w = 255;
  w = 255 - w;  
  Clyde.setWhite(w);
  Serial.println("OK");
}

void cmdWriteEEPROM() {
  char *param1, *param2;
  int addr;
  byte value;  
  	//Get arguments
  param1 = sCmd.next();    // Address
  param2 = sCmd.next();    // Value
  addr = atoi(param1);
  value = atoi(param2);  
  EEPROM.write(addr, value);
  Serial.println("OK");
}

void cmdReadEEPROM() {
  char *param1;
  int addr;  
 	 //Get arguments
  param1 = sCmd.next();    // Address
  addr = atoi(param1);    
  Serial.print("OK ");
  Serial.println(EEPROM.read(addr));
}
昨日の実験で、maxuinoから直接にArduinoのポートを叩いたら3色LEDや高輝度LEDライトが制御できるが、ここでは「cmdSetAmbient()」や「cmdSetWhite()」というメソッドを経由していて、さらにメインループでは「Clyde.updateAmbientLight()」と「Clyde.updateWhiteLight()」しかないので、この中でタッチセンサを処理していることになる。 そして、なんともそれっぽい「ClydeTouchyFeely.cpp」というのを発見してしまった。 この中身は こんな感じ であり、明らかに「MPR121」ライブラリを使用している。 そしてこの「MPR121」とは、 こんな感じ の「MPR121.cpp」を見ると分かるように、「I2Cdev library collection - MPR121 I2C device class」、つまりシリアルポートを使って、タッチセンサのハードウェア上にあるマイコンとI2Cシリアル通信することで、センサ情報を獲得しているのだった。

こうなると、今回はClydeのArduinoファームウェアを改造してFirmataを入れて、それをホストのMaxからmaxuinoを経由してコミュニケーションする、という構想とは相容れない、というのが分かる。 Propellerであればいくつでも(最大6-7チャンネルの)シリアル通信が可能なので、同時にXBeeとかMIDIとかシリアル通信タイプのセンサを接続できるが、Arduinoはシリアルポートがたった1つしかないので、ホストとUSB通信している場合、つまりGainerと同様にmaxuinoを経由してMaxのスレーブとして使う場合には、もうシリアルポートが満杯で、このタッチセンサは使えないのである。 Clydeの6本足タッチセンサを使えるのは、スタンドアロンの時に限るわけなのだった。

2014年8月17日(日)

昨日に続いて、「混沌からの秩序 - I. プリゴジン (著), I. スタンジェール (著), 伏見 康治 (翻訳),伏見 譲 (翻訳), 松枝 秀明 (翻訳), みすず書房」を読んだ。 夜中にハムスターに起こされたところで、午前2時から午前4時までみっちり読んで、さらに研究室に出て来て、午前中かけて、最後までじっくり読み込んだ。 これで、あとは表象文化論学会誌のバックナンバーが数冊、残っているものの、「文献調査」はオシマイである。(^_^)

昨日の最後に、Clydeのタッチセンサをmaxuinoを経由しては使えない、と判明したので、いよいよ1週間後のコンサートに向けて新作の作曲なのだが、どうもmaxuinoが使いにくいので、ちょっと調べてみることにした。 昨日までのところでは、「maxuino」オブジェクトは「presentationなので開けない(;_;)」となっていたが、これはpresentationモードというのを使ったことがなかったための初歩的な誤解である、と判明した。 以下のように、パッチ下部にpresentationモードのON/OFFがあり、ちゃんと中身が見える(編集できる)のだった。

こうなれば、しめたものである。 あれこれ多数のモジュールを組み合わせて、まぁ初めての人に使いやすく・・・ということだろうが、あまりに冗長なので、ここはいつものカスタマイズだろう。 「maxuino.js」はそのまま使うとして、オリジナルを残して解析・改造するために、まずは「maxuino.maxpat」・「maxuino-gui.maxpat」の2つのパッチを複製してファイル名前の最後(拡張子「.maxpat」の直前)に「2」を付加してリネームし、これらを全てpresentationモードを外して透明化した。

少しずつ、Maxパッチを解読しつつ不要っぽいものを外して、上の途中経過の「maxuino2.maxpat」では、「maxuino-gui2.maxpat」の側にあったUSBポート指定を取り込んで、実際に「LittlaBitsSYNTH-Firmata」での動作を確認した。 ArduinoのPinモードを設定すると、Maxウインドウに「*** WARNING ***」というのが出るのがちょっと気になるが、まぁ動いているのでいいだろう。 こうなれば、「maxuino-gui2.maxpat」を使わずにいけそうだ・・・とあれこれ実験して、遂に以下のような形になった。 maxuino関係で使うのは「maxuino.js」だけ、そして既に作っていた「LittleBits_Maxuino_04.maxpat」にあった「maxuino」オブジェクトを、バラして解析して不要なものをカットした結果、生のserialを使うことで、さらにClydeまで包含してしまった(^_^)。 このパッチは横に「maxuino.js」だけを従えて、Firmata化したClydeの3色LED制御と高輝度ランプPWM制御、そして2個の「LittlaBitsSYNTH-Firmata」のそれぞれ2つのアナログ電圧出力を同時にコントロール出来る。

これで、明日からいよいよ、このシステムとGHI2014組み合わせた新曲の作曲に入る、という準備が整った。 まずまず、充実のお盆であった。(^_^)

2014年8月18日(月)

2度の外出を挟んで、終日、作業に没頭していれば写真を取る暇もない。 Clydeはぺこぺこスイッチを取得するようにさらに改良した。

2014年8月19日(火)

終日、他に何もしないで、ひたすら作曲に没頭。 こんな、年間にたった数日のために、残りの日々、あれこれ片付けて頑張っているのである。 生きてて良かった。(^_^)

2014年8月20日(水)

前日は夕方まで頑張って、疲れて熟睡かというと、そうでもない。 作曲モードに入ってしまうと、睡眠中もあれこれ考えが巡り、さらに夜中にちょっと目覚めたところ、そこから2時間半も、あれこれあれこれ色々と思い付いて、何度も置き出してメモを書いたりした。

そして朝6時過ぎには研究室に出て、マルマル午前中(連続6時間)で、遂に今回の新作"GHI2014" ("demo"が取れた正式版)の作曲が完了した(^_^)。 例によって、一度も正式な「通し練習」をしていないが、これで見通しは立った、と判断して、OMMF2014の開催されるソフトピアジャパンに機材一式を梱包して発送してしまった。 これでもう、当日、現地で機材を受け取るまで、作曲の修正は何も出来ない。 以下は、サブパッチまで含めた、今回の作品の全容である。

今回は4つの学会等のハシゴだが、まだプレゼンは全く作っていない(^_^;)ので、明日はプレゼンに没頭である。 考えてみると、OMMF2014と音楽情報科学研究会はほぼ同じネタ(発表の重点が異なる)のと、色々と材料があるので、今回はKeynoteでのプレゼンはナシで、movieを何本か見せて、あとは音楽情報科学研究会の予稿PDFを拡大してスクロールする、という作戦でいく。 問題はEC研究会の方で、これに勝負をかけることになる。 明後日はもう大学にクルマを置いて出かけてしまうので、おそらく1週間以上、この日記はストップするだろう。 欧州ツアーでは、日々、書き綴っていきたいと思うが、国内で忙しなく移動するのでは、精神的余裕もなく、まぁ無理である。

2014年8月25日(月)

ここを書いているのは、京都から広島に向かう「のぞみ」車内、あと30分で広島に着く8月25日(月)の19:35過ぎである。 2014年・夏の2大ツアーの前半戦、国内(関西方面)6日間の出張の4日目が終わりかけている。 金・土と京都・鞍馬温泉のエンタテインメントコンピューティング研究会のメタ研究会合宿に参加、発表しつつ、なかなかに「濃い」議論に参加できた。 次からもなるべく参加していきたい。 日曜日は朝7時過ぎの新快速で米原経由で大垣まで行き、OMMF2014に参加して、コンサートでの新作"GHI2014_Ogaki"の初演、そしてプレゼンを無事に行った。 京都精華大学のRAKASU先生と学生さんたちに色々と手伝ってもらって、京都に帰ってきたところで「王将」で打ち上げた。 なんせ、いつもなら帰ってからの作業なのに、以下のような撮りたての記録ムービーをRAKASU先生の協力でそのまま取り込めたのである。

そして今日は、母校・京大での音楽情報科学研究会(3日間の初日)に参加して発表(上の撮りたてほやほやの記録ムービーも紹介)して、そのまま京都駅に戻って、広島泊に向けて「のぞみ」に飛び乗ったのである。 まだ6日間の2/3の4日間が終了しつつある、とはいえ、予定されていた発表(プレゼン3件、パフォーマンス1件)は既に無事に完了しているので、もはや気楽である。 京都駅では駅構内のうどん屋の夕方メニューの「ビールセット」で乾杯、さらに京都駅新幹線ホームでワインのハーフボトルを仕入れてさらに乾杯して、十分に打ち上げて広島に降り立つところなのである。

この間、「Max日記」としてはほとんど進展は無かった。 大垣で初演した"GHI2014_Ogaki"のMaxパッチは、リハの時にバグを2つほど発見して修正したが、微々たるものだった。 その他としては、お仕事Macと2台のMacBookAirのMax環境が不揃いになっていたのを揃えたところ、以下のように過去のMaxアーカイブが異常に巨大で重い(細々とした膨大な数のファイルがある)のに気付いて、Airではzipにまとめてみた、というところだけであった。 Max2.5.2時代のもので、現在のMax5〜Max6とは互換性が無いので、これはほとんど発掘する必要性が無くなっているので、これでいいのである。 どうしても発掘したい場合には、Intel MacでなくPowerPCのMacで、classicモードで旧Maxで開いて・・・などと変換することになる。

・・・というところで20時になって、あと数分で広島である。 たぶんこれで日記は今日はオシマイ(ホテルのLANがFTPを通したらWebに上げるカモ)であるが、広島では新しい土地ということで、昨夜の京都の行きつけのお店に続いて、ちょっと「スタンド」を新開拓するため繰り出す予定である。(^_^;)

2014年8月26日(火)

昨夜は、ネットで調べていた、ホテルから徒歩数分の J-Bowwy に行ったが、実に気に入った(^_^)。 以下は順不同ながら、昨夜の謎の記録である。
 ◎◎◎◎◎ □□□□□ 4190-04 愛をこめて花束を Superfly ★Key="-3"
 ◎◎◎◎◎ □□□□□ 7219-25 ブルーバード いきものがかり ★Key="-3"
 ◎◎◎◎◎ □□□□□ 1896-04 残酷な天使のテーゼ 高橋洋子 ★Key="-2"
 ◎◎◎◎◎ □□□□□ 6308-65 Glamouras Sky 中島美嘉 ★Key="-3"
 ◎◎◎◎◎ □□□□□ 6172-38 陽のあたる坂道 Do As Infinity ★Key="-3"
 ◎◎◎◎◎ □□□□□ 5626-21 Everything Misia ★Key="-1" 25.2/24.4/24.0/24.0/24.0Kcal
 ◎◎◎◎◎ □□□□□ 5025-04 奏(かなで) スキマスイッチ
 ◎◎◎◎◎ □□□□□ 4716-50 Jump Every Little Thing ★Key="±0"
 ◎◎◎◎◎ □□□□□ 4368-24 ハナミズキ 一青窈 ★Key="-3"
 ◎◎◎◎◎ □□□□□ 6656-23 ワインレッドの心 井上陽水 ★Key="+2"
 ◎◎◎◎◎ □□□□□ 1475-75 ひまわり TUBE(チューブ) ★Key="+3"(original)
 ◎◎◎◎◎ □□□□□ 6763-63 真夏の果実 サザンオールスターズ ★Key="+2" (通常 1403-13)
 ◎◎◎◎◎ □□□□□ 1237-06 M(エム) PRINCESS PRINCESS ★Key="-2"
そして出張5日目となる今日は、広島で中身の濃い1日となった。 まず朝イチに路面電車で広島駅に行き、呉線で「広島国際大学」に行き、リハ工学カンファレンスに聴講参加した。 福祉工学のセッション、さらに「福祉機器コンテスト」や力の入った企業展示などに圧倒された。 例年に比べてちょっと規模が小さかったので、当初予定では明日の午前まで覗くつもりだったがちょっと変更して、初めての広島ということで、路面電車で「原爆ドーム」と「原爆資料館」に行き、帰途には京都に寄って、京都芸大のギャラリーでの展示を覗くことにした。 これで、 長崎の原爆資料館 と両方を、ようやくクリアできることになる。

夕方には、これもホテルから徒歩圏内にある、 松本無線ジャンクセンター を覗いた。 これは、広島出身のRAKASU先生が絶賛推薦し、かつてSUACで公演した事もある堀尾寛太さんが このように 紹介しているところで、ほぼこのブログと風景は変わっていなかった。 真空管式ラジオのソソラレルものがいくつかあったが、今回は衝動買いをなんとか抑圧した(^_^;)。 途中には、広島駅の食堂街では、本場の広島風お好み焼きも堪能できた。 そしてここまで、この26日の18時頃からホテルの部屋で、20時になったら2日連続で J-Bowwy に繰り出すまでの束の間に書いているが、中途半端な時間なので、ずっとパソコン内に置いてあり「暇があったら・・・」と放置されてきたモノを2件、ここに書いてノルマを果たそうという魂胆である。

まずは、上の「数独」である。 フィンランド人の数学者が「世界で最も難しい数独」を作った、というニュースにあった画像を保存していたが、僕の数独は、ハマる時期とまったくやらない時期の疎密の差が激しくて、ここしばらくはノータッチだったので、いつか暇なときに・・・と放置していた。 その時にちょっと調べてみたら、 こんなページ があり、上の数独は2012年バージョンで、この数学者は2010年バージョンも発表していたらしい。 ・・・ということで、とりあえずここでは紹介のみで置いておき、本当に暇になったら、このMax日記から発掘してトライしてみよう。

そしてもう一つが、上の「BASIC」である。 もう3ヶ月も前になるが、5月にニュースで流れてきたのは、「BASICが50周年」というものだった。 僕も最初のプログラミングはBASICだった。

学生時代、京大理学部内にある、タンデム・バンデグラーフ線形加速器を使った素粒子物理学の実験で、巨大な工場のような建物(内部の部屋を仕切るドアは全て、厚さ1.5メートルの鉛入りコンクリート製。卒業研究を始める4回生4月に採血し、卒業時に再び採血して比較し、白血球が減っていなかったら「放射線被爆してなくて良かったネ(^_^)」となる)で、24時間かけて巨大な加速器の内部をほぼ真空にして、そこから24時間かけて、数百万電子ボルトに加速したヘリウム原子核(α線)を金箔のターゲットに衝突させる、という実験をしていた。 実際には金箔を構成している金原子は、中心部にある原子核(陽子と中性子)は非常に小さいので、確率的には原子核と正面衝突することは無く、たまたま原子核の「近く」を通った時にだけ、加速粒子との「弱い」相互作用によって、金の原子核がちょっとだけブヨブヨと振動する、という「液滴模型」によって説明される、ブヨブヨによって生じたγ線が出てくるのをセンサで検出することにより、「液滴模型」の原子核物理学的な観測を行う、というものである。 原子核分裂によるβ線は工学部でやっているので、ノータッチだった。

理論は優秀な同級生に任せて、僕は計48時間の実験徹夜班として、2時間おきに冷却用の液体ヘリウムのタンクを運んだりするとともに、加速ビームがターゲットと衝突する「チェンバー」に入るところでビーム強度を実験のために変化させるシステムで、ビームを絞る「スリット」の制御プログラムを、日立の8ビットマイコンのシステムでBASICで書いていたのだった。 いま検索してみると、情報処理学会の 国産8ビットパソコンの登場 というページには、以下のような記述があったので、たぶん僕の使ったのは、6800を使った「MB-6880」であるが、その前身のワンボードマイコンでアセンブラもやったような記憶がある。

日本では1974年にソード(現東芝パソコンシステム)がインテル8080を採用したマイクロコンピュータ
SMP80/Xシリーズを発表した.日本電気(以下NEC)では1976年8月に8080互換のμPD8080A を
用いたワンボードマイコンTK-80を発売した.これは技術者のトレーニング用キットであったが,価格が
88,500円であったことから,一般のマニア層にまで広がり,マイコンブームの先駆けとなった.ワンボード
マイコンは,東芝,日立製作所(以下日立),富士通,シャープなどからも発売された.1977年8月には
精工舎が8080Aを用いたSEIKO-5700を発売し,同年9月にはソードがザイログ社のZ80を採用した
M200シリーズを発表した.
1978年9月には日立がBASICを搭載しマイクロプロセッサに日立版6800を用いたパソコンベーシック
マスターMB-6880を発売した.1978年12月にはシャープがZ80を使用しBASICの使えるセミキットの
MZ-80K を発売した.NECは1979年には8ビットPC-8001を発売し,日立,シャープ,NECのこれらの
3機種が初期の8ビット機の御三家といわれた.1980年代に入るとより高機能な8ビット機としてNECの
PC-8800シリーズ,富士通の FM-8,シャープのX1シリーズが発売され,この3社が市場の中心になった.
卒業して河合楽器に就職して、11ヶ月の新入社員研修を経て、研究開発部門に配属されたが、そこでも最初にやったのはBASICだった。 こちらはテクトロニクスのストレージ・ディスプレイのパソコンで、補助記憶媒体としてフロッピーディスクが出る前のテープカートリッジだったので、ランダムアクセスが出来ない、という、たぶん今の人には想像できない代物である。 つまり、あるデータを保存したりそれを読み出す、というと、いちいちその都度、テープが最初まで巻き戻されて、テープの冒頭領域にある「そのデータの場所はここ」という情報を読み出すと、テープはその位置まで延々と早送りされて、その場所のデータを読み書きする・・・という動作を繰り返すのである。 新人の僕が勉強用に作ったBASICのプログラムが走ると、データを読み書きするたびにテープが巻き戻しと早送りを延々と繰り返し、その間、人間はコーヒーでも入れて待っている、という時代であった(^_^;)。

古い話は尽きないが、その「BASICが50周年」というニュースを知った時に、試しに検索してみたらゲットできたのが、 Chipmunk Basic というものである。 ちゃんとMac OSXで動く、強力なBASICなんてものを作って公開している変人がいるのだった(^_^;)。 そこにある「README.txt」の一部が、以下である。

** ** Chipmunk Basic README ** **   (version 3.6.6b0, 2012-Apr) 

Chipmunk Basic is a old-fashioned interpreter for the BASIC
programming language.  This is a beta release of a terminal
command-line utility, and a Carbon window application, for both
for Mac OS X with Intel CPUs and PPC CPUs.

Features of the Mac OS X Carbon window port include support for
simple graphics with a sprite graphics engine, sound, MacinTalk
speech.  It's also AppleScriptable.  A te2cbas AppleScript
is included to run programs from the TextEdit application.
A tw2cbas AppleScript is included to run programs from the
TextWrangler application.

Please see basic.man.txt for documentation of the Basic language.
Please see the quick-ref for Mac specific features.

Use the Terminal utility to run the command-line version (The
Terminal utility is in the Mac OS X Applications / Utilities
folder.)  The command-line executable named "basic" can go into your
/usr/bin directory ( use: sudo mv -i basic /usr/bin/basic ), or any
other directory in your execution $path.  The basic.1 man file goes
into your /usr/share/man/man1/ directory.  Then type "man basic"
to see the man file in readable form.  Note that from the Terminal
or any unix shell, you can use the command "basic filename.bas"
to run a Basic program, and that externally edited Basic program
do not need to have or use line numbers.

Every personal computer should come with a simple, easy to learn,
programming language.  Chipmunk Basic was my contribution for the
very first PowerMacs.  Chipmunk Basic only comes with a man page and
a quick reference to the Mac specific functions.  The language is
mostly compatible with books on programming in BASIC that were
written between around 1978 and 1990. This version is a both bug
fix and new feature release.  It is still free for educational and
non-commercial distribution and use (but only for those who don't
believe that using the BASIC language causes brain damage. :-)

Please send bug reports to 
More documentation and possible updates can be found on the
Chipmunk Basic Home Page:     
大したものである。 Unixのターミナルで動く、テキストベースのものだけでなく、ちゃんとグラフィックまで描けるアプリ版もあるのだった。 ちょっと長くなるが、その「Quick_Ref.txt」の一部が、以下である。

Additional Chipmunk Basic Macintosh specific commands and functions:

- Mac Graphics

        GRAPHICS 0                          	:' show graphics window
        graphics -1                        	:' hide graphics window
        graphics WINDOW x, y, width, height	:' graphics window setup
                                :' (x,y) location, width and height
        graphics WINDOW width, height	        :' adjust the size

        graphics MOVETO  x,y	        :' Move pen To x,y
        graphics LINETO  x,y	        :' draw Line To x,y
        
        graphics moveto 10,20 : graphics lineto 30,50	:' example
                        :' that draws a line from (10,20) to (30,50)

        graphics CIRCLE  x	        :' circle of diameter x
                        :' previous MOVETO x,y s ets center location
        graphics OVAL    x,y        	:' oval  x wide by y high

        graphics RECT  x1,y1, x2,y2        	:' FrameRect
        graphics FILLRECT  x1,y1, x2,y2,pat#	:' PaintRect
        graphics FILLRECT  x1,y1, x2,y2,-1	:' EraseRect
        graphics OVAL  x1,y1, x2,y2	        :' FrameOval
        graphics FILLOVAL  x1,y1, x2,y2,pat#	:' PaintOval
        graphics PENSETUP  xsize, ysize [, mode, pat# ] :' modes 8-15
                :' modes - 8 patCopy, 9 patOr, 10 patXor, 11 patBic
                :' pat# - 1 is black, 4 is 50% dots, 12 is bricks, etc.

        graphics COLOR  r,g,b	        :' red green blue 0-100%
        graphics COLOR 100,0,0	        :' changes new color to red
        graphics COLOR  0,0,0	        :' use default black

        graphics pset x,y	                :' plot 1 point at x,y
        graphics TRIANGLE x1,y1,x2,y2,x3,y3 {,r,g,b}  :' draw triangle
        graphics PICT   x,y, n	        :' draw 'pict' resource# n
        graphics PICT   x,y, pictfilename$	:' draw .pict file

        graphics DRAWTEXT  a$	        :' DrawText
                :' use MOVETO x,y  to position text lower left corner
        graphics TEXTSETUP f, s, m	:' set up text font, size, mode
        graphics textsetup macfunction("GetFNum","monaco"), 24, 0
                :' modes : 0 srcCopy, 1 srcOr, 2 srcXor, 3 srcBic
        graphics TEXTSETUP -1,-1	:' set up bold font
        graphics TEXTSETUP -1,-2	:' set up italic font
        graphics TEXTSETUP -1,0		:' restore normal font

        graphics (-38)	            :' return graphics window max width
        graphics (-39)	            :' return graphics window max height
        graphics (-34)	            :' return graphics window pixel depth
        
        fn scrn(x, y, 0)	    :' return graphics pixel value at x,y
        fn scrn(x, y, 1)	    :' return red component
        fn scrn(x, y, 2)	    :' return green component
        fn scrn(x, y, 3)	    :' return blue component
        	:' may need to wait at least 1/4th of a second
        	:'  for the scrn function to return any recently drawn pixels
        	:' the graphics 0 command may hasten the display update

        SPRITE	n  x, y, id	    :' sprite n @ x,y using ICN# id
                                    :' n from 1 to 63, 1 frontmost
                                    :' ICN# 128 - 141 included with app
                                    :' cicn requires ICN# with same id.
        sprite	n  UP    x	    :' sprite #n move up x pixels
        sprite  n  DOWN  x	    :'   also returns new sprite y coord
        sprite  n  LEFT  x	    :' move LEFT (not turn as in Logo!)
        sprite  n  RIGHT   x
        sprite	n  TURN    d	    :' turn counter-clockwise d degrees
        sprite	n  TURNRIGHT d	    :' turn clockwise d degrees
        sprite	n  TURNLEFT  d
        sprite	n  TURNTO    d	    :' turn to d degrees from x axis
        sprite	n  FORWARD x	    :' move forward x pixels
        sprite	n  PENUP
        sprite	n  PENDOWN
        sprite	n  COLLISION	    :' returns 1st sprite# in contact
        sprite  id  on  x,y	    :' paste a fixed sprite image @(x,y)

        graphics WINDOW -1,-1, x,y, 2	:' scroll graphics background

        ' Too small a "Preferred Size" (as set from Finder Get Info window)
        ' may limit the maximum graphics window size.
        ' Under Mac OS X, execute these commands, then exit and restart to
        ' try and increase maximum graphics window size.
        
      	macfunction("putPref","gwindow.w.max","2048") : rem width
      	macfunction("putPref","gwindow.h.max","2048") : rem height
      	
        macfunction ( "savepicture", fname$ )
                        :' saves graphics window to a PICT file
                        :' use graphics window command to set size
	fn saveaspng(fname$, x,y, w,h)
                        :' saves pixels to a PNG file
			:' preceed with graphics 0 + wait 1 second 
			:' with white as transparancy
	fn saveaspng(fname$, x,y, w,h, 32896)
			:' with 50% grey as transparancy

        graphics PICT x,y, filename$
                        :' draws graphics from image file at (x,y)
                        
        graphics 0	:' refresh graphics window now
        		:' for control of graphics animation update rate
        
- Mac Sound commands

        morse "CQ DE N6YWU",16,40,13,700        :' play morse code
                :' MORSE string, dot_wpm, volume, letter_wpm, freq
  
        say "hello world"            :'  *requires* the Speech Manager
        say "faster", 196, 44, 1    :'  string, rate, pitch, voice#
        say        	:' reads the last 12 lines of the console window
        x  = macfunction("numSpeakers")	:' the number of voices
        v$ = macfunction("getSpeaker")	:' get the voices name

        sound 440, 0.5, 30	:' freq, secs_duration, vol(0-100)
        
        sound 0, 8192	        :' play snd resource #8192
        sound n,freq(0),dur,vol(0) :' play n tones from arrays freq & vol
                :' 1 < n < 9 => up to 8 multivoice tones (chords)
                
        ' Quicktime MIDI sound
        
        sound -2, midi_voice, midi_key, velocity, secs_dur [,channel]
                :' play note using Quicktime MIDI synthesizer
                :' midi_voice = 1 -> piano
                :' midi_key = 60 -> middle C
                :' midi_velocity = 100 -> loud
                :' simultaneous channels 1 to 4 supported
		:' default channel is 1
        sound -3, midi_voice, midi_key, velocity, secs_dur [,channel]
                :' wait for previous note to finish then play
        sound -4, midi_voice, midi_key, velocity, secs_dur
                :' play on any free channel without waiting

        fn playsound( fname$, n )
                :' play up to n seconds from sound file fname$
                
        ' sampled sound support
        
        sound -1, a(0), n   :' play n samples from array a()
                            :' at sample rate 11025
        sound -1, a%(0), n, 44100, 16	:' play sampled sound
                            :' 16 bit quality at 44100 sample rate
        
        fn record(a(0),n)
        fn record(a%(0),n)
        	:' records n samples of sound into a() or a%()
        	:' 	16-bit quality at a sample rate of 11025
        fn record(a%(0),n, 44100)
        	:' 	record 16-bit mono at a sample rate of 44100
	
- Mac User interface functions and commands
        
        cls	                : rem clears console & graphics windows
        gotoxy 5,10 : print "here" : rem move text cursor (0,0 origin)
        x = pos(0)	        : rem text cursor horizontal location
        y = pos(-1)	        : rem vertical text cursor location

        a$ = inputbox("prompt", "title", "default", 0)
                :' gets string input using default dialog
        a$ = inputbox("prompt", "title", "default", id)
                :' if id > 1024 this will use a custom DLOG #id
                :'    with item 1 = OK, item 2 = cancel
                :'    prompt replaces 1st static text item
                :'    default replaces 1st edit text item
                
        macfunction("wintitle", t$)	:' sets the graphics window title
        macfunction("bigfont")	:' toggles BIGFONT console output status
        macfunction("hideMenuBar")
        		:' hides menubar. graphics -1 to restore.
        
        mouse(0)        ' returns 1 if the mouse button is down
        mouse(1)        ' x coordinate in current window
        mouse(2)        ' y coordinate in current window
        mouse(3)        ' last x click location (set to -1 after read)
        mouse(4)        ' last y click location (set to -1 after read)
                :' mouse() must follow a graphics command
                :'   to get a location in the graphics window.

        graphics BUTTON title$, x,y, w,h, key_code
                        :' draw a standard button at (x,y) size (w,h)
                        :' will input chr$(key_code) when pressed
        graphics BUTTON title$, x,y, w,h, e$
                        :' button will exec(e$) when pressed
        graphics BUTTON "",-1	        :' remove all buttons & sliders

        menu 4, title$, itemlist$, eventlist$	         :' setup menu
        menu 4, "myMenu", "item1;item2", "foo1();foo2()" :' example
                :' sets up the 4th menu (only 4th menu is implemented.)
                :' calls your subroutines foo1() & foo2() on menu select.
                :' subroutines must be previously defined.
                :' see Apple documentation for menu options
        menu 4, ""        :' removes your menu
        fn doevents()     :' poll for button and menu events

- Additional Mac specific functions and commands:

        open "SFGetFile" for input as #2    :' dialog prompt for filename
        open "SFPutFile" for output as #5   :' uses dialog box for name
        open f$ for data input as #4	:' data file, no CR-LF translation
        open f$ for data input  :' use file for snd & pict, etc. resources
        a$ = field$("aa bb cc", 2, " ")	:' returns "bb", (awk fields)
        a$ = field$(a$, n, chr$(9))     :' return nth item in TSV line a$

        s$ = macfunction("getclipstr")	        :' get clipboard text
        s$ = macfunction("putstr2clip")	        :' put text into clipboard

        x = macfunction("NoLineNums",1)
        			:' turns off line numbers in list & save

        x = macfunction("wait", n)              :' waits for n seconds
 
        reply$ = macfunction("Gestalt","cput")  :' system gestalt info
        x = macfunction("keydown", 0x3a)        :' test option key

        x = macfunction("launch", appname$)     :' launch an app in local dir
        
        macfunction("rsrcload",fname$, rtype$, id, i%(0), sizelim, 2)
        	:' loads rsrc data into an integer array & returns size
        macfunction("rsrcsave",filename$, restype$, res_id, i%(0), size)
        	:' saves the contents of an integer array as a resource

	graphics window 200,200,32,32 : ... : macfunction("copyPict") :
	macfunction("rsrcsave", filename$, "PICT", rsrc_num)
		:' saves contents of a small window as a PICT resource

        fre	:' returns available heap memory.
                :' If this gets much below 32K, one should increase the
                :'   Preferred size using Finder Get Info & restart Basic.

- AppleScript scripting.  Try this script from a script editor:

        tell application "chipmunk-basic" to DoScript "eval ( 5 * 7 )"
        tell application "chipmunk-basic" to DoScript "eval date$"
            :' eval will return a string result to the script editor.
        tell application "chipmunk-basic" to DoScript "print 22 * 7"
        tell application "chipmunk-basic" to DoScript "say 'hello'"
            :' Tells Chipmunk Basic to executes a statement.
        tell application "chipmunk-basic" to DoScript ("runStatus")
	    :' returns whether a Basic program is running
	    
- ICN#, cicn, PICT & BCMD resources may be stored the resource fork of
        any file, not just the "mumble.bas" program file.  Use:
        open "foo.rsrc" for data input : rem with no "as" token,
           :' this makes the file "foo.rsrc" the current resource file

- A few experimental commands which may only work in OS X 10.2 or above :

        macfunction ( "DrawFromFile", fname$, x, y )
                        :' draws graphics from JPG or GIF file at (x,y)

        open "COM1:/dev/cu.modem:1200,N,8,1" for output as #1
        open "COM1:/dev/cu.modem:1200,N,8,1" for input as #2
        	:' opens serial port with given unix path and baud rate
 	
        fn serialpath(n)
        	:' returns the path string for the n-th serial port
        	:'  starting with 1 (usually the internal modem)
        	:'  example:
        	100 rem serial i/o example
        	120 sp1$ = fn serialpath(1) : print sp1$
        	130 if sp1$ = "" then stop
        	140 sp2$ = fn serialpath(2) : print sp2$
        	160 config$ = "COM1:" + sp1$ + ":9600,N,8,1"
        	180 print config$ : print
        	200 open config$ for input as #2
        	220 open config$ for output as #1
        	240 k = 0
        	260 while k <> 3 : rem control-C to exit
        	280   a$ = input$(1,2)
        	320   print a$;
        	340   k$ = inkey$ : k = asc(k$)
        	360   if (k > 3) then fputbyte k,#1
        	380 wend
        	420 close #2 : close #1
        	440 print : print "done"
        	460 end
	
        :' Note that Chipmunk Basic unix pipes and sockets also work
        :' under OS X .  See the man page for details.
        
        open "socket:www.yahoo.com",80 for input as #1
        open "socket:www.yahoo.com",80 for output as #2
        		:' open tcp/ip socket to a web server
		
        sys(command$)	:' execute unix terminal command
        		:'   no stdout/output provisioned

        system$(command$)	:' execute unix terminal command
        			:' returns 1st line of standard output

        x  = macfunction("launch", "Safari")
        r$ = macfunction("doscript","Safari", url$, "GURL", "GURL")
        	:' launch Safari and go to a web site

        dir	
        	:' displays files in current working directory
これはもう、変態もしくは偏執狂とも言えるレベルである(^_^;)。 そして、Unix系のお約束のマニュアルが basic.manual.txt である。 これはもう、「参った」としか、言いようがない。 このBASICはまだパソコンに残しておくが、これを来月の欧州ツアーの最中にやるかどうか、は甚だ未定である。

・・・ここからは寝坊した翌朝に書き足した(^_^;)ものだが、以下は順不同ながら、昨夜の謎の記録である。

 ◎◎◎◎◎ □□□□□ 7219-19 花は桜 君は美し いきものがかり ★Key="-3"
 ◎◎◎◎◎ □□□□□ 7075-10 三日月 絢香 ★Key="-2"
 ◎◎◎◎◎ □□□□□ 6906-42 川の流れのように 美空ひばり ★Key="-1"(original)
 ★◎◎◎◎ □□□□□ 6736-34 栄光の架橋 ゆず ★ハモり担当
 ◎◎◎◎◎ □□□□□ 6673-72 愛のうた 倖田來未 ★Key="-1"
 ◎◎◎◎◎ □□□□□ 4461-09 God Knows.. 平野綾 ★Key="-3"
 ◎◎◎◎◎ □□□□□ 2578-10 ジョバイロ ポルノグラフィティ
 ◎◎◎◎◎ □□□□□ 5664-11 Fish Fight! 野猿
 ◎◎◎◎◎ □□□□□ 5966-70 Seasons(ライブ版) 浜崎あゆみ ★Key="-3" (通常 5627-42)
 ◎◎◎◎◎ □□□□□ 4716-69 Grip ! Every Little Thing ★Key="-3"
 ◎◎◎◎◎ □□□□□ 4716-12 Time goes by Every Little Thing ★Key="-2"
 ◎◎◎◎◎ □□□□□ 3996-13 Starry Heaven Day After Tomorrow ★Key="-3"
 ★◎◎◎◎ □□□□□ 4037-18 チェリー スピッツ ★ハモり担当 (通常 3171-14)
 ◎◎◎◎◎ □□□□□ 2790-02 パチンコ〜ランラン・ブルース〜 憂歌団 ★Key="+3"(original)
 ◎◎◎◎◎ □□□□□ 1766-01 落陽 吉田拓郎
 ◎◎◎◎◎ □□□□□ 1645-58 飾りじゃないのよ 涙は 井上陽水
 ◎◎◎◎◎ □□□□□ 1645-03 少年時代 井上陽水
 ◎◎◎◎◎ □□□□□ 1555-82 氷雨 ジェロ ★Key="+2"
 ◎◎◎◎◎ □□□□□ 2604-14 幼い日に 南こうせつ ★Key="+2"(original)
 ◎◎◎◎◎ □□□□□ 1289-02 島唄(オリジナル・ヴァージョン) THE BOOM ★Key="+1"(original)
 ◎◎◎◎◎ □□□□□ 1095-02 未来予想図II DREAMS COME TRUE ★Key="-3"

2014年8月28日(木)

昨日は原爆資料館、そして京都経由で広島から帰ってきて、終った。 今回のツアーのフォトレポートは これ である。 そして、新作初演の動画も、以下のようにYouTubeに上げた。 ビデオカメラのオートレベルの録音ではほとんど現場のサウンドは再現できないが、まぁ、仕方ない。(^_^;)

YouTube(1)

YouTube(2)

YouTube(3)

さて、国内ツアーが終ったので、次は欧州ツアーである。 まだ何も準備していないが、今回は発表はブルガリアの国際会議だけであり、コンサート関係の機材を持っていかないので気楽である。 初めてのトライとして、スーツケースを預けずに、今回の国内ツアーで持ち歩いたキャリーバッグを機内持ち込みで、つまり国内(北海道や沖縄)と同じノリで行ってみよう、というのが重要なテーマなのだ。

ただし、この欧州ツアー中にこの「Max日記」を書き進めよう・・・という計画は、ちょっと変更になりそうである。 もっともっと別ネタで大きなやつを執筆する事になりそうで、Maxはほとんどノータッチになるかもしれない。 そうなると、今回の「Max日記」シリーズは、(1)〜(3)でいったん完結、というのもアリかもしれない。

ヤフオクでまたまた、中古のジャミネータを500円でゲットして(送料は1500円ほど(^_^;))、だいぶ台数が増えてきたので、今年の「サウンドデザイン演習」では、グループに分かれて、それぞれジャミネータを分解して改造する・・・というのを狙ってみようかな、という気になっている。 そうなれば、解析にも改造にもMaxが燦然と登場して活躍することになるので、そこで「Max日記」が再開・・・という可能性もある。

2014年8月30日(土)

渡欧直前の週末である。 まだ準備は何もしていなくて(^_^;)、おそらく月曜日に準備して、火曜日の午後に大学から出発である。 毎年、事前登録して参加しているために、昨日は以下のような直前情報がアルスエレクトロニカから届いた。 これをちゃんと読まずに現地に行くのが恒例(^_^;)であるが、チラッと見たところでいくつか面白そうだったので、プリントして持参することにした。
-------------------------------------------------------------
Festival Ars Electronica 2014
-------------------------------------------------------------
C ... what it takes to change! There's only a week to go! The Ars Electronica Festival commences 
on Thursday, September 4, 2014 in Linz. The lineup is online at 
http://mlwrx.com/sys/r.aspx?sub=aSUrf_3wcjx2&link=33lJ. 
You'll find a selection of the highlights in this newsletter.

We wish you lots of fun and inspiration!

Opening
FESTIVAL TO CELEBRATE
The featured event on the first day of the festival, Thursday, September 4th is the Opening Parcours. 
This large-scale venue crawl through the entire festival layout in downtown Linz culminates at 
St. Mary's Cathedral (Mariendom) where the festival opening  kicks off at 8:30 PM and church's 
façade becomes a jumbo-format projection surface.

Future Innovators Summit
FESTIVAL TO THINK & TALK
The Future Innovators Summit launched jointly by Ars Electronica, Hakuhodo and ITU Telecom 
is a conclave of extraordinary individuals from all over the world, experts in four fields that seldom 
convene at such a get-together-art & design, engineering, start-ups and social activism. The lineup 
includes a unique mix of lectures and keynotes, discussions and workshops, all of which are open 
to festivalgoers.

CyberArts 2014
FESTIVAL THAT SHOWS
Despite all the changes, the CyberArts exhibition remains the Festival's most important showcase 
of excellence in media art. It brings together a collection of the best works singled out for recognition 
by the 2014 Prix Ars Electronica juries. For the first time, CyberArts is also spotlighting the brilliant 
oeuvre one of the Visionary Pioneers of Media Art: Roy Ascott.

ARTS2: Programmer ou être programmé
FESTIVAL THAT SHOWS
The Campus exhibition has become a fixture at Ars Electronica. It's staged by Linz Art University's 
Interface Cultures program, and also features a foreign guest institution. This year, it's ARTS² - 
École supérieure des Arts  in Mons, Belgium, the 2015 European Capital of Culture.

Interface Cultures
FESTIVAL THAT SHOWS
The show marking the 10th anniversary of Linz Art University's Interface Cultures program is the 
largest exhibition in the history of Campus. The lineup of accompanying events includes Network 
Talks by professors at partner universities in Europe, Asia South America and Australia, and an 
alumni reunion.

Device Art
FESTIVAL THAT SHOWS
Device Art is a relatively young art form. Its practitioners pursue the aim of using innovative materials 
and techniques to create high-tech contrivances featuring sophisticated, whimsical design. Art, 
design, technology, science and entertainment blend in a unique way, and simultaneously dovetail 
modernity and ancient Japanese traditions.

Buddha on the Beach
FESTIVAL THAT SHOWS
In the face of the many current crises, we flee-sometimes just in our minds, sometimes literally, 
physically-and increasingly often to idyllic tropical paradises far, far away. Assume that Buddha 
appeared today on one of these beaches. Would he have a solution to our problems? The "Buddha 
on the Beach" exhibition demonstrates the interrelationship between (Taiwanese) art and (global) crises.

The Big Concert Night
FESTIVAL TO WATCH & LISTEN
Among numerous superb works of acoustic and visual artistry, the 2014 Big Concert Night's lineup 
also includes three world premieres: Josef Klammer's visualized solo concert "Trommeln ist ein 
dehnbarer Begriff" in the LENTOS Museum of Art, Marco Lemke's "Les Chimères" in the Brucknerhaus, 
and Michael Nyman's "Symphony No. 3 - Symphony of sexual songs" performed by the Bruckner 
Orchester Linz conducted by Dennis Russell Davies.

The Story Weaver
FESTIVAL TO WATCH & LISTEN
The beauty of nature as well as the threat it poses have exerted a great influence on Japanese 
society and culture since time immemorial. This is made evident by numerous myths and fairy 
tales, one of which is "The Crane Returns a Favor." Maki Namekawa, Chiaki Ishikawa and Emiko 
Ogawa, three Japanese artists who have been living and working in Linz for many years, have 
created an audiovisual work based on this tale, "The Story Weaver" and will perform it in Ars 
Electronica Center's Deep Space.

Dom Exhibit
FESTIVAL THAT SHOWS
St. Mary's Cathedral will be serving as an extraordinary exhibition space throughout the festival. 
The church's nave, crypt and Rudigiersaal will host the Dom Exhibit , a diverse series of artistic 
installations.

u19 - CREATE YOUR WORLD
FESTIVAL TO PLAY
With a total of 45 installations, exhibitions, presentations, workshops and open labs, the u19 - 
CREATE YOUR WORLD festival for young people is once again a colorful playground for ideas, 
solutions, concepts and experiments.
また、SUAC事務局からは、以下のような情報が届いた(一部、備忘メモとして抜粋)。 ちょうど渡欧中に、またSUACのサーバ等が停止するらしい。 途絶するのはかなり心配だが、まぁ仕方ない。(^_^;)
ネットワークの停止等の影響がありますので、お知らせします。
作業日:9月13日(土)〜15日(月)祝日および17日(水)

・メールシステム
 停止日:9月13日(土)9時半頃〜9月14日(日)17時頃
 ※停止期間中、受信メールはスプールされ、停止終了後に受信できる
  予定です。但し、サーバの切替時、一時的にスプールされない可能性が
  あります。停止期間中、メールの送信はできません。

・学内Web、教員用学外Web
 停止日:9月13日(土)9時半頃〜17時頃
 ※停止期間中、学外Webについては閲覧できます。
  但し、学内DNSサーバの切替時、一時的にアクセスできない時間があります。

・インターネット
 停止日:9月13日(土)9時半頃〜17時頃
 インターネットの利用が不可となります。

・ネットワークドライブ(Rドライブ)
 停止日:9月13日9時半頃〜9月15日(日)17時頃
 SUAC-Netへのログイン、Rドライブの利用が不可となります。
昨日の午後には、M2のリュ君のアポがあり、いよいよ修了制作の作品「POMPOM」の電子回路部分の製作に取りかかった。 学部学生と違って、自分が制作するシステムの電子回路を完全に理解して、またハンダ付けの製作も基本的に自分で行い、僕が公開しているPropellerライブラリをソフトウェア部品として活用することはあるものの、Propellerのプロクラミングも、XBeeで通信してホストのMax/MSP側のプログラミングも、全て自分で行う、というのが、彼が大学院で僕のところに弟子入りする時からの目標・約束である。

 昨日は3時間ちょっとかけて こんなところ まで進んで、とりあえず基板にPropellerとXBeeが載った。 その後(写真ナシ)、30分ちょっとで、とりあえずPropellerのプログラムで刻々と値を変えた情報をXBee経由で送り、これをXBeeで受けたMaxのパッチで解読して表示する、というところまで、ここは僕が作って引き渡した。 これ が、作業の経過をまとめてリュ君に送ったzipである。

このzipの中身は上のように、一昨年、院生の伊熊さんの修了制作に協力して作った、Propellerから疑似MIDIプロトコルでXBeeを送信するPropellerプログラムと、受け手のMax側でserialオブジェクトでXBeeを受信するパッチを改造して、まずは通信動作を確認したものである。 これで、あとはI2C経由での3次元加速度センサとの通信、そして時間差センサの計測というPropellerアセンプラ・ライブラリ(ここはさすがにリュ君には無理)の制作があるが、まぁ初日としては上々の滑り出しである。

そして、上にあるのは、久しぶりの数学である(^_^)。 ちょっと、「2」、「3」、「5」、という話題がこのところ頭にあり、これはフィボナッチ数列じゃないか・・・ということで、中学から高校あたりでハマッたこのあたりを、何も見ないで手で計算して再現できるか、ここ2日ほどメモ用紙に計算していたものを、一気にまとめてみたものである。

フィボナッチ数列とは、「前の2項の和」を新しい項にする、という、数列の漸化式としてはもっともシンプルなもので、初項と第2項は1なので、第3項は1+1=2、第4項は1-2=3、第5項は2+3=5、というように、1,1,2,3,5,8,13,21,...と続く数列のことである。 これを隣接3項間の漸化式として、授業よりもだいぶ先取りして以下のように厳密に解いたのは、高校2年か3年の時だった。

上のメモの 3ページ にあるが、フィボナッチ数列の一般項 {a(n)} は、文字で書くと、「 『「1+ルート5」の半分をn乗したものと、「1-ルート5」の半分をn乗したものとの和』をルート5で割ったもの 」となるが(^_^;)、ここで登場する、『「1+ルート5」の半分』をα、『「1-ルート5」の半分』をβとすると、このαβがとても面白いのである(^_^)。 このαβは、漸化式を解くための特性方程式「x^2 - x -1 = 0」の2つの実数階であり、ここでは正の解をα、負の解をβとすると、 上のメモの 1ページ にあるように、2次方程式の「解と係数の関係」により、「α+β=1」、「αβ=-1」、となる。 なんと40年前に触れた数学の復習である。なんとも懐かしい。

このα、『「1+ルート5」の半分』という無理数が、有名な黄金比であり、「1:α」に分けるのが黄金分割、2辺が「1:α」になっている四角形がパルテノン神殿で有名な黄金長方形、3辺が「1:α:α」である、頂角が36°の二等辺三角形が黄金三角形である。 ちなみに上のメモの 1ページ のように、フィボナッチ数列の各項を1辺とする正方形を順に並べていくと、例えば最初の長方形は「1:2」の比、次の長方形は「2:3」の比、次の長方形は「3:5」の比、次の長方形は「5:8」の比、次の長方形は「8:13」の比、次の長方形は「13:21」の比、・・・と続いていき、それぞれの正方形の重心なり頂点なりを繋ぐと「対数螺旋」になり、この長方形の辺の縦横の比は、上のメモの 3ページ にあるように、極限としてαに近づいていく。

そしてちなみに上のメモの 4ページ にあるように、黄金比αは、正五角形に本質的に結びついている。 そこで思い出したのは、上のメモの 5ページ にある、「定規とコンパスだけで正五角形を描く方法」である。 これは学校では習っていないが、興味があって小学校か中学校の時に調べていた方法を、なんと45年たっても覚えていた(^_^;)。

そして、αばかりに脚光が当たっているのはβに可哀想だと、これまた高校以来(大学受験以来、もっともその後も家庭教師として受験生を教えるバイトをしていたのでさらに数年以上)だった、2次方程式のグラフを描いてみたのが上のメモの 6ページ 以降である。 二次関数と一次関数のグラフの交点を求めて、それぞれの接線を引いてその交点を求める・・・というのは、本当に何十年ぶりであるが、ちゃんと交点のx座標は1/2と定数になった。 そして、図のあちこちに黄金長方形が出現した。(^_^)

さらに、上のメモの 7ページ から 9ページ までの計9ページは、昨日までに書いていたものだが、それぞれ元になる計算は、自宅で深夜1時とか2時に、ペットのハムスター(夜行性)に起こされて遊んだ時に書き付けていた。 そして最後の3ページは、昨夜、またまた深夜に補遺を思い付いてメモしたものを、今日、研究室に出て来てから書き足したのである。 いやー、数学って、本当に楽しいですね。(^_^)

・・・などとしているうちに、ネイチャーに載った、という論文のニュースが届いた。 『音楽がわき起こす「懐かしい気持ち」、米チームが仕組み解明か』というものである(^_^;)。 ネイチャーの このページ にあり、太っ腹にも無料公開されているPDFが これ であるが、ニュースソースの AFP によれば、以下のようなお話である。 なんか、ちょっと眉唾であるが(^_^;)、STAPが世間を騒がせた昨今、まともな研究なのだろう。 さっそくプリントして、空港など暇な時に読むことにした。

音楽は脳のさまざまな機能を活性化するため、好きな曲を聴くと楽しい気分になることもあれば、大好きな曲で昔を思い出して
懐かしさに浸ることもある理由を説明できるかもしれないとの研究結果が、28日に英科学誌ネイチャー(Nature)系オンライン
科学誌「サイエンティフィック・リポーツ(Scientific Reports)」で発表された。
米ノースカロライナ大学(University of North Carolina)のロビン・ウィルキンス(Robin Wilkins)氏率いる神経科学者チーム
は、若い被験者21人にロック、ラップ、クラシックなどのさまざまな種類の音楽を聴かせ、その間に機能的磁気共鳴断層撮影法
(fMRI)スキャナーを使用して脳活動のマッピングを行った。
被験者に聴かせた6曲は、それぞれ長さが5分間で、うち4曲は各ジャンルを代表するとされるもの、1曲はあまり知られていない
曲、もう1曲は被験者が大好きな曲としたものを選んだ。
その結果、被験者が聴かされている曲が好きか嫌いかを示す脳活動のパターンが存在することを研究チームは発見した。
さらに研究チームは、大好きとした曲がかかった時に発生する特徴的なパターンも発見した。
好みだが大好きとした曲ではない曲を聴くと、脳の両半球で「デフォルト・モード・ネットワーク(DMN)」と呼ばれる神経回路が
活発になる。DMNは「内省重視型」の思考にとって重要とされている。
また大好きな曲を聴くと、隣接する海馬でも脳活動の活発化がみられた。海馬は、記憶と社会活動に関連する感情をつかさどる
脳の部位。
音楽のジャンルは非常に広く、好みは個人的なものであることを考えると、今回の実験で得られたfMRIパターンが被験者間で
非常によく似ていることが確認されたのは驚きだと論文の執筆者らは指摘している。
「クラシックのベートーベン(Ludwig van Beethoven)からヒップホップのエミネム(Eminem)まで、聴く音楽のジャンルは大きく
異なっても、音楽を聴くことによって皆同じような感情および精神の状態が経験される理由は、今回の研究結果で説明できるかも
しれない」と研究チームは話している。
ちょっと無理矢理に近いが、ここでこの日記のHTMLが、前の日記と同じ172KBに到達した。 これでぴったり、明々後日の渡欧を前に区切りとできそうである。

→ Max日記(4)

「日記」シリーズ の記録