1998-11-12[n年前へ]
■無限音階を作ろう
上昇し続けるって何ですか?
無限音階を作りたい
無限音階というものがある。ド・レ・ミ・・・と音がどんどん高くなっていくように聞こえるのだが、いつまでたっても終わらず、ふと気づくとずっと前と同じような音の高さだというものである。Escherの無限階段の版画は有名だが、あれの音階版である。とにかく、無限音階を作ってみようというのが今回の目的である。参考までに、Eshcerのことに関しては藤原康司氏のWEBhttp://www.pluto.dti.ne.jp/~fwhd5468/に詳しい情報がある。 ちなみに、このような版画である。
「上昇と下降」(左図、1960年作) 「滝」(右図、1961年作) |
無限音階の仕組み
人間の聴力にはもちろん周波数特性がある。ニコンの補聴器のWEBhttp://www.nikon.co.jp/main/jpn/society/hocyouki.htm
によれば20Hz-20kHzが通常聞こえる周波数の範囲であるという。例えば、CDのサンプリング周波数はが約40kHzであるのは、この20kHzの倍だからである。つまり、ナイキスト周波数による。
もし、ある高さの「ド」の1オクターブ下、そのまた下、...それだけでなく、1オクターブ上、そのまた上...が一度になったら、人間の耳にはどう聞こえるだろうか。それは、やはり「ド」である。その時のスペクトルはこんな感じである。なお、横軸は2をベースにした変形の対数軸である。また、実際には「ド」ではない。
それでは、そのような「レ」が鳴ったとしたら?もちろん、それも「レ」である。そのようにして、「ドレミファソラシド」とやるとどうだろう?最初の「ド」と最後の「ド」は全く同じになっている。しかし、人間の感覚としてはどんどん音の高さが上昇していくように感じる。これが無限音階の仕組みである。
図で示すとこのようになる。なお、下の図中で水色は人間の耳に聞こえる周波数領域である。また、振幅はたんなる相対値である。
作成した無限音階
今回は12音の平均率音階を用いている。音階そのものについては「音階について考える」という別の話である。また、基本波形としては正弦波を用いている。20Hz以下の正弦波を基本波形として、その倍音を20kHz超まで均等に足しあわせたものをただ作っただけである。正弦波を用いたのは話を単純化するためである。ここに今回作成したMathematicaのNoteBookを置いておく。また、下が作成する途中のデータである。どこか間違っているような気もする。少し不安だ。
さて、これが作成した無限音階である。それっぽく聞こえるだろうか。
1998-11-22[n年前へ]
■OHPによるモアレと光の干渉の相似について考える。
ヒラックス・ディザの提案
「位相保存ディザマトリックス」
まず初めに、4 x 1ドットからなる基本マトリックスを考える。その各ドットは白か黒の値を持つ。例えば、このような感じである。この「黒、黒、白、白」というパターンを次の図と見比べる。
「モアレのデバイス依存について考える。」で行ったようにこのようなパターンをOHPで打ち出し、重ね合わせてみる。例えば、位相0と位相180のものを重ね合わせたらどうなるだろうか。4x1ドットのマトリックスの全てが黒になる。すなわち、真っ黒になるのがわかるだろう。それでは、位相0と位相90のものではどうだろうか。4x1ドットのマトリックスの内、3ドットが黒、1ドットが白である。位相が同じものどうしを重ね合わせると、元と同じく、2ドットが黒、2ドットが白である。
ということは、「位相が同じ物どうしであれば、元の明るさを保持する」、「位相が逆であれば真っ黒になる」、「位相が少しずれているのあれば、明るさはその分少し暗くなる」という性質があることがわかる。光の干渉の場合とほとんど同じ性質を持っているのがわかると思う。違うのは、同じ位相のものどうしが重ね合わさった時に、重ね合わせた分明るさが2倍になるか、そうでなくてそのままなのかという違いだけである。
つまり、この4x1ドットのマトリックスは「きちんと演算が成立する位相情報が記録されている」ということになる。そして、位相が異なるものを重ね合わせた時の位相情報の保存までも考えてやるならば、先ほどの例1は次のように位相の定義を変えてやるほうがいいと思う。
この例2では位相の数字は各矩形波の中心位置を現すことにしている。それでは、この定義を用いて、位相90,180のものを足しあわせたらどうなるだろうか。下に示すのがその結果である。
位相90と位相180のものを足しあわせると、波形はブロードになり、中心すなわち位相135のものができているのがわかる。また、明るさはこれまでが、2/4だったものが1/4であることになり、強度も弱まっているのが表現されている。
つまり、このようなマトリックスによる表現は波の持つ位相と強度と波形を表現し、演算も成り立っていることがわかる。それでは、例2の基本マトリックスが縦方向に繰り返されている画像(1(基本マトリックス)x8ピクセル)を考える。こんな感じである。
これは下方向から進行している矩形波の様子そのままである。なお、この図でも基本となるマトリックスは4x1ドットであるから、この例では要素としては1x8ピクセルを示しているのである。どの要素も振幅(強度)自体は同じである。平均の明るさは同じである、と言い換えても良い。また、波形自体も同じである。しかし、位相が異なっている。波の進行そのままである。
さらに強度情報を加える
このような白、黒のみの2値表現(といってもこの表現にはモアレが欠かせず、そのためには2値表現がふさわしい)では、波の位相、波形、強度を独立に変化させることはできない。例えば、波の波形を変えると強度も変わってしまう。それを独立にしてやろうと思ったら、階調を増やしてやれば良い。しかし、2値表現のままという制限付きであるから、面積階調を使うことになる。これまで4x1ドットのマトリックスで表現していたものを、例えば、4x4ドットのマトリックスにしてやればよい。以下にその例を示す。例Aの強度が例Bの1/4であることがわかるだろう。 このような「位相、波形、強度情報を保存し、演算も成立する」マトリックス表現を仮に「HiraxDither(ヒラックス・ディザ)」と呼ぼう。先の「モアレのデバイス依存について考える。」で使ったスペックルパターンの例はこのヒラックス・ディザの簡易なもの(2x1基本マトリックスのもの)を使っていた。
また、「モアレのデバイス依存について考える。」で使った同心円状の画像のモアレのパターンは実はヒラックスパターンの特殊な例(1x1基本マトリックスのもの)を用いていたのである。そこでは、単に位相情報しか記憶されていない。この場合には、白、黒が位相情報を現していたのである。だから、黒、黒どうしの所(すなわち、位相が同じ所)では平均の明るさは変化せず、黒、白が重なった部分(すなわち、位相が反対である所)でのみ打ち消し合い、暗くなっていたわけである。波形も、強度情報もこの場合には記録されていない。
「ヒラックス・ディザ」とホログラフィーの相似点
このようなヒラックス・ディザの「ディザ・パターン内部、すなわち、微視的には位相情報や振幅情報を記録し、巨視的に見ると強度分布のみが認識される。また、相互の演算(干渉)によって違う画像を再生することができる。」という特徴は実によくホログラフィーと似ていることがわかる。 また、もう少し深く考えると、もっと他の分野とも繋がるかもしれない。いずれ、また考えてみたい。
1999-01-03[n年前へ]
■オシロスコープソフトを作る
PCを2Ch高性能オシロスコープにしたい
オシロスコープがあると便利だが、家で使うには敷居が高いし、値段も高い。まして、FFTアナライザーがついて周波数解析も行うことができるような機械になると、遊びで買うという値段ではなくなってしまう。そこで、PCを2Ch高性能オシロスコープにするソフトを作ってみたい。
以前、音階を調べた時に、SoundBlaster互換I/Fを使ったLabViewのサウンド入出力のViを使用してみる。目標はとにかくオシロスコープと同じ使い勝手であること、使うのが簡単であること、そして、周波数解析などが簡単に行うことができること、である。入力として、音声入力を使用しているので、たいていのPCで使うことができるし、音声入力マイクが着いているPC(たいていのノートPCは着いているだろう)なら、マイク(あるいは入力端子)を用意する必要すらない。
というわけで、下がそのアプリケーションの画面。
20KHz(ナイキスト周波数で言えば正確には10KHzか)までしか、使うことはできないが、ちょっと使いたい時には便利だ。特に、音声を解析したいならば、必要十分である。上の画面では口笛を吹いて、その音声波形を表示させ、周波数解析を同時に行っている。周波数ピークが表示され、1120Hzであるという表示がされる。
内蔵マイクを使用すると、ただアプリケーションを走らせれば、音声周波数解析が行える。もしも、比較的高性能なマイクがPCに着いているならば、リアルタイム振動解析すら行うことができる。もちろん、マイク入力端子に何らかの入力をすれば、どんな解析もできるわけだが、何の用意もせずにできるというのは便利である。例えば、うるさいデスクトップPCの近くへこのアプリケーションを走らせたノートPCを近づけると、デスクトップPCがなぜうるさいかを簡単に調べることができる。うるさいのは、ハードディスクの周波数なのか、ファンの周波数なのかすぐにわかる。
今回、作成したアプリケーションはここにおいておく。動作させたら、レンジを調整することを忘れずに。
Ocilo.lzh LZH形式 1,259kB (打ち止めです。あしからず。)
LabViewのアプリケーションライセンス上、ダウンロード数は50回までで、その数近くになったら削除することにする。
1999-01-07[n年前へ]
■振動・声紋解析用のソフトをつくる
PCオシロソフトを高機能にしたい
前に作った2Chオシロ&FFTアナライザーに時間vs周波数グラフの表示機能を付けたい。そうすれば、もしも音声解析に利用するならば、声紋分析もできる。また、振動解析ならば、周波数変化を簡単に調べることができる。こういったものが簡単に作れるのはLabViewの素晴らしい所だ。
このソフトを動かすと、コンピューターのファンやハードディスクの回転数はとても鋭い周波数ピークを持っていることがよくわかる。また、マイクに向かってしゃべれば、声紋分析も可能である。ウソ発見器などにも応用してみたい。
下がアプリケーションを動かした様子である。左上が生波形、左下が周波数vs強度、右上が1Ch目の時間vs周波数分布、右下が2Ch目の時間vs周波数分布である。
測定用の準備は整ったので、このアプリケーションを使って色々な音声解析や振動解析などをしてみたい。ところで、このアプリケーションを作成した所で、ほとんど同じようなソフトの広告を見かけた。
http://www.mcor.co.jp/goods/fft/
上に載っているソフトと同じようなことは今回のソフトを使えばできると思う。また、http://www.mcor.co.jp/goods/fft/にあるソフトの便利そうなところは参考にしたい。
ここに今回作成したアプリケーションを置いておく。
ocilo2.lzh 1,266KB (打ち止めです。あしからず。)
LabViewのアプリケーションライセンス上、ダウンロード数が40本を近くなったところで削除する。
1999-07-25[n年前へ]
■君はトナーを見たか?
6umの高速飛行物体
今回の話はミステリー小説のように、「嘘を意識して書きはしないが、本当のことも意識的に書かない」部分がある。お読みの際は注意が必要である。
先日、大手町で開催されていた「JapanHardCopy'99」を見ていた。ちなみに「JapanHardCopy」というのは電子写真装置(複写機やレーザービームプリンター)やインクジェットプリンターなど画像を印字する機械に関する学会である「日本画像学会」が主催するシンポジウムである。その中でも、一番よく「覚えている」発表を考察を含めながら紹介したいと思う。とても「できるかな?」と共通の匂いがするのだ? それに15分の発表がまるまるビデオ(を液晶プロジェクターに表示したもの)によるものというのも珍しいと思う(画面上に時々タイミングを知らせるマーキングが出てはいたが、発表者は喋る長さ調整に苦労していたと思う)。
それは、
現像プロセスにおけるトナー粒子の挙動測定
という発表だ。
この発表は電子写真式の装置の現像装置でトナーが現像される様子を計測した結果の報告である。以前、
ゼロックス写真とセンチメンタルな写真 -コピー機による画像表現について考える - (99.06.06)
の時に電子写真プロセスについて紹介した。今回もその簡単な構成を示しておく。このような機構がコピー機やLBPの内部には入っているのだ。(ドラム表面の画としてはRicohのWEBがわかりやすい。)
上の概略図で現像装置は右の薄紫の円である。感光ドラムが中央の大きな円だ。この発表は、現像装置と感光ドラムの近接部(画面中央のの赤丸で囲まれた部分)で何が起きているかを測定しているのだ。
しかし、全ての現像装置ではなく現像装置と感光ドラムが非接触のタイプのものに関する報告である。現像装置から感光ドラムへトナーを現像させてやるわけだが、両者が非接触であるということはトナー粒子を現像装置から飛ばしてやることにより現像させるわけである。高電界を印加して電気的な力によりトナー粒子を飛翔させるのだ。そのような場合にトナー粒子がどのような挙動を示しているかを計測しているのである。
現像装置と感光ドラムの間の距離というのは通常300um程度である。また、最近のトナーの粒径は6um程度である。300umのギャップ中を6um程度の飛行物体が数多く飛びまくるのである。数多くといってもピンとこないかもしれないので、数値的な考察をしてみる。1cm^2(1平方センチメートル)の黒い四角を印刷するのにトナー粒子はどのていど必要だろうか。もしトナー1個が10um角の領域を完全に覆えるならトナーが1000x1000個あれば1cm^2の区画を完全に覆えるだろう。しかし、現実問題として1層だけでは覆えるわけがないので仮に5層必要だとすると、5x10^6個のトナーが1cm^2(1平方センチメートル)の黒い四角を印刷するのに使われていることになる。500万個である。
その数多いトナー粒子が飛行しているものの中から1個単位のトナー粒子を計測しどのような飛行をしているかを調べているのだ。数100um角の領域中で数百万個のトナーが飛行する中から1個のトナー粒子を調べるのである。まるで、大都会で一人の人の追跡取材し、その人にライトをあてるような作業ではないか。ロマンチックとは思えないだろうか?
それでは、どのように飛行しているかを予稿集の図から抜き出してみよう。
この写真中では画面上のドラムと現像装置は500um離れている。また、上と下の写真ではトナーを飛行させるための電界の波形が異なる。上が単純な矩形波であり、下が矩形波の正と負の電界がかかる時間長さが異なるものである。まるでトナー粒子の動きが物理的なオシロスコープのようである。
これはほぼ1/15秒間の軌跡であり、予稿集の写真から推定するに、その間に7cm程度は移動している。ということはトナー粒子は1秒間に1m程度は移動していることになる。秒速1mである。しかも方向を鋭く変えながらであるから、加速度としては凄いものがあるし、瞬間の最大速度もはるかにこれより速いだろう。
普段LBPなどで出力をすることも多いと思うが、その出力画像を形成しているトナー粒子たちがこんなに高速でアクロバット飛行してきたとは知らなかった人も多いだろう。この写真自体は今回の発表の導入部分に過ぎなく、本題がこの後に続くのだが、結構面白い写真ではないだろうか。トナー粒子の動きが一目瞭然である。
ところで、ここまできても「おまえの考察が少なすぎるぞ。」と言われる方はいらっしゃらないですよね。「これ、おまえの発表じゃないか。自作自演じゃないか。」とおっしゃる方はいるでしょうけど。