情報処理学会音楽情報科学研究会チュートリアル 「センサ@コンピュータミュージック」 ( http://nagasm.org/ASL/09-04/ )    長嶋 洋一 (Art & Science Laboratory) ■MIDI,MAX - for interactive control もともと音楽演奏情報の標準プロトコルであったMIDIは、現在ではより広範なライブ パフォーマンスのシステム制御情報として、音楽だけでなく映像、照明、ステージ、 機器などのコントロールに活用されています。そして、システムの出力系だけでなく、 センサを活用した入力系においてのMIDI活用の一つのアプローチが、本チュートリアル で紹介する「センサ@コンピュータミュージック」ということになります。 MIDIに関する具体的な仕様、MIDI対応機器などについてはここでは詳解しません。 下記の参考資料やWebページ、あるいは街のパソコンショップや楽器屋さんで、自分 で体験して理解して下さい。 MIDIといえばSMF、DTM、シーケンサ、カラオケ、等々もありますが、それもここでは 触れません。シーケンサで打ち込んだ情報によって、毎回プレイボタンをクリックする たびに完璧に同じ音楽演奏が「再生」される、というタイプの音楽はここでは論外と して対象にしていないからです。こちらについても、本屋さんにいくらでも解説本が ありますので、それを読んで下さい。 MIDIを使いながら、ある種の偶然性、即興性、対話性、一過性などを音楽として構築 するための環境としては、MAXが世界標準となっています。ただし、MAXそのものの 解説についてもここでは省略します。チュートリアルの解説ではほとんど全てにMAX を使っていますし、「コンピュータと音楽の世界」(共立出版)にも色々な解説が ありますので、それらを参考にしてください。MAXを使うことで全てが始まります。 (Windowsしかない可哀想な人はLinuxへの乗り換えを検討しつつPureDataを探して みましょう(^_^;)) ■AKI-H8 - small microcomputer 最近のパソコンの機能向上は、わざわざハードウェアを作らなくてもソフトで何とか なる、という傾向を生んでいます。確かに、パソコンのオーディオポートに入力される 電圧をサンプリングすれば、それは簡易A/Dということで、その情報をComputer Music に活用することも可能です。しかし一方で、システムや機能をモジュール化するため には、パソコンなどという、かさばるしソフトの起動に時間がかかるものよりも、 電池駆動で電源スイッチONで即動く、というパーツもメリットがあります。そこで、 筆者はもっぱら、カードマイコンを愛用しています。 ここで紹介するのは、秋葉原の秋月電子のAKI-H8というものです。秋月電子には この他にも、AKI-80やPICという小型マイコンもありますので、色々と調べてみて 下さい。とりあえず今回のテーマである「何かセンサの情報をMIDI化したい」という には、もっともお手軽で高性能でローコストな実現方法だと思います。ちなみに、 秋月電子には多種のセンサキットもありますので、一石二鳥です。また、大阪日本橋 の共立電子もまた、ほぼ同様のカードマイコンとセンサキットの宝庫です。(^_^) いずれも、通販で全国どこでも安心確実にパーツやキットを入手できます。 ここでは、マイコンシステムの開発などほとんど経験ゼロ、という人が、びしばしと センサtoMIDIを自作するために、マイコンシステムを開発していくシナリオを以下に 紹介します。ハンダごても握れない、などという信頼できないコンピュータ屋(^_^;)を 卒業して、どうぞ皆さん、ディープでハードなソフト屋を目指して下さい。 (1)マイコンキットを選択する 秋月電子を例にとれば、選択肢は、AKI-80、AKI-H8、PIC、という3種が代表的です。 ここではPICについては触れませんが、それは筆者はMIDI送信だけでなく、MIDI受信、 それもかなりキツいトラフィックの現場でも使うものを作ることが多いためです。 センサのA/DからMIDIを送信するだけであれば、PICでも楽勝ですので、興味のある 方は、イメージラボの金森さんとお友達になりましょう。(^_^) AKI-80は、一世を風靡したZ80コアの東芝CPUを載せています。メモリとして、 27256などのEPROMを焼く必要があり、たとえば秋月の「ROMライタキット」等が 必要となりますが、その機能は十分です。後述の筆者の自作例でも、多数のシステム の中枢として活躍しています。 AKI-H8は日立の32bitCPUをコアとした新しいカードマイコンで、AKI-80の10倍 ぐらいの能力(MIDIモノでそこまで引き出すのは逆に困難)を持っています。ここでは AKI-H8を例として紹介していきます。なお、AKI-H8ではROMが内蔵のフラッシュに なっているので、ROMライタは不要で、RS232Cでソフトをロードして焼きます。 AKI-H8には、2種類のキットがあります。いちばん最初に買う時は、EEPROMのライタ も必要となるので、7800円の「AKI-H8開発キット」にします。その次からは、 もうライタは不要ですので、システムごとに3800円の「AKI-H8のみキット」で 十分です。この価格は刻々と下がっていますが、社長に話を聞いたところ、今度は 東南アジアのどこで何のパーツを数万個仕入れたので30円、今度は基板の外注の工場 で製造コストを抑えられる装置が入ったので50円、下げられる、というような真摯な 企業努力の反映のようです。(^_^) キットには、開発に必要なソフトは全て付いています。別売りの「簡易版Cコンパイラ」 (2000円)は、特には不要です。 (2)AKI-H8キットを作る AKI-H8は完成品ではありません。袋に入っている部品を基板に挿してハンダづけ して作ります。マニュアルに従って作るだけですので、慣れた人なら1枚に10分も かかりません。最初の人はライタもありますし、何時間かかっても慎重に作って 下さい。(^_^;) (3)ソフト開発/システム開発用のパソコンを用意する AKI-H8のソフト開発に必要なのは、アセンブラ/コンパイラを走らせるための MS-DOS環境と、フラッシュROMにプログラムをロードするためのソフトを 走らせるためのWindows環境です。Windows95であれば、前者は「DOS窓」 で大丈夫です。WIndows98のDOS窓については、ちょっと心配ですが筆者は 検証していません。 ちなみに筆者の場合には、Macintoshです。いつも持参しているPowerBookで AKI-H8を開発しています。ここでは、VirtualPCというソフトで、純正なWin95 を走らせていますが、ちゃんとWindows/MSDOSのシリアルポートはMacのモデム ポートにエミュレートされているので、まったく同等に開発できます。AKI-80の 時には、自作したROMエミュレータがDOS/Vマシンのプリンタポートを使うもの だったので、パラレルポートを持たないMacでは苦しかったのですが、AKI-H8に なって、完全にMacでOKとなりました。(^_^) (4)周辺回路を作る AKI-H8だけでは何もできません。たとえば、秋月で仕入れたセンサキットを 使う場合には、その出力電圧レンジを調べて、AKI-H8に入るように、0Vから+5V の範囲になるように、必要ならOPアンプによるアンプ回路やレベルシフト回路 も作ります。MIDIの入出力については、筆者のページにイヤという程、まったく 同じ回路が出ています。出力には05を、入力にはフォトカプラをちゃんと使い、 省略形の簡易型回路にしないようにしましょう。(^_^;) 動作確認のLEDとか、電源回路、ケースへの実装も重要です。筆者の場合、新しい システムを作るための作業は、「ケースの穴明け」「AKI-H8と電子回路のハンダ づけ」「ソフト開発とデバッグ」がそれぞれ3分の1ずつ、という体感です。 電源については、AKI-H8にはボード上に3端子レギュレータがあるので、+9V 以上の出力電圧のACアダプタ、あるいは006P電池で十分です。単3電池を4本 で6Vの場合には、秋月にある「低ドロップ3端子レギュレータ」を使い、ボード 上のレギュレータを除去して直接に+5Vを供給します。 (5)AKI-H8のソフトを開発する アセンブラです。(^_^;) まぁCでもいいのですが、MIDIものであれば、そしてシステムのパフォーマンスを 稼ぎたければ、アセンブラで書くのです。といっても、まったく白紙から書き出す のではなくて、秋月FDにも入っている多数のサンプル、そして筆者があちこちで フル公開している、実際にMIDIモノとして動いているのをいだたいて改良する、 という方針で十分です。ちなみに、筆者にAKI-H8のアセンブルソースをメイルで 送りつけて、「どこかにバグがあるらしく動かないんですけど...」というような 相談をしたい場合には、1件につき相当額(^_^;)の請求をしますので、絶対に相談 しないで下さい。自分のソースだって後で解読できないのに、他人のアセンブラを 読める筈がありません。全ては自己責任でどうぞ。 (5')AKI-H8のソフトを開発しない アセンブラ、で逃げないで下さい。ソフトを開発しないでAKI-H8を活用する方法 はあるのです。それは、筆者が公開している「汎用A/D→MIDI」というソフトの、 AKI-H8にロードするオブジェクトモジュール(モトローラS形式テキストファイル) をそのまま利用してしまう、という事です。汎用なので、とりあえず8チャンネル のアナログ入力電圧がMIDIで出てくれます。あとの処理は、これを受けるMAXで どのようにでも対応を変えられる、という事です。Javaなどまったく書けない人 でも、誰かの作ったJavaアプレットを置くことで「私のWebはJava対応です」と 言っているのと同じことです。最初はこれでもいいのです。(^_^;) (6)AKI-H8にオブジェクトをロードする これは、AKI-H8キットに付属してくる「FLASH.EXE」に全てお任せです。ロード したら電源スイッチを通常モードに戻して、改めて電源を「せーの!」でONして、 正解ならいきなり動きますし、バグがあれば動きません。(^_^;) まず最初は、既に実績のあるソフトをほぼそのままロードして走らせ、ハード の製作にミスがないことを確認します。そして次第に、必要な機能を記述した ソフトにふくらましては、アセンブルし、ロードし、テストラン。あとは、 これを繰り返して、求めるシステムを実現していきます。AKI-H8のフラッシユは 数百回は書けますので、まぁたいていはどこかで完成します。(^_^) ■Sensor, A/D to MIDI ここでは、メディアアートやインタラクティブアートに上記のAKI-H8のような センサを活用するための流れについて紹介します。大きく、二つの流れがあります。 (A)ニーズ指向 最初に、「何かしたい」という具体的な目標がある場合です。たとえば、筆者が コラボレーションしている、笙奏者・作曲家の東野珠実さんの場合には、「笙」 とか「息」という具体的にセンシングしたい対象がまず、あります。そこで、 その対象をMIDI化する(ここまでできればあとはMAXでいかようにも料理できる) ためには、センサそのものを検討するところからスタートします。AKI-H8の場合 には、対象の情報(量)が、0Vから+5Vの範囲のアナログ電圧になってくれれば いいので、たいていの場合には「対象の物理量をアナログ電圧に変換するセンサ」 を探すことになります。 ただし、例えば生体センサの場合には、専用の医療用センサはとても高価だったり、 高精度磁気センサは軍用(ミサイル弾頭用)でこれまた高価だったり、というよう に、なかなか手軽にいかない場合も少なくありません。秋月電子や共立電子の カタログ/Webページを頻繁にチェックして、何か新しいセンサのキットが出て こないか調べておくというのも重要です。あるいは、筆者のコラボレータである 照岡正樹さん(アナログ/生体計測の専門家)、イメージラボの金森さん、などの 専門家とお友達になっておくとか、筆者が議長をしているNiftyのMIDIフォーラム の「音楽情報科学の会議室」(いろいろな領域の人がいる)に参加する、などという のも重要なサポートとなります。 (B)シーズ指向 具体的な作品の形態やアイデアよりも先に、まず何か面白そうなセンサありき、 というケースです。これは邪道のように思えるかもしれませんが、新しい可能性 がアイデアを刺激して最終的に作品になる、という場合においては、ときに 重要な駆動力になります。たとえば、大阪芸大の上原先生のインスタレーション で、「地球に降り注ぐ宇宙線に感応して音楽を生成する」というものがありましたが、 あれは秋月電子の「ガイガーカウンタキット」に大きく影響されたものでしょう。 また、AKI-H8のアナログ入力に、+5Vの電圧をなめらかに分圧するニクロム線を つないでウリウリとスライドしてMAXで鳴らしているうちに音楽のアイデアが 出てくることもあります。 防犯用/自動工作機械用の赤外線センサが、イメージを刺激して新しい「楽器」と いうセンサに活用された事例も少なくありません。センサやセンサキットというのは、 部品としては単なる工業製品ですが、色々な見方に慣れてくると、それはComputer というシステムやソフトウェアの世界と、人間や自然という現実世界との橋渡しを してくれる「秘密の箱」にも見えてきます。高価で高性能な専用センサであること は必要条件ではありません。変化する「量」を情報として発信してくれる不思議な 源泉なのだ、という見方でいれば、周囲のちょっとした物、あるいはとても安価な キットでも、メディアアートの窓口であるセンサとして活躍する可能性はどこにも 広がっていると思います。 ■Public domain resources for MIDI sensors 筆者の書いた以下の書籍には、本チュートリアルに関連したシステムの製作事例、回路図、 マイコンのソースプログラム、オブジェクトコード等がフリーで公開されています。 長嶋・橋本・平賀・平田編「コンピュータと音楽の世界」共立出版 長嶋洋一「Java & AKI-80」CQ出版 長嶋洋一「コンピュータサウンドの世界」CQ出版 長嶋洋一「作るサウンドエレクトロニクス」ASL出版 (on-line → http://nagasm.org/hightech/02-11/index.html) 以下の筆者のWebサイトにも、本チュートリアルに関連したシステムの製作事例、回路図、 マイコンのソースプログラム、オブジェクトコード等がフリーで公開されています。 http://nagasm.org/ASL/01-01/index.html http://nagasm.org/ASL/01-03/index.html http://nagasm.org/ASL/01-04/index.html http://nagasm.org/ASL/01-05/index.html http://nagasm.org/ASL/01-06/index.html http://nagasm.org/ASL/01-07/index.html http://nagasm.org/ASL/01-09/index.html http://nagasm.org/ASL/02-07/ifac98.pdf http://nagasm.org/ASL/02-08/icmc98.pdf http://nagasm.org/ASL/03-05/index.html http://nagasm.org/ASL/03-07/index.html http://nagasm.org/ASL/03-12/index.html http://nagasm.org/ASL/04-04/index.html http://nagasm.org/ASL/05-10/index.html http://nagasm.org/ASL/07-10/ss96.txt http://nagasm.org/ASL/08-04/index.html http://nagasm.org/ASL/08-05/index.html http://nagasm.org/ASL/09-02/icmc99.pdf http://nagasm.org/ASL/09-03/index.html http://nagasm.org/hightech/01-01/index.html http://nagasm.org/hightech/01-02/index.html http://nagasm.org/hightech/01-03/index.html http://nagasm.org/hightech/01-04/index.html http://nagasm.org/hightech/01-05/index.html http://nagasm.org/hightech/01-06/index.html http://nagasm.org/hightech/01-07/index.html http://nagasm.org/hightech/01-08/index.html http://nagasm.org/hightech/01-09/index.html http://nagasm.org/hightech/01-11/index.html http://nagasm.org/hightech/02-06/index.html http://nagasm.org/hightech/03-03/index.html http://nagasm.org/hightech/03-06/index.html ■Demonstration, Applications Report 以下は、実際にデモンストレーションする予定、あるいは作品の公演風景から ビデオで紹介する予定の項目のリストです。ただし、実際の現場でどうなるかは 状況の推移に対応しますので、不明・未定です。(^_^;) ●デモンストレーション  ・MAXサンプルによる「アルゴリズム作曲」の概念  ・アナログ電圧→A/D変換→MIDI化のデモセット  ・センサとMAXアルゴリズムによる演奏生成  ・センサとMAX/MSP/SuperColliderによる楽音合成  ・新作 筋電位センサ"MiniBioMuse-II"  ・新作「呼吸センサ」のデモ  ・新作「聞き取り君」とテルミンのデモ  ・AKI-H8の開発環境の紹介(Macintosh)  ・AKI-H8によるMIDIソフトの開発→実機デバッグの実演  ・各種センサキットの紹介 ●HCI95 demo video  ・作品"CIS(Chaotic Interaction Show)" 1993     Percussion,PowerGlove→Sound,CG  ・作品"Muromachi" 1994     CG(PencilMouse/AMIGA)→Sound  ・作品"Strange Attractor" 1995     PreparedPiano→Sound,CG ●SS98/ICMC98 demo video  ・作品"Brikish Heart Rock" 1997     BioNoise Sound  ・作品"Atom Hard Mothers" 1997     HarpSensor, Miburi-Sensor, SNAKEMAN→Sound, Graphics  ・作品"天にも昇る寒さです" 1997     TouchSensor, PowerGlove→Sound ●Demo Videoes  ・作品"Virtual Reduction" 1995     PowerGlove→Sound  ・作品"David" 1995     MIBURI→Sound,CG  ・作品"Visional Legend" 1998     笙sensor→Graphics