1999-06-26[n年前へ]
■リモートカメラから世界をノゾこう!
Macintosh用カメラ制御プログラムを作る
今日もニュースを探しに
MAQ?MAK?MAC! ( http://www.maqmakmac.com/)
を見に行くと、おやおや何やら見たことのあるキーワードがある。これが「デジャブ」という奴かと一瞬思ったが、そうではないようだ。本WEBについての記載がある。ビックリだ。いや、ホント。
自分の興味の趣くままにやっているサイトではあるが、好きなサイトで「面白い」といってもらうと、とても嬉しい。また、そこから辿り
WebCatchを見る。「ノーラ」氏の文章には頭が下がる思いである。
MAQ?MAK?MAC!には「もっとMacintoshに関連した話題が多ければ良いのになぁ?。 」とも書いてある。そう、私もMacintoshの話題が少ないとは思っていたのだ。Macintoshが多い私の職場の人々からも(次回の話への伏線)言われ続けてきたことなのである。ならば、MAQ?MAK?MAC!( http://www.maqmakmac.com/ )登場記念にMacintoshを使った話をやってみたい。
というわけで、今回は急遽Macintoshを使った実験の話である。物語は、こんなジャンクを手に入れたところから始まる。ごくたまに、秋葉原でも見かける。もし見かけて、かつ、安かったら、迷わず「買い」だ。LEGOのMindstormsなんかと組み合わせたら、かなりかっこいいはずだ。
これが、「Canon製ビジュアルコミュニケーションカメラ」である。シリアル通信でカメラの向きやズームピントを変えることができるものである。上下左右に首を振ることができるし、ズームやマクロ撮影も可能だ。発売当初は20万円位もしていたものだ。この後継機種も出ている。
これを使って、何か面白いことをしてみようと思った。いや、はっきり言ってしまえば、ネットワーク上のMacintoshにこのカメラをつなげて、それを他のコンピュータから制御しようにしたい。今でこそ、そういったWEBサイトも多々あるが、今回の話の実験を行った時(確か2,3年前)にはまだ少なかったのだ。
このカメラはジャンクとして手に入れたので、ソフトも何も付いていない。しかし、シリアル通信のコマンドは何とか判明したので、制御プログラムを作ってみた。といっても、単なるシリアルポートへコマンドを送りつけるプログラムである。
プログラムはここに置いておく。名前もずばり、「のぞき見君」である。もちろん、Macintosh版なのでWindowsでは使えない。
のぞき見君 0.1anozokimi01a.sit ( sit形式 332kB )
正式にこのカメラを持っているユーザーにも今回のような用途(イヤな用途である)であれば、このソフトはきっと役に立つと思う。
今回(といっても作成したのはずいぶん昔だ)作成したプログラム「のぞき見君」の起動画面が下である。
下がメニュー画面である。画面を見れば判ると思うが、全てのメニューをコマンドキーを用いてキーボードのみでコントロールするようにしてある(これが素早く使うためのミソだ)。
このソフトをインストールして、Macintoshとカメラをシリアルポートでつないで、また、ビデオ出力もMacのビデオ入力につなげばとりあえず、接続完了だ。これで、Macintoshから自由自在に制御できるビデオカメラの完成だ。
さて、次はネットワーク経由で制御するための作戦だが、何ら苦労(私の)は必要ない。例えば、innfo-macに登録されているremote-mouse-keysというようなソフトを使えば、ネットワークにながっているMacintoshのキーボードやマウスを制御することが簡単にできる。
ftp.flashnet.it/mirror/8/sumex-aim.stanford.edu/comm/remote-mouse-and-keys-10.hqx
ビデオ画面の転送はもちろん、Cu-SeeMeでも使えば良い。最近はその手のソフトも多いだろう。それでは、今回のプログラム群を使った構成図を以下に示す。Macintoshはネットワークの自由度が高いので色々な使い道がある。
remote-mouse-keysとCu-SeeMeの組み合わせが軽くてお勧めなのだが、今なら
vnc (http://www.uk.research.att.com/vnc/index.html )
を使うといったやり方もアリだろう。これなら、プラットフォームをあまり選ばないので、WindowsやUnix系OSからでも制御できるし、一つのソフトで制御もビデオ画面転送も済んでしまう。ただし動作がまだ重いとは思う。
それでは、今回のソフトを使った顧客例を紹介しよう。
それは私の職場の「ち*の」氏の使用例である。彼は結婚間近であった。いずれ妻と住む新居にPowerMacintosh6100がこのカメラとともに設置してあった。彼は家の戸締りが気になって、職場から家にPPP経由でRemote-Accessを試みた。彼のPowerMacintosh6100は電話がかかってくるとともに起動音を発し、起動した。そして、彼は職場からの制御により、家のPowerMacintosh6100につながったカメラは首を起こし右へ左へと方向を変え、戸締りのチェックを始めた。彼の目的は達成された。家の戸締りは完璧であった。
ただ一つの問題は、彼は知らなかったが、結婚間近の恋人が掃除をするために新居を尋ねていたことである。彼女の目の前で、電話の音とともに勝手にMacの電源が入り、「ジャーン」という音を発し、そして、そこにあるカメラが「ウィィィーン、ウィィィーン」と右へ左へ動き始めたのである。「ひどい恐怖を感じました」、と彼女は後に語ることになる。
その後、彼の結婚がはたして実現したのか、それとも実現しなかったのかはここでは明らかにしない。
1999-06-27[n年前へ]
■それを決めるのは誰だ?
見えない「有害サイト指定」の疑惑
今回は全て三人称で語られるハードボイルドな話である。あるサラリーマン、ここでは「彼」と呼ぼう、の実験と、考えを書く。
今回の話の前段階として、
リモートカメラから世界をノゾこう!-Macintosh用カメラ制御プログラムを作る- (1999.06.26)
がある。この話の中に
MAQ?MAK?MAC! ( http://www.maqmakmac.com/)
へのリンクがある。ところが、彼の職場からはそのサイト、MAQ?MAK?MAC!を見ることができないというのだ。彼は会社内のLANとは別のルートでMAQ?MAK?MAC!へアクセスすることが多かったので、なかなか気づかなかったのだ。
彼の頭にある疑いが生じた。彼はその疑念を確かめるために、tracerouteでwww.maqmakmac.comのIPアドレスを直接調べることにした。彼の指はキーボードを叩く、
tracert www.maqmakmac.com (Windowsマシンである)
これでIPアドレスはわかった。彼は職場のマシンからwww.maqmakmac.comのIPアドレスを直接指定した上でアクセスを試みた。すると、彼の想像通りWEBの内容がきちんと表示された。「DNSがうまく動いていないないんじゃないの」という人がいるかもしれないが、そうではない。他のアドレス(後述する例外を除いて)に関しては問題ないのである。
彼の(疑いつつも)立てた仮説: www.maqmakmac.comを彼の勤務する会社は「有害サイト」として認識し、社内からwww.maqmakmac.comへのアクセスをブロックしている。
もうすこし、判りやすく説明するとこうなる。
彼の勤務する会社内のLANから社外へのGateWay内で登録された「有害サイト」のアドレス(URL)を検知して、アクセスをブロックするというシステム(URL検出法)を用いているのである。もしも、会社内からwww.maqmakmac.comというアドレスへのアクセス要求があったら、「駄目だよ」とその要求を蹴ってしまうのである。
しかし、www.maqmakmac.comというアドレスでフィルターをかけているので、IPアドレスを直接指定してやると、フィルタを通りぬけて、アクセスをすることができるのである。
彼の知る限りでは、明らかに彼の会社内で全社的にブロックされてしまうアドレスが確かにある。それが恐らく参考になるだろう。例えば、こういったサイトである。
おやおや、画面表示が少し異なる。ということは、意図的にブロックしているわけではないのか? あるいは、ブロックしている個所が違うのか? これだけではよくわからない。集まってきた情報によると、他の地域の部署ではwww.maqmakmac.comに関しては読みに行けるようだ。
URL規制プログラムで有名な
http://www.cyberpatrol.solution.ne.jp/
の指定する例によれば、「有害サイト」は
- 暴力/精神的、肉体的(画像または文章)
- 部分的ヌードと芸術
- 全裸
- 性的行為(画像または文章)
- 下品、残酷な描写(画像または文章)
- 差別、偏見(画像または文章)
- 悪魔崇拝、カルト(画像または文章)
- 麻薬関係(画像または文章)
- 武器、過激派(画像または文章)
- 性教育(画像または文章)
- ギャンブル、違法行為(画像または文章)
- アルコール、タバコ(画像または文章)
こういったURLアクセス規制は今回の例に留まらない。どこの組織でもあることなのかもしれない。こういったネットワークにからむ問題についてはもう少しオープンにして考える必要があるのではないだろうか。
彼はタバコを深く吸い込み、事件簿を閉じて、そして呟いた。「これ以上の真偽は確かめようがない...」
2000-01-03[n年前へ]
■音場の定位を見てみたい
立体音感を考える その2
前回(といっても間に他の話も挟まっているのだが)、
で「音の立体感」について考え始めた。今回はその続きである。「音の立体感」を考えるための道具を作る準備をしてみたい。色々なことを考えるには、その目的にあった測定器が必要である。何か新しいことをしようと思ったら、そのための新しい測定器を作成しなければならない(と思うだけだが)。そして、何より私は計測器なんてほとんど持っていない。だからといって、計測器を買うお金があるわけではない。というわけで、困ってしまうのだ。
そこで、立体音感を考えるための測定器を作っていくことにした。といっても、すぐにできるとも思えないので、色々実験をしながらボチボチとやってみることにした。勉強がてら、ボチボチやってみるのである。オーディオ関連のことにはかなり疎いので勉強にはちょうど良いだろう。
資料をいくつか眺めてみたが、特に
- 「立体視の不思議を探る」 井上 弘著 オプトロニクス社
- 音像定位の因子
- 両耳差因子 (音響信号)
- 音の強さ(振幅)の差
- 位相の差
- 周波数スペクトル因子
そこで、いきなりだが今回作成した解析ソフト「音場くん一号」のアルゴリズムは以下のようになる。
- PCのサウンド入力から、サンプリング周波数 22.05kHz、Stereo 各チャンネル8bitで取り込みを行う。
- 取り込んだデータを4096点毎にウィンドウ(Hamming or無し)処理をかける。
- 高速フーリエ変換(FFT)を行う
- FFTの結果の実部について、左右のチャンネルの差分を計算する
次に示すのが、「音場くん(仮名)一号」の動作画面である。「音場くん(仮名)一号」の画面構成は、
- 右側->制御部
- 左側->計測データ表示部
- 音声波形データ(赤=左、緑=右)
- 周波数(横軸)vs左右での音圧の差(縦軸)
- 時間(横軸)vs周波数(縦軸)vs左右での音圧の差(色)
(黒字に赤、緑の色構成は変更の予定) |
計測データ表示部の拡大図を下に示す。
- 音声波形データ(赤=左、緑=右)
- 周波数(横軸)vs左右での音圧の差(縦軸)
- 時間(横軸)vs周波数(縦軸)vs左右での音圧の差(色)
この表示計の意味を例を挙げて説明したい。例えば、下の画面では左の方に定位している音が鳴ったときの状態を示している。一番上の音声波形データでは緑(右)の波形は小さいのに対して、赤(左)の大きな波形が見えている。
また、真ん中の「周波数(横軸)vs左右での音圧の差(縦軸)」では横軸100(任意単位)程度の高さの辺りで左チャンネルに位置する音が発生しているのがわかる。
また、一番下の「時間(横軸)vs周波数(縦軸)vs左右での音圧の差(色)」では時間的に一番最後(横軸で右側)の方の横軸560、縦軸100位の位置に白い(すなわち左チャンネルに定位する)音が発生しているのがわかると思う。
この曲のイントロでは、「ポンッ」という音が高さを変えつつ、左右にパンニング(定位位置を変化させること)する。
一番下の「時間(横軸)vs周波数(縦軸)vs左右での音圧の差(色)」を示したグラフ中で白・黄色(左に定位)と青・黒(右に定位)する音が時間的にずれながら現れているのが判ると思う。
このようにして、この「音場くん(仮名)一号」では音の定位状態についての「極めて大雑把な」計測が可能である(保証はしないけど)。「音場くん(仮名)一号」を使った他の例を示してみる。
下は種ともこの「O・HA・YO」の中から「The Morning Dew」のイントロ部を示したものだ。
- 左(白・黄)チャンネル方向に定位するピアノ
- 右(黒・青)チャンネル方向に定位するガットギター
これはまるでオルゴールのピンを見ているようだ。あるいは、シーケンサーや昔の自動演奏ピアノのロール譜のようである。対位法などの効果をこれで確認したくなってしまう。
さて、ここまでの例は楽器も少なく、比較的自然な定位状態であった。しかし、以下に示すような場合には不自然なくらいの「音の壁」状態の場合である。かなり状態が異なる場合だ。
これは、種ともこの「O・HA・YO」の中から「KI・REI」のラストのラストコーラス部を示したものである。人のコーラスが重なり合っていく部分である。色々な高さの声が重なり合っていく様子がわかるだろう。
ところが、このグラフをよくみると、同じ音が時間的に持続しているにも関わらず、時間毎に定位位置が左右で入れ替わっているのがわかる。
これはきっとエフェクターで言うところのコーラスなどをかけたせいだろう(素人判断だけど)。人工的にフィルタ処理をしているためにこのようになるのだろう。こういう結果を見ると、「音場くん(仮名)一号」をプログレ系の音の壁を解析してみたくなる。
さて今回は、音声の定位状態を解析する「音場くん(仮名)一号」を作成し、いくつかの音楽に対して使ってみた。まだまだ「音場くん(仮名)一号」は作成途中である。これから続く立体音感シリーズとともに「音場くん(仮名)」も成長していく予定である。
さて、一番先の画面中に"Re"という選択肢があるのがわかると思う。もちろん、これと対になるのは"Im"である。FFTをかけた結果の"実部"と"虚部"である。"実部"の方が左右の耳の間での音の大きさの違いを示すのに対して、"虚部"の方は左右の耳の間での位相差を示すものだ。つまり、ある周波数の音が左右の耳の間でどのような位相差を示すものか、測定しようとするものである。
左右の耳に対する音の位相差というものは、立体音感を考える上では避けては通れないのだろう。しかし、位相差を処理しようとすると、どうしたらいいものかかなり迷う部分がある。また、今回のようなFFT処理をかけたときに得られる位相を用いて良いものかどうかもよくわからない。というわけで、今回は位相解析処理は後回し、ということにした。
2000-01-30[n年前へ]
■ソフマップでお買い物
磁界の可視化とバーコード
前回、
で「マグネビュアー」を使って磁界の可視化をして遊んでみた。今回はその続きである。ソフマップの磁気カードの中に書き込まれている磁気データを可視化して調べてみるのである。磁気カードには、
- 銀行のキャッシュカード
- クレジットカード
- テレホンカード
- オレンジカード
まずは、ソフマップカードの写真を示してみよう。これがソフマップで買い物をするたびにお世話になるソフマップカードである。
この写真からではどこにデータが書き込まれているのかわからない。そこで、「マグネビュアー」の登場と言いたいところであるが、残念ながら今回は「マグネビュアー」は登場しないのである。「マグネビュアー」はとても便利なのであるが、さすがに磁気カードの磁気データを読もうとすると分解能が不足する恐れがある。
そこで、代打選手に登場願うことにした。代打選手はキヤノン製のLBPのトナーである。以前、
の時に「トナーはクーロン力で制御されて画像を作るのだ」という話があった。キヤノン製の白黒のLBPではクーロン力に加えて磁気力を使ってトナーを制御している。なので、キヤノン製の白黒トナーは磁性体粉末ということになる。テレホンカードが出た頃はキヤノン製のトナーを使ってデータを読み出していた人も多いはずである。みな、テレホンカードの表面を削りトナーを振り掛けていたのである。というのは、聞いた話であり、実体験に基づくものでは絶対にない。神に誓っても良い。その頃にキヤノン製のトナーを使い倒していたということは絶対にないのである。しかも、その数年後に(以下略)。
それでは、磁性体の微少粉末であるトナーをソフマップカードに振り掛けてみよう。
ソフマップカードの磁気データが可視化されたのがわかると思う。磁気によるバーコードが見えるだろう。これがソフマップカードに書き込まれている磁気データである。
とはいえ、トナーの付着具合にムラがある。それは私が雑に実験を行ったからである。こんなにムラがあっても磁気コードが判別できるかどうか疑問を持たれる方も多いと思う。しかし、
- 読む方向に対して垂直な線が多い
- 読む方向に対して水平な線は少ない
そのようにして、ノイズを減らし、S/N比を上げた画像を示してみる。
どうだろうか、驚くほど綺麗になっているのがわかると思う。まさか、と思われるかもしれないが本当である。
さて、これはソフマップカードの磁気データの全体像であるが、もう少し拡大したものを以下に示す。
極めて明瞭に磁気データが可視化されているのがわかると思う。これはトナーを振りかけて、1万円ちょっとのスキャナ(CanonのUSB接続の安物スキャナ)で読み込んだものに対して先の処理をしただけである。これほど明瞭になるのも、全て1次元バーコードの特徴のおかげである。磁気ヘッドの制作などをしなくても良いのである。
磁気カードの記録密度は銀行統一仕様(NTT)でもISO3554でも8.3bit/mm=211bit/inchであるから、最近の600dpi(dot/inch)程度のスキャナーであれば十分磁気データの画像読みとりが可能である。
それでは、もっと拡大してみる。拡大する部分は上の画像の右の辺りである。すると、このようになる。
データ間隔がわかりやすいように、ここでは矢印や文字を書き入れている。この画像を見ると、磁気データは規則的な細かい周期性を持ち、その周期でいうと8つ単位でさらなる周期性があるように思われる。つまり、8bitをひとまとまりとしたデータが書き込まれているように見える。例えば、上の画像では
- ( 白、白、白、白、白、白、黒、黒 ) x 2
- ( 00000011 ) x 2
- ( ああああああたた ) x 2
複数枚のカードのこの部分を比較してみれば、比較的容易にデータ構造は解析することができるだろう。また、一枚のカードからでもカード番号などの数字と磁気データを比較することにより、解析することはやはり困難無しに解析できると思うのである。と、思うわけではあるが、あまりやりすぎるのはマズイと思われるので、今回はこれまでにしておく。
2000-09-09[n年前へ]
■帰ってきた「電子ブロック」
動け僕らのスーパーマシン
某サイトの中枢である某秘密研究室の撮影写真が下の写真である。日夜、色んな道具で遊んだり、無意味な?実験・解析・考察している某サイトの中枢がこの部屋である。といっても、実際にはこの部屋にはそんなに入っていないらしい(だからそれほどちらかっていない)のであるが、それはこの際関係ない。とりあえず、この写真を見ると、部屋の片隅にとある科学おもちゃが積み重なっていることがわかるだろう。もちろん、判る人ならすぐ判るはずの「学研の電子ブロック」が積み重なっているのである。
前回、電子ブロックで遊んだ
の時には、Ex-60とEx-100しか持っていなかったのだが、文字通り「人間的に大きなオーパ氏」にEx-150を頂くことができたおかげで、今では三機種が私の部屋に鎮座しているのである。 知らない人のために電子ブロックの説明をしておくと、電子ブロックというのは学研が出していた科学おもちゃで、電子回路を簡単に作って遊べるものである。今で言うところのブレッドボード上で電子回路を組み立てるようなもので、電子部品が入ったブロックを差し込んでいくことで、電子回路を組み立てて遊ぶことができるのである。子供の頃の「電子ブロック」は私にとってまさにスーパーマシンだった。そして、デザインはスケルトンが基本という古さを感じさせないものだった。下の写真を見れば、電子ブロックの感じが大体つかめることと思う。
電子ブロックについて詳しく知りたい方には、
- 電子ブロック ( http://www.denshiblock.co.jp/)
そこで、作成されていたのが「バーチャル電子ブロック」である。先のWEB上から説明文を引用すると、
「バーチャル電子ブロック」は教育玩具として人気を博した「電子ブロック」の復刻版という位置づけで、パソコン上でマウスを操作してブロックを配置して電子回路を作成し、その働きをシミュレーションできるソフトウェアですというものだ。ソフトウェアの力で「電子ブロック」が蘇るのである。しかも、別売りの外部インターフェースをPCに接続すれば、往年のブロックの形状をした外部機器を制御できるというのである。
この「バーチャル電子ブロック」プロジェクトがアナウンスされてから、ずいぶんと長い時間が経った。その間、来る日も来る日も「バーチャル電子ブロック」のことを考えていたのである。未だかなぁ、早く出ないかなぁ、と毎日考えていたのだ(部分的に誇張有り)。
それが、昨日ようやく(お試し版)という形でダウンロードして、実際にいじれるようになった。そこで、
- 「バーチャル電子ブロック」発売のお知らせ( http://www.denshiblock.co.jp/vdb/index.htm )
このお試し版は付属の「スイッチング回路」で使ってる部品のみを使うことができる。トランジスタ一種、LED、抵抗三種、ブザー二種、プッシュスイッチと若干の配線である。それ以外は、使うことはできないようになっている。そこで、使える部品だけで遊んでいたのだが、じきにすぐ飽きてしまった。まぁ、動作確認のための「お試し版」だからこんなものなのなのだろうなぁ、とりあえず発売されたら直ぐに買うことにするかなぁ、と思いながらビールを飲んでウトウトと昼寝をし始めてしまった。すると、私は面白い夢を見始めた。
夢の中では、コビトさんがいっぱい登場して、何やらセッセとブロックを運んでくる。そして、カチリカチリとお試し版の回路の中にブロックをはめていくのである。あれあれ、あのブロックはさっきまでは使えなかったのになぁ、と思っているのにコビトさん達は無関係に運んでいくのである。
というわけで、コビトさん達は試しにさっきの付属の回路にボリュームと電流計を取り付けたようである。
夢の中で私がいじってみると、ボリュームをいじるとLEDの明るさもリアルタイムで変わるし、ボリュームの抵抗次第で、スイッチング回路もちゃんと動く、そしてその上電流計もちゃんと動く。いやぁ、楽しいものである。こりゃ、実際の製品が出たら即「買い」である。
また、NE555や74-164といったICも夢の中では登場していたのだが、コビトさんにはこれらのICはちょっと大きすぎて運べなかったらしい。あるいは、この狭い領域の中では大きな部品をうまく使えなかったのかもしれない。とにかく、途中でコビトさんは投げ出してしまった。
さて、この「バーチャル電子ブロック」は私のように「電子ブロックを懐かしく感じる世代」に受けることだろう。それだけでなくて、もしかしたら今の子供達(の一部)にも受けるかもしれない。その時に、「こういうおもちゃが出てくるまでの歴史」をその子供達にぜひ知って欲しいなぁ、と私は思うのである。そうしないと、現在、できているものをあるのがただ当たり前のように思ってしまうのではないか、と思う。
そして、逆に「昔のものから今あるものへの流れ」を知ることで、「今あるものから明日あるものへの流れ」を作ることができるようになるんじゃないのかなぁ、とおぼろげながら思ってみたりするのである。