ステレオ音声を複素平面で考える

今年もよろしくお願いします

FFTをあらためて勉強してての思いつきをメモ
図を描いてると寝られなくなるのでわかりにくくてすんません

  • スピーカー2個の角度が90度になるように配置
  • これを聞く人間の耳とかマイクのかわりに、スピーカーからの射線の交差点に とても小さな風向風速計を1個置く
  • 片方のスピーカーから ほんの一瞬だけ音を発生させた場合(インパルス) 音=風なので 風向計はそのスピーカーのほうを向く 風速は音の大きさを示す
  • 両方のスピーカーを同じ大きさで鳴らすと、風向計は2つのスピーカーの中間を向く
  • 2つのスピーカーの音の大きさが違う場合は、その合力の方向を向く
  • (簡略化のため)音の大きさは正の値だけとする
  • 右のスピーカーへの射線を実数軸、左のスピーカーへの射線を虚数軸と考えると、ある瞬間の音は ひとつの複素数で表すことができる
  • その複素数極座標形式にすると風向 風速となる
  • 具体的な計算方法としては ステレオ音声を2つの実数の配列と考えず、 右を実数部 左を虚数部とした複素数と考え、左右のチャネル別々ではなく、一度にFFTすることを想定


みたいな考えを導入すると、

  • 曲からボーカルをキャンセル/抽出 (とくに中央から少しはずれたボジのとき)
  • 特定の方向の楽器/音声のみをキャンセル/抽出
  • 音声のポジションをぐるぐる回す

みたいなことが可能じゃないかなー と思ったのですが(たぶん 導入しなくても可能ですけれども)自分でコード書いてると朝になるので寝ます。すんません

(あと、既存のサラウンドシステムなどで 既にこの考えが導入されてたら勉強不足ですんません)