平#研究室のページです。研究プロジェクトや、研究室イベント、所属学生について掲載しています。Sounds)が鳴ります。Rubbinputと呼称)。湯水や滑らかな面で利用できるので、例えば家の中では浴室や洗面台、キッチンなどの水場において、濡れた・汚れた手で機器を直接操作したくない場面での操作に利用できます。具体的には、キッチンにおいてインターネットのレシピサイトのWebページをスクロールさせたい、キッチンにいて離れた場所にあるテレビの音量を大きくしたい、お風呂場でシャワーや浴槽のお湯の温度を上げ下げしたい、などの場面で活用できます。Motion)の情報を抽出し、様々な機器やアプリケーションの操作への割り当てができます。こする時間長さで音量調節や明るさ調節、画面のスクロール量を変えたり、こする指の本数で「Yes」「No」を返答したり、往復こすり動作で特定のイベント操作をすることなどが考えられます。仕組みとしては、浴槽の内側やキッチンの天板の裏側などにピエゾセンサ(コンタクトマイク)を1つ取り付け、こする面の固体振動を音響信号として処理することで実現しています。センサを取り付けた物体から直接振動を計測しているので、話し声や物音などの周囲の空気中の音(ノイズ)はほとんど入らず、S/N比の点で大変良い状況でこすり音が得られます。こすり音自体は、一定以上の音量の信号の周波数成分に調波構造がある程度長く続く、という条件で検出します(人が「キュッ」という音に、音の高さを感じられることが調波構造を持つ証しです)。手や物が表面にぶつかった音は瞬間的な音であり、調波構造が時間的に長く続くことはまずないため、こすった音か否かがまずわかります。情報を並行して抽出・検出します。単純に調波構造が検出されてから、検出されなくなるまでの時間長さを利用します。Fingers)の検出こすった各指からはそれぞれ基本周波数(F0もしくはFO)の違う調波構造を持つ音が鳴るという仮定を置き、複数本の指でこすった場合に得られる音響信号は調波構造が折り重なった(重畳された)形で現れることに着目して検出します。具体的な手法としては、得られたこすり音の周波数成分のピーク群が、一番低いピーク(いずれかの指からの基本周波数に相当)の整数倍ピーク(調波構造)からどれだけ外れたものが存在するかを計算して、その外れ度合いを計算して指本数を検出します(実際にはその外れ度合いが時間的にどう続くかも見ています)。現実的な問題として、2本指と3本指を正確に鳴らし分けることが困難な人が多いため、現時点でのRubbinputの実装では1本指か複数本指かのどちらかでの検出のみとしています。Motion)こする際に、手を同じ方向に2度動かしてこすり音を鳴らす場合と、往復動作でこすり音を鳴らす場合とでは、2度鳴るこすり音の時間間隔(無音時間の長さ)が違います。往復動作のほうが当然時間間隔が短くこすり音が鳴るわけで、多くの人の実験データから特定時間以下であれば往復動作と見なせることがわかりました。Rubbinputでは2つのこすり音に対してその特定時間以下か否かを判断すること(無音区間に対する閾値処理)で、往復動作か否か判断しています。Rubbinputでは、これら3つの抽出・検出機能をリアルタイム音響信号処理として実装しており、また様々な機器操作やアプリケーション操作を行うためのユーザインタフェースイベントへの割当機能を持たせています。Pi3でも動作します。