アカウント名:
パスワード:
ステレオスピーカーとモノラルマイクを結ぶ平面に直交する方向はどうやって取るんだろう?左右にパラで効く成分でわかりそうだけど、マイクがスピーカの中央辺りに配置されていると上か下かの特定はかなりきつい気が。動画見た感じでは遠近一軸しかとってないように見える。
#音質が距離によって変化するドップラー効果って。ぴゅあおーでぃおを釣るネタ?
実際に計算してみたら、理論上は意外に単純でした。
単純化するために、手に音源を付け、マイクに向かって移動させたと仮定すると、20kHzの音源を0.1m/s(=10cm/s≒A4短辺を2秒で移動)で移動させると、5.8Hz上にシフトします。(ドップラー効果)
5.8Hzの差をFFT等で分析する場合、48kHzでサンプリングして、約8300サンプルあれば識別できます。(実際には16384ポイントかな?)
聴感上は区別付きにくいかも知れませんが、コンピュータなら識別可能な差になります。
また、音源&マイク固定で移動体を検出する場合、その移動速度の最大約2倍の周波数シフトが起きますので、より検出しやすくなります。
離れた音源を2つ用意すると、音源1の(周波数の)上下と音源2の上下の組み合わせで以下の動作が検出できます。(実際には更に「変化無し(というより変化検出不可)」が加わるのですが、面倒なので省略)音源1:上、音源2:下→音源1に近づく音源1:下、音源2:上→音源2に近づく音源1:上、音源2:上→音源1&2に近づく(=手を下げる)音源1:下、音源2:下→音源1&2から遠ざかる(=手をあげる)
但し、この判定には穴があって、音源の外側から内側に手が近づく場合、手を下げるのと同様の判定がされます。
実装には、更に周囲のノイズ除去、周波数シフト部のレベル判定等組み込まなければならないでしょうが、付加部品無しに実装できる面白い技術だとは思います。
#でも、やっぱりACで…#ちなみに#2150390ですw
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
上下左右取れるの? (スコア:1)
ステレオスピーカーとモノラルマイクを結ぶ平面に直交する方向はどうやって取るんだろう?
左右にパラで効く成分でわかりそうだけど、マイクがスピーカの中央辺りに配置されていると上か下かの特定はかなりきつい気が。
動画見た感じでは遠近一軸しかとってないように見える。
#音質が距離によって変化するドップラー効果って。ぴゅあおーでぃおを釣るネタ?
Re:上下左右取れるの? (スコア:0)
実際に計算してみたら、理論上は意外に単純でした。
単純化するために、手に音源を付け、マイクに向かって移動させたと仮定すると、20kHzの音源を0.1m/s(=10cm/s≒A4短辺を2秒で移動)で移動させると、5.8Hz上にシフトします。(ドップラー効果)
5.8Hzの差をFFT等で分析する場合、48kHzでサンプリングして、約8300サンプルあれば識別できます。(実際には16384ポイントかな?)
聴感上は区別付きにくいかも知れませんが、コンピュータなら識別可能な差になります。
また、音源&マイク固定で移動体を検出する場合、その移動速度の最大約2倍の周波数シフトが起きますので、より検出しやすくなります。
離れた音源を2つ用意すると、
音源1の(周波数の)上下と音源2の上下の組み合わせで以下の動作が検出できます。
(実際には更に「変化無し(というより変化検出不可)」が加わるのですが、面倒なので省略)
音源1:上、音源2:下→音源1に近づく
音源1:下、音源2:上→音源2に近づく
音源1:上、音源2:上→音源1&2に近づく(=手を下げる)
音源1:下、音源2:下→音源1&2から遠ざかる(=手をあげる)
但し、この判定には穴があって、音源の外側から内側に手が近づく場合、手を下げるのと同様の判定がされます。
実装には、更に周囲のノイズ除去、周波数シフト部のレベル判定等組み込まなければならないでしょうが、付加部品無しに実装できる面白い技術だとは思います。
#でも、やっぱりACで…
#ちなみに#2150390ですw