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を置いておく。また、下が作成する途中のデータである。どこか間違っているような気もする。少し不安だ。
さて、これが作成した無限音階である。それっぽく聞こえるだろうか。
1999-01-10[n年前へ]
■宇宙人はどこにいる?
画像復元を勉強してみたい その1
知人から「自称UFO写真」というのものが冗談半分(いや100%位か)で送られてきた。その写真はボケボケの画像なので何がなんだかなんだかわからない。そこで、ぼけぼけ画像を復元する方法を勉強してみたい。UFOは冗談として、画像復元において進んでいるのは天文分野である。そこで、このようなタイトルなのである。もちろん、画像復元の問題は奥が深すぎるので、じっくりと時間をかけてみる。今回はMathematicaを使って試行錯誤を行った。
ボケ画像を復元するには、ボケ画像がどのように出来ているかを考えなければならない。そこで、ごく単純なぼけ画像を考えてみる。まずは以下の画像のような場合である。
画像:1のような点画像が、画像:2のような分布のボケ画像になるとすると、次のような関係が成り立つ。
(式:1) 画像:4 = 画像:3 * 画像:2
画像:1のような点画像が画像:2になるなら、それを参照すれば、画像:3のような点画像の集合がどう
ボケるかは計算できる。つまり、それが画像:4になる。ここで、*はコンボリューションを表している。
よくある信号処理の話で言えば、画像:2はインパルス応答である。といっても、これはごくごく単純な場合(線形シフトインバリアントとかいろいろ条件がある)の話である。まずはそういう簡単な場合から始めてみる。
このようなごく単純な場合には
(式:2) 画像:3 = 画像:4 * (1/画像:2)
とすれば、画像:3を復元できることになる。
そこで、まずは単純な1次元データで考える。下の画像:5のようにボケる場合を考える。ここでは、ガウス分布にボケるようにしてある。
であったが、* すなわち、コンボリューションは
逆フーリエ変換(フーリエ変換(オリジナル画像) x フーリエ変換(ボケ具合))
と表すことができる。つまり、周波数領域で掛け算をすれば良いわけである。
それでは、試しに適当な1次元データをつくって、画像:6とコンボリューションをとってやり、ボケさせてみる。
逆フーリエ変換(フーリエ変換(画像:9) / フーリエ変換(画像:7))
= InverseFourier[Fourier[Image8] / Fourier[Image6]]; (*Mathematica*)
とやると、次のデータが得られる。
(式:2) 画像:3 = 画像:4 * (1/画像:2)
を見るとわかるが、画像:2が周波数領域で0になる点があったりすると、計算することができない。また、0に近いとむやみな高周波数の増幅が行われて使えない。
そこで、この方法の修正として、ウィーナフィルターなどの最小平均自乗誤差フィルターがある。これにも多くの不自然な条件のもとに計算される(らしい)。しかし、infoseek辺りで探した限りでは、ウィーナフィルターを用いた画像復元の標準であるらしい。
この方法は先の逆変換に対して、次のように変形されたものである。Mathematicaの表記をそのまま貼り付けたのでわかりにくいかもしれない。
Noise ノイズのパワースペクトル
Signal 信号のパワースペクトル
Boke ボケる様子のインパルス応答
Conjugate 複素共役
BokeData ボケ画像
ResData1 計算した復元画像
Boke1 = (Boke^2 + Noise/Signal)/Conjugate[Boke]; (*Mathematica*)
ResData1 = InverseFourier[Fourier[BokeData] / Fourier[Boke1]]; (*Mathematica*)
である。Noise/SignalはS/N比の逆数であるから、SN比の大きいところではインバースフィルターに近づく。また、インバースフィルターの計算不能な点が消えている。
これを使って復元してみたのが、次のデータである。
まずは、ボケのフィルター(PSF=PointSpreadFunction(どのようにボケるかを示すもの)、2次元のインパルス応答)である。
その他線形の画像復元法をいくつか調べたが、ウィーナフィルターやインバースフィルターとほとんど同じような物が(素人目には)多かった。そこで、ウィーナフィルタなどとはやり方がかなり異なるものについて、いずれ挑戦してみたい。
関係はないが、ウィナーと言えばサイバネティクスが思い浮かんでしまう。当然、ロゲルギストが連想されるわけだが、文庫本か何かで岩波版と中公版の「物理の散歩道」が安く売り出されないのだろうか?売れると思うんだけど。新書版は高すぎる。
宇宙人はどこにいるか? そういった話は専門家に聞いて欲しい。わからないとは思うが。
さて、ここからは、1999.01.24に書いている。シンクロニシティとでも言うのか、今回の一週間後の1999.01.17に
日本テレビ系『特命リサーチ200X』で
地球外生命体は存在するのか?( http://www.ntv.co.jp/FERC/research/19990117/f0220.html )
という回があった。何とこの回のコメンテーターは先の専門家と同じなのだ。偶然とは面白いものだ。
1999-02-14[n年前へ]
■感温液晶でNotePCの発熱分布を可視化する
熱いところで感じてみたい St.Valentine 記念
東急ハンズで実験材料をいくつか買った。その中から、感温液晶シートを使って計測を行ってみたい。
色が変わる材料というものは多い。温度により物質の色がかわる現象はサーモクロミズムと呼ばれる。光により色が変わるサングラスのような現象の場合はフォトクロミズム呼ばれる。けっこう、色々な応用を見かける。
通常の感温液晶はコレステリック(Cholesteric)効果により反射光のスペクトルが変わるため、色が変化する。
これが感温液晶シートである。よくで見かけると思う。
さて、それでは感温液晶を使っていくつか測定を行ってみたい。まずは、NotePCの発熱分布を調べてみる。最近のNotePCはかなり熱くなるものが多い。暖かいというよりもアッチッチ状態になるものさえある。
それでは、
- Toshiba Libretto50
- Panasonic Let'sNote mini(AL-N4)
いずれも、感温液晶シートをNotePCの上に載せることにより、評価を行っている。今回は発熱分布を知ることが目的であるので定量的な評価は行っていない。もし、温度を定量的に行いたいのであれば、色と温度の対応曲線をあらかじめ測定する必要がある。
以下に結果を示す。
左上:上面 右上:上面の発熱分布 左下:下面の発熱分布 |
左上:上面 右上:上面の発熱分布 左下:下面の発熱分布 感温液晶シートのサイズがA4であるため、Let'sNote miniにちょうどフィットする。 |
Libretto50ではPCカードのNICを右に挿しているため、キーボードの右側部分の発熱が大きい。また、下面ではハードディスク部分の発熱がわかる。また、ク*ックア*プしているせいかかなりアッチッチである。
Libretto50,Let's Note miniいずれにおいても液晶のドライバーがある部分(液晶の左)は発熱が激しいのがわかる。
本来ならば、愛用しているTOSHIBA Portege320でも計測を行いたい所だが、ただいま長期入院中である。間もなく使用1年になるが、これまでに入院3回を経験し、入院期間は計2ヶ月にわたる。昔の小説家もビックリの病弱さである。他の使用者の話を聞いていても実に不安定な機種のようだ。一体、疲労骨折を経験していないPortege320というのは、はたして存在するのだろうか。あぁ...
今回は手元にあったNotePCでのみ測定を行ったが、近所の協力の下に色々なNotePCの発熱分布を調べる予定である。特にパームレスト周りの発熱分布などは割に軽んじられているだけに、興味がある。
今回は感温液晶を使った温度分布の簡単な可視化をしてみた。同じような測定は色々してみる予定である。
感温液晶と同じように、温度で変化する材料は多い。例えば、FAXでよく使用される感熱紙もそうである。
他にも、RICOHの熱可逆性情報表示フィルム
http://ext.ricoh.co.jp/saiyo/sin/prof/eyes/page4_2.html
などもそうである。
これなどはお店のポイントカードなどでよく見掛ける。私の財布から探してみると、オートバックスのポイントカードがこれと同じようなものである。70-130℃位の温度変化により透明度を変化させる材料である。これ位の温度であると、真夏の車中にカードを放置するとどうなるか心配なところである。
今回の情報に関連するWEB一覧
- 伊藤のホームページ(http://www.infonia.ne.jp/~itous/)
- 岡山県教育センター(http://www.pref.okayama.jp/kyoiku/sido/edu_cent/seminar/rika/rikasho/zikken.htm)
- お湯で変色するサーモクロミズム化合物をつくる(高橋 正)(http://www2b.biglobe.ne.jp/~murasho/news22.htm)
- 液晶について(http://www.osakac.ac.jp/labs/fujita/asai/ekisyo.html)
- 感温液晶を用いた非定常熱伝達の計測システムの基礎的研究(http://village.infoweb.ne.jp/~fwhz0564/kenkyu.htm)
- 感温液晶マイクロカプセルによる可視化(http://koneeko.linux.or.jp/AandO/gfd_exp/exp_j/tech/elc.htm)
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-08[n年前へ]
■着メロの音響工学
この着信音は誰のだ!? 立体音感その3
街中で携帯電話の着信音が鳴ると、周辺の人が一斉に自分のポケットを探る光景というのはよく見掛ける。それは、まるで「クイズ・ドレミファドン」のようである。そう「超・イントロクイズ」そのものなのだ。「このイントロはオレのか!?それとも!?」と皆が考えている瞬間である。
着メロのイントロが始まるや否や、腰の携帯電話に手をやる様子は「おまえは荒野のガンマンか!」とツッコみたくなる程である。
特に、私の勤務先などでは全員が同じPHSを持ち歩いているせいか、着信音が聞こえ始めると、みな自分のポケットを探り始める。もちろん、そのPHSの着信音は数種類ある。しかし、1500人程度の従業員がいるわけだから、1500人/ 数種類だけ同じ着信音があるわけだ。仮に15種類あるとしても、
1500(人) / 15(種類数) = 100(人/種類)つまり、自分と全く同じ着信音のPHSを持つ人が100人もいるのだ。世の中には「自分と同じ顔の人が七人いる」というが、職場に同じ着信音の人が100人もいるのである。これでは、着信音が鳴ると同時に多くの人がポケットを探るのも自然だろう。
もちろん、この解決策として、「着信音でなくてバイブレーターを使う」というものがあるわけだが、何故かその解決策は許されないらしい。不思議である。
さて、そもそも、何故自分の着信音を区別できないのだろうか? まず、その辺りから考えてみることにする。
着信音が鳴ったときに、「自分の着信音かどうか判断するための基準」は二つあるだろう。それは、
- 着信音の種類
- 着信音が鳴っている位置
着信音の鳴っている位置 = 自分の携帯電話の位置が成立するかどうか即座に判断できれば、着信音が同じでも「自分の着信音であるか」の判断が可能ということだ。
つまりは、「携帯電話の着信音という音源の定位」という問題を考えれば良いことになる。もし、「着信音の定位」が判れば、自分の携帯電話の着信音か他の人の着信音かどうかなんてことは考えなくて済むのだ。そう、今回は「立体音感」シリーズその3だったのである。
それでは、一体「着信音がどこで鳴っているのか、すなわち、着信音の定位」が判るためには何が必要なのだろうか?
前回、
で「音の立体感に関する因子」について- 音像定位の因子
- 両耳差因子 (音響信号)
- 音の強さ(振幅)の差
- 位相の差
- 周波数スペクトル因子
周波数スペクトル因子というのは、例えば、
の中の記述指を前方で鳴らしてみて下さい。 そしてすこしずつ手を頭の側方に、手と頭の距離を変えないようにして、移動してみて下さい。 音量がわずかに大きくなったこととある特定の中域および広域の音がより強調されることに気が付かれるでしょう。 この実験では、指を鳴らす動作は一定の音量と周波数を発生する音源として用いられたわけです。 耳は同一の音源が前方から来る場合と、側方から来る場合で全く違う音と聞き分け、頭脳にそれを登録します。 側方の音は若干大きく、また耳たぶのせいで高い周波数で聞こえます。にあるようなものである。
音波が人間の頭部を通過してくる間に音波の周波数分布が変化し、その変化具合で音波がやってきた方向を知ることができるというものだ(多分)。もちろん、位相分布も変化するだろうが、ここでは周波数分布しか考えない。
こういう音像定位の因子における「周波数スペクトル因子」を考える時に、もし音源の周波数スペクトルがごく狭いものだったらどうだろうか?つまり、単一の周波数しか含まない音源だったらどうだろうか?周波数スペクトルが変化するといっても、単一のスペクトルしか含んでいないのだから、振幅が変化する効果しかない。周波数スペクトルの分布は何ら変化しない。
ということは、「音像定位の因子における周波数スペクトル因子」が上手く作用しないことになってしまう。(もちろん、実際には非線形な効果が存在するだろうから、多少は周波数スペクトルも変化するとは思うが。)
これと全く同じことはまたしても「物理の散歩道」で触れられている。ロゲルギスト著の岩波新書「第四物理の散歩道」の「不規則なものの効用 三節」である。純音より不規則な音の方が「立体感」を得られるだろう、と書いている。
今回、「携帯電話の着信音の定位」を「着信音のスペクトル分布」という観点から調べてみることにする。携帯電話の着信音がどのような波形であるか、どのような周波数分布を持っているかを調べるのである。果たして、携帯電話の着信音の周波数分布はどうなっているのだろうか?(部品点数を考えれば、ほぼSin波か矩形波なのが当然だろうが...)
まずは手持ちの機種で着信音の波形とスペクトルを見てみることにした。使った機種を以下に示す。
それでは、着信音No4と着メロ「この木何の木」の波形とスペクトログラムを次に示す。それぞれのグラフ中で上は「時間vs周波数分布」を示すスペクトログラムであり、下は「時間vs強度」の波形グラフである。
まずこれが、着信音No.4の波形とスペクトログラムであり、
こちらが、「この木何の木」の波形とスペクトログラムだ。
どちらも周波数分布はそれほどブロードではない。すると、「音像定位の因子における周波数スペクトル因子」を用いた「立体音感」がうまく働かないかもしれない。ただし、着信音No.4に関しては時間的に変化しないが、着メロ「この木何の木」に関しては、当然だが時間的に変化していく。
この違いが果たして、「着信音の音像の定位」の判断を左右するものか、自分の耳で実験することにした。着信音No.4と着メロ「この木何の木」を鳴らした時に、どこから鳴っているように聞こえるか判断してみるのだ。
目をつぶり頭の周囲で着信音を鳴らし、その定位を判断してみた。すると、色々な着信音を聞いてみたがいずれも定位の判断がしづらかった。特に頭の前後の判断がしづらい。それは、着信音No.4と着メロ「この木何の木」でも同様であった。やはり、純音に近いと「音像定位の因子における周波数スペクトル因子」が働きづらいのかもしれない。
そして、着信音No.4と着メロ「この木何の木」だが、むしろ着信音No.4の方が判断をしやすかった。メロディだと音が変わるときに定位が変わるかのような感覚を受けた。そのため、判断をしにくかった。もちろん、これは私だけの感覚かもしれない。その辺りは被験者を増やして実験をしてみたい(再実験をする日が来るかどうかは大いに疑問であるが)。
また、もしかしたら着信音No.4の方が矩形波に近く、純音でないのが良かったのかもしれない。もしかしたら、の話だけれど。
もし、今回使った音を聞いてみたい人がいるならば、
これを聞いてみてもらいたい。ただし、サイズがでかいので要注意だ。あとバックグラウンドがうるさいのはハードディスクとファンの回転音である。困ったものだ。 最近多い「同時発声数が多い着メロ機能」というのも、使って実験すると面白そうだ。しかも、音が分厚いヤツがあると、案外良いモノかもしれないな、とうらやましく思ったりするのである。そして、着信音スピーカーがプアァで歪んでいる機種なんかが、色々な周波数成分を含んでいて、実は「着信音の定位」に関しては良かったりするのかもしれない、と考えたりする。しかし、こちらはチットモうらやましくないのであった。