Basic日記

長嶋 洋一


2018年11月21日(水)

僕のドメイン[nagasm.org]の本拠である Art & Science Laboratory と、その中の 1106研究室 のページに絡んだ、これまでの「日記」シリーズと掲載期日は、およそ以下のような品揃えである。 各種プラットフォーム、あるいは各種言語環境、を節操なしに食い散らかした記録とも言える。

  • あらえっさっさ日記

  • Sabbatical2004

  • Propeller日記
    • Part 1 2008年2月9日〜2008年3月9日
    • Part 2 2008年3月10日〜2008年3月19日
    • Part 3 2008年3月20日〜2008年3月25日
    • Part 4 2008年3月26日〜2008年4月4日
    • Part 5 2008年4月5日〜2008年5月21日

  • Arduino日記

  • Processing日記
    • Part 1 2011年2月24日〜2011年3月5日
    • Part 2 2011年3月19日〜2011年4月5日
    • Part 3 2011年4月14日〜2011年5月26日
    • Part 4 2011年6月10日〜2011年8月14日
    • Part 5 2012年3月14日

  • SuperCollider日記
    • Part 1 2011年2月24日〜2011年3月5日
    • Part 2 2011年3月13日〜2011年3月24日
    • Part 3 2011年3月25日〜2011年3月31日
    • Part 4 2011年4月12日〜2011年6月7日
    • Part 5 2011年7月28日〜2011年8月5日
    • Part 6 2011年8月18日〜2011年9月6日
    • Part 7 2011年10月8日〜2012年3月6日

  • 続・Propeller日記
    • Part 1 2012年8月27日〜2012年8月30日
    • Part 2 2012年8月31日〜2012年9月12日
    • Part 3 2012年9月13日〜2012年9月25日
    • Part 4 2012年9月28日〜2012年11月16日
    • Part 5 2012年11月19日〜2012年12月13日

  • 続々・Propeller日記
    • Part 1 2012年12月21日〜2013年1月7日
    • Part 2 2013年1月8日〜2013年2月3日
    • Part 3 2013年2月4日〜2013年2月26日
    • Part 4 2014年4月16日

  • RaspberryPi日記
    • Part 1 2013年5月14日〜2013年6月12日
    • Part 2 2013年6月13日〜2013年7月9日
    • Part 3 2013年7月11日〜2013年8月9日

  • PureData日記

  • Max6日記
    • Part 1 2014年2月13日〜2014年6月1日
    • Part 2 2014年6月8日〜2014年7月19日
    • Part 3 2014年7月21日〜2014年8月30日
    • Part 4 2014年8月31日〜2014年9月22日

  • mbed日記
    • Part 1 2014年9月26日〜2014年10月27日
    • Part 2 2014年10月27日〜2014年11月16日
    • Part 3 2014年11月17日〜2014年12月23日

  • Myo日記
    • Myo日記 2015年2月15日〜2015年3月31日

  • Xcode日記
    • Part 1 2015年4月12日〜2015年5月19日
    • Part 2 2015年5月20日〜2015年6月13日
    • Part 3 2015年6月14日〜2015年7月27日

  • postGainer日記
    • Part 1 2015年9月20日〜2015年11月1日
    • Part 2 2015年11月2日〜2015年11月30日
    • Part 3 2015年12月1日〜2016年2月9日
    • Part 4 2016年02月10日〜2016年03月20日
    • Part 5 2016年03月21日〜2016年05月11日

  • Sabbatical2016
    • Sabbatical2016 2016年8月27日〜2016年10月2日 (下のMax7日記のPart2〜Part4と同時進行で重複)

  • Max7日記
    • Part 1 2016年6月1日〜2016年7月16日
    • Part 2 2016年7月21日〜2016年9月7日
    • Part 3 2016年9月8日〜2016年9月27日
    • Part 4 2016年9月28日〜2016年11月30日
    • Part 5 2016年12月5日〜2017年2月17日
    • Part 6 2017年2月21日〜2017年4月20日

  • 続・Max7日記
    • Part 1 2017年8月1日〜2017年9月7日
    • Part 2 2017年9月8日〜2017年10月11日
    • Part 3 2017年10月12日〜2017年12月21日
    • Part 4 2017年12月22日〜2018年3月9日
    • Part 5 2018年4月3日〜2018年6月13日
    • Part 6 2018年6月14日〜2018年8月10日
    • Part 7 2018年8月14日〜2018年9月17日
    • Part 8 2018年9月18日〜2018年10月29日
しかしここに来て、 この流れ であれば次は「Max8日記」である筈、という明白な予想を大幅に裏切って、何を血迷ったか「Basic」なのだ。 これは間違いなく、忙しくなってきた日々に対する現実逃避に他ならない(^_^;)。
きっかけは、たまたま何かのニュースから派生して辿り着いたのが このサイト であり、そこでゲットしたオリジナルが これ で、さらにドキュメントを圧縮した簡易版(これだけで十分)が これ である。 アプリケーション本体(624KB)にドキュメントとサンプルプログラムを付けても計700KB、zipだと312KBである。 なんという小ささ(美しさ)だろう。

10 rem "test001.bas"
20 graphics 0
30 cls
40 sound 440,0.1,100
50 graphics color 100,0,0
60 graphics rect 10,10,60,50
70 fn sleep(0.9)
80 sound 440,0.1,100
90 graphics color 0,100,0
100 graphics rect 30,30,100,110
110 fn sleep(0.9)
120 sound 440,0.1,100
130 graphics color 0,0,100
140 graphics rect 40,40,200,200
150 fn sleep(0.9)
160 sound 880,2.5,100
170 graphics color 0,0,0
180 graphics rect 100,100,300,250

とりあえず これ を解凍して、上のサンプルプログラム「test001.bas」を、アプリケーション「Chipmunk_Basic.app」上にドラッグ&ドロップで投げ込むと(アプリケーションを叩いて開いたウインドウ内に投げ込むことも可能とは素晴らしい)、このページの冒頭にあるように、グラフィックウインドウが開いて時報サウンドが鳴って簡易グラフィックのデモが走る。 そして、「list」と打てば上のプログラムが出てくるが、スクリーンエディタではないのでいちいち打つ必要がある。 ウン10年ぶりのBasicであるが、いやー、懐かしい(^_^;)。
これ を解凍した中にある2本のマニュアル、 basic.manual.txtChipmunk_Basic_Quick_Ref.txt を見ると、なんとシリアル通信からBluetooth通信からMIDI通信まで完備しているような雲行きである。 やはり世界にはとんでもないオタクがいるのだ。 しかし、やはりこんな暇つぶしに没頭する時間は無い。

上のリストは、 前の日記 の最後の「2018年10月29日(月)」にあった項目を再録しつつ現在の状況に合わせて改訂し、一部を消して一部を追加したものであり、今日はまたまたゼミの日(OMMFミーティングもあればカーマに材料買い出しもあり)である。 要するに日々の備忘録として何らかの日記があるとそこにメモ出来るのでこの日記がスタートしたのだが、もしかすると口実のBasicはもう今後、出てこないかもしれない(^_^;)。

2018年11月23日(金)

世間は3連休などと言っているが、おそらく多くの国公立大学は祝日の今日も講義日だろう。 文科省の「15週の講義確保」というお達しの影響である。 朝イチで研究室に出てみると、今日の4-5限の「メディア数理造形演習」の課題制作チームのうち「引きこもり同好会」からの経過報告メイルが届いていた。 だいぶ企画がまとまってきたようで、実際には動画にするものの、企画アイデアの図がしっかりしているので、20分ほどで上のようなサンプルMaxパッチを作ってしまった。 今日はこれを紹介してみよう。

するとそこに、「メディア数理造形演習」の課題制作チームのうち「ジンジャーミルクティー」からのメイルが届いて、上のように、カメラ画像を12分割してそれぞれのブロックのRGB色成分の強度をセンシングするパッチが出来た・・・とあったが、なんせマルチメディア室のiMacの画面はばかでかいので、僕の研究室のお仕事Mac miniのダブル画面(1920*1200)では、上のようにMaxパッチを「50%」に縮小表示しないと、全体が見えなかった。 さらにこのパッチ、あまりに馬鹿正直なワイヤリングだったので(Basicで言えば「スパゲッティプログラム」(^_^;))、所用10分ほどで以下のようにスッキリとサブパッチを作ってみた。 今日はこれも紹介してみよう。

そして某論文の執筆などを進めていると、今度はOMMF2018に向けて、44虎の井上さんから以下のような図とともに「必要なものを確認するために簡単なフローチャートを書いたので送ります。max内でAVIもしくはQuickTimeが再生できるかどうか教えてください。透過の情報を持つ動画で作れたらいいな、と思っています」とのメイルが届いた。 たしかjit.lcdで静止画を重ねる場合には透過(透明)はOKだったと思うが、「透過画素を持つmovie」を重ねたことはなくて、これまでは馬鹿正直にマスクを作っては重ねてきた。 これは、ちょっと調べてみる必要がありそうだ。

2018年11月24日(土)

今日はSUAC推薦入試の日である。 午後に面接をするというこの日の午前は、以下のような感じで、ちょうどAbemaTVでライヴ中継している竜王戦第4局を横目に、昨日仕入れた こんなツール で、「動画の一部を透明」に出来たので、それと別動画とをjit.opで加えたらどうなるか・・・という実験などを進めることになった。

まぁデスクトップが騒然としているが(^_^;)、やっている事はMax上で「jit.op」の画素間演算で、うまく透過レイヤー画像を重ねたようになってくれるものがあるか(たぶん無いのでは?)という実験である。 イラレなどの透過画像は、レイヤーで重ねた時に「透明」の部分だけ下のレイヤーが抜けて、それ以外は上のレイヤーの画像が下のレイヤーを「隠して」くれるが、例えばjitterの「加算」だと、透明とかブラックは加算するとそのまま出てくるものの、それ以外の画素は両方の画素の輝度をRGBごとに加算してしまうので、「明るく」なるだけなのである。 これまではいちいちマスクを作ってきたのだが、「透明動画の合成」が可能だとすれば、OMMF2018で発表する作品だけでなく、今後に向けて嬉しいのだ。

そして全ての演算子を試した結果、「駄目」を確認できた。 そこで順序が逆になったが、jitterが元々持っている「クロマキー」関係のオブジェクトをヘルプから引っ張ってきて実験してみることにした。 すると、上のように、どうやらjitter内部にある機能として、ちゃんと特定の色を透明に抜くことが出来る・・・と判明してきた。 昨日ゲットした このツール は、「無料」ダウンロードして使えるのだが、処理結果のmovieをエクスポートする際に「購入しますか?」と聞いてきて、無料の体験版だと画面のかなりのスペースに邪魔なソフト名が出てくる(^_^;)。 そこで、またまた「RSコンポーネンツのサイトの部品をWebで紹介した協力の謝礼が残っているPayPal口座」から50ドルほどを支出して購入したのだが、これは無くてもよかったのかもしれない。

YouTube

そして面接試験を終えて研究室に帰ってくると、44虎の井上さんからテスト動画がメイルで届いて、上のような「背景+合成」の実験まで進んだ。 透明でなくても背景が黒であればいいが、このサンプルだとわずかに「周囲が明るくなった加減」が左右で違うので、境界が気になってしまう。 これを改訂点としてメイルして、今日はここまでである。

2018年11月26日(月)

日曜日にかなり井上さんが素材データを作ってくれていたのを受けて、今日はほぼ終日、研究室でMaxプログラミングに没頭した。 そして、以下のような感じで、なんとなくそれっぽいところまで進んだ。 結局、jitterで透明素材をレイヤーのように重ねるのは断念して、キャラごとにマスクを作って重ねている。

YouTube

さらにこの日は、マルチメディア室からOMMF2018に持って行くiMacを、10.6からまずUSBインストーラで10.7に上げて、そこから手慣れた方法で10.11.6まで上げたり・・・という環境設定をずっと進めて、なんとか使えそうなレベルになった。 明日は44虎は昼休みだけのmeetingだが、この調子でガンガン進めないと作品は完成しない。 まだまだ油断できないのである。

その後、夕方になって、「メディア数理造形演習」のチーム「引きこもり同好会」から渡された、先輩の遺品だというiPhoneを分解して「電話をかける」スイッチ端末に改造する・・・という楽しい楽しい作業を このように 進めた。 このためにAmazonで「iPhoneオープナーキット」(そんなのがあるとは !!)を先週金曜に購入して今日の午後に届いていたので、あっさりと作業は進んだ。 ホームボタンを押す、というのを取り出したかったが、オリジナルのホームボタンスイッチから信号を引き出すのは無理だったので、マイクロスイッチを仕込んで、それだと高さが0.5mmほど高いので、あれこれ「技」を駆使してなんとか成功した。

   

ただしその途中で、リード線を剥いて細長くハンダめっきをした時に、ちらっと眼をかすめたらしく、2時間後に帰宅する時にフト気付くと、上のように負傷して出血していた。 微グロ画像なので縮小/グレースケール化した上のサムネイル写真をクリックして、翌朝に撮影したオリジナル画像を見るのは自己責任である。 しかしネットで「結膜下出血」を調べてみると、「眼球内部に出血が入ることはなく視力低下の心配はありません。出血自体は軽度であれば、10日前後で自然に吸収されますので治療の必要はありません。必ず出血は吸収されます」とのことなので、放置することにした。

2018年11月28日(水)

昨日は終日、楽しい楽しいMaxプログラミングの日となったのでこの日記(そういえば「Basic」ってどうなったのか(^_^;))を書く余裕もなかったが、無事に44虎は昼休みに集合して進捗確認その他を進めた。 そしてゼミと44虎時間のある水曜日、もうOMMF2018まで3日である。
朝イチで研究室に出てくると、井上さんから追加の背景画像ともう1本のフラッシュ動画、それに「勝ち」・「負け」・「引き分け」の結果動画が届いていた。 これをMaxプログラムに組み込んで1限が終わると、久しぶりに全員が揃った2限のゼミでは このように なかなかあれこれ盛り上がった。 インフルエンザの予防接種などもあった3限の終盤に持田さんから届いたキャラを加えて、4限に44虎ミーティングでお披露目、RFIDリーダのコネクタ部分の接触不良トラブルも原因解明して(さらに対策のスペア持参の方針)、ほぼ全体が出来上がった。 LEDフラッシュまでを組み合わせた実験は、OMMF2018の現場で進めることになる。
そして5限にはゼミの永田さんのプロジェクトで、またまたMax+jitterで新しいテンプレートを作ってちょっとだけ「先が見えてきた」ところで、長かった1日もあっという間に終わった。 一日中、Maxプログラミングという幸せなこの日に続いて、明日からは2週連続で「インタラクティブプロダクト演習」の担当回、つまりはまたまたMax漬けの日々となる。 これでOMMFまであと2日、あらえっさっさの日々が続く。

2018年12月3日(月)

12月に突入して、一昨日と昨日は大垣でのOMMF2018に参加し、学生は昨日の晩にJRで帰ったものの、僕は夜の高速を避けて後泊して、今日の昼頃にSUACに帰着した。 そこから フォト/ビデオレポート のページをまとめてWebに上げたところである。 44虎となった今回の学生3人はよく頑張ってくれたし、おそらくOMMF2018で多くの刺激を得たのでは・・・と期待している。

YouTube

YouTube

YouTube

YouTube

上の写真は、44虎の作品「召喚 ICカードバトラー」の風景である。 短期間に、それぞれの持ち味と技を駆使して、もちろん僕もMaxプログラミングを下請けして(^_^;)、まさにこの4人でなければ出来なかった作品である。 これは動態保存して、いずれ何かの機会にまた展示していこう。

2018年12月6日(木)

さすが年の瀬、どんどん時間が高密度に過ぎて行く。 44虎レポート が出揃ったり、火曜水曜とゼミの山本さんなどが このように あれこれ進める中、某論文の執筆を鋭意進めて、とりあえずの原稿を送付したのは昨日の晩だった。

そして今週末には広島に行って こんな発表 をする事になってるので、忙しい合間に1993年頃のアレを発掘・修復して発表デモの準備をした。 まずは以下のパッチが「比較対象」となる。 スタートさせるとお経のように等間隔で単調なピアノが連打されていて、スイッチを入れるとピッチや強弱や音価やイベント間隔がランダムになるが、どうあっても「ランダム臭さ」が抜けない・・・というサンプルである。

これに対して、かつて1993年頃にあった、同様にランダムをベースとするものの美しい現代音楽(単音メロディー、あるいはポリフォニックの構造)を生成するMaxパッチというのがあったのだ。 これを今回はなんとか検索発掘することが出来て、ルーツはKarlheinz Essl氏の このページ にあった。 ただしこのライブラリ、かなり昔からの継承システムなので、僕は3カ所のバグを発見して修正してよとやく音が出るようになったので、このままでは使えない(^_^;)。 広島の日本音楽即興学会では、以下の2つのサンプルを紹介してみたいと思っているが、かといって下位構造のパッチを解読しようという気も無いのである。

2018年12月12日(水)

先週の木金には2つの講義で44虎の作品「召喚 ICカードバトラー」を紹介して、続く土日には このように 広島に行って、日本音楽即興学会大会で発表してきた。 そして今週の月曜には午後にゼミの西村クンの材料を購入するためにカーマに行き(研究室の留守番は作品制作の山本さん)、昨日の火曜日には午後京都日帰りで某プレゼンを無事に終えてきた。 そして今日は午前に3回生中間報告会、午後にはゼミと引き続き山本さんの作業アポが入っている。

昨日ちょっと判明したのは、「Max7とMax8とはほぼ互換性がある」というのは間違いで、おそらく呼び出しているQuickTimeとの相性の関係で、「これまでMax5/Max6/Max7で走っていたパッチがMax8でうまく走らない」というものが意外に多い、という事実だった。 これはこの冬休みにでも、過去のMaxパッチ資産(サンプル)を再検証してみる必要がありそうだ。