音声検出の仕組み
アプリが何を聴き、どのように判断し、数値が何を意味するか。
Snore Timeline は一晩分の生音声をラベル付きのイベントに変えます。そのラベルは、どこから来たのかが分かると信頼しやすくなります。そこでこのページでは処理の流れをひととおり見ていきます。アプリがどんな音を聴いているのか、何をタイムラインに残すと判断するのか、デシベルの数値とオレンジ色の波形は何を表すのか、そして騒がしい部屋だと結果がどう変わるのか。
アプリが分類する音の種類
アプリはあらゆる音をいびきとして扱うわけではありません。聴き取った音を6つの主要カテゴリに分けます。
- いびき:メインのイベント。ひとつひとつが音量とともにタイムラインに載ります。
- あえぎ:呼吸停止の直後によく現れる、鋭い息の吸い込み。
- 咳:いびきに紛れ込まないよう、独立して数えます。
- 寝言:話し声、ささやき、つぶやきを含みます。
- 笑い声。人は寝ていても笑います。
- 大きな音:部屋の背景ノイズ、または自分で決めた値を超える音すべて。詳しくはこの後で説明します。
いびき、あえぎ、咳が呼吸グループを構成します。アプリは一晩を通じて呼吸も追いかけています。約10秒以上静かな状態が続いた後、その静けさより明らかに大きな回復音が現れると、呼吸の乱れとしてフラグが立ちます。詳しくは呼吸の乱れできちんと扱っています。
では、いびきと咳をどう見分けているのでしょうか。音の種類ごとに固有の音響的な指紋があります。いびきはエネルギーの大部分が低音域と中音域、おおむね50 Hz〜3 kHzに集中しており、それが話し声や咳、部屋の物音との違いになります。分類器はラベルを決める前に、音の形と周波数の構成の両方を見ます。背景ノイズの大半にはラベルが付きません。
間違えることもあります。2つの音が重なったり、布団が片方を覆ってしまったりすると、イベントが違うカテゴリに入ります。ラベルがおかしいと感じたら、その瞬間を再生して自分の耳で確かめてください。念のためお伝えすると、これはすべてご自身の把握のための音声解析です。アプリは睡眠時無呼吸症候群もそれ以外も診断しません。
リアルタイム解析、サンプリングなし
一部のアプリはサンプリングでバッテリーを節約します。ときどき起動して少しだけ聴き、また休止するので、その間に起きたことは失われます。Snore Timeline はスマートフォン本体で動くApple の Sound Analysis フレームワークを使い、ずっと聴き続けます。どの音も発生と同時に処理され、アップロードは一切ありません。ほかのいびきアプリとの比較については、あなたのデータを収集するいびきアプリは?をご覧ください。
その結果、次の2つに気づくはずです。
- 検出はすぐ始まります。キャリブレーションも準備の手順もありません。夜最初のいびきも100回目のいびきも同じように数えます。
- タイムラインに穴が空きません。アプリが聴くのをやめないので、静かな区間は部屋が静かだったという意味になり、その区間が呼吸と睡眠ステージの解析を支えます。
すべてデバイス上で動きます。音声がスマートフォンの外に出ることはありません。それが実際に何を意味するかはプライバシーポリシーで説明しています。
リアルタイム検出は、いびきが起きているその場でアプリが手を打てるということでもあります。いびきナッジは、いびきが確定すると iPhone から短くサウンドを鳴らすか、Apple Watch で手首をタップします。それだけで寝返りを打てることがよくあります。ほとんどのトラッカーは、朝になってから教えることしかできません。
感度と誤検出
すべての音が残るわけではありません。アプリはその音がいずれかのカテゴリに十分強く一致したときだけイベントとして記録します。軋むラジエーターが一晩を幻のいびきで埋め尽くさずに済むのは、そのおかげです。
その基準をどれだけ厳しくするかは、感度設定で決めます。最小限、低め、バランス、高、最大の5段階があり、デフォルトは「バランス」です。
- 最小限ははっきりした大きないびきだけを拾い、ほかはほとんど無視します。騒がしい部屋や、パートナーのいびきが何度も検出を引き起こすときに使ってください。
- 最大はごくかすかないびきも拾いますが、その分だけ背景ノイズも誤検出も増えます。
どちらに動かすかはタイムラインが教えてくれます。再生しても何も聞こえない余計なイベントが多いなら、感度を下げてください。録音では聞こえるのにアプリが取りこぼしたいびきがあるなら、上げてください。「バランス」はたいていの人にとってよい出発点です。
デシベルと周波数カラー
音量はアプリのどこでも dB SPL で表示され、約28 dB(ほぼ無音)から105 dB(耳が痛いほどの大音量)までのスケールです。音量計として読んでください。いびきの大まかな目安は次のとおりです。
- 約40 dB未満:微かないびき
- 40〜48 dB:軽いいびき
- 48〜56 dB:はっきり聞こえるいびき
- 56 dB以上:激しいいびき
エピソードごとにピーク値と平均値の両方が付きます。数値は個人的な目安として見てください。枕元のスマートフォンは校正された測定器ではありません。
アプリは使用中のマイクを把握しており、音楽やポッドキャストなどをスマートフォンが再生している間は読み取り値を補正します。
すべての音は周波数の混ざり合いです。周波数とは空気の振動の速さのことで、ヘルツ(Hz)で測ります。低い音はゆっくり、高い音は速く振動します。再生を押してスライダーをドラッグし、音が高くなるにつれて波が詰まっていく様子を見てください。
波形を目一杯ズームインすると、バーが積み重なったオレンジの階調に分かれ、その音のエネルギーが周波数帯のどこにあるかが見えてきます。
- 濃いオレンジ:低音域、約50〜250 Hz。いびき特有の深い唸り音。
- 中間のオレンジ:中音域、約250〜1500 Hz。倍音や母音の音。
- 明るいオレンジ:高音域、約1500〜8000 Hz。「スス」という音のような摩擦音。
呼吸で効いてくるのは明るい高音域です。呼気のたびにかすかな摩擦音、やわらかい「スス」という音が出て、それが高音域の上のほうに現れます。Snore Timeline はそれを追って一晩中の呼吸をたどり、呼吸の乱れ検出と睡眠ステージの推定はその追跡の上に成り立っています。スマートフォンが遠すぎたり部屋が騒がしかったりすると、この両方が弱くなるのもそのためです。摩擦音は小さいので、真っ先に消えてしまいます。
周波数の詳細が見えるのは1秒バーだけで、リアルタイム表示の1段階外側にあたります。それより広いズームではバーは単色です。波形全体の読み方はタイムラインと再生で扱っています。
夜の静かな区間を目一杯ズームインして、下にほとんど何もない明るいオレンジの短い山を探してみてください。それがあなたの呼吸です。
大きな音の検出
いびきと寝言は分類器が自分で処理します。大きな音の検出は、それ以外のすべてのためにあります。音が音量のしきい値を超えれば、その音が何であれエピソードを作ります。これで分類器に名前を付けられない音、たとえば声として数えられないほど小さなささやきの寝言、歯ぎしり、寝返りを打つときの衣擦れ、そのほか部屋で起きた何かを拾えます。
しきい値には2つのモードがあり、設定のしきい値モードで選びます。
- 自動(既定)。録音中にアプリが部屋の背景ノイズを測り、しきい値をその5 dB上に設定するので、ふつうの部屋の一定のうなりでは反応しません。背景ノイズのレベルとは、その夜の静かなときの下限、つまり部屋の音が90%の時間それを上回っているレベルで、28〜45 dBの範囲で数えます。アプリはこれを1分ごとに測り直すので、扇風機が回り始めたり窓が開いたりすればしきい値は上がり、静かな部屋では下がります。それぞれの夜は、最後に測定した夜の値から始まります。設定画面には、測定された音量、それがどの夜のものか、そしてそこから決まる dB が表示されます。
- 固定。毎晩同じ線で見たいときのために、自分で決める dB のスライダーです。「自動」の導入前にしきい値を設定していた場合は、その値で「固定」のままです。
部屋が静かなほどしきい値は下がり、それだけ多くの音を捉えられます。28 dBの静かな寝室なら、線は33 dBになります。
大きな音のエピソードには、それが起きたときの部屋の状態が表示されます。カードには室内 34 dBのように部屋のレベルが載り、エピソードの詳細には室内の暗騒音と検出しきい値が加わります。たとえば「自動:室内の暗騒音より5 dB高い値(検出時の暗騒音:34 dB)。」のように表示されます。この機能が加わる前に録音したエピソードでは、暗騒音だけが表示され、しきい値の行はありません。
いびきだと思っていた音が大きな音のカテゴリに入っていることがあります。これは背景ノイズが、いびき分類器の頼りにしている呼吸パターンを覆い隠すときに起こります。いびきと判定するにはノイズの少ない音が必要で、静かなときの部屋が約45 dBを超えると、いびきではなく大きな音のシグナルとして記録される音が増えます。対処法は次のセクションで扱います。
背景ノイズが検出に与える影響
エアコン、扇風機、交通騒音、音楽、雨、波の音のような定常的な背景ノイズは別に追跡され、タイムラインにいびきイベントを作りません。アプリはそれを連続した環境ノイズとして認識するので、うなるエアコンだけで一晩が偽のいびきで埋まることはありません。
定常的なノイズの影響は、マスキング(音がかき消されること)として現れます。ノイズフロアが高いと静かな呼吸音やかすかないびきがかき消され、分類器の手元に残る材料が減ります。起きることは2つです。
- 小さな音はそもそも検出されにくくなります。
- 静かなときでも約45 dBを超える部屋では、普通ならいびきと数えられる音が大きな音のカテゴリに移ります。
分類をきれいにするには、できる範囲で部屋を静かにしてください。よくある犯人は扇風機やホワイトノイズマシン、空調や空気清浄機、交通に面した開けっぱなしの窓、つけっぱなしのテレビやスピーカーです。部屋が静かなほど、全体として検出は正確になります。
ホテルの部屋などでノイズをどうにもできないときは、あるもので工夫してください。
- スマートフォンを頭の近くに置いてください。うなり音の中でも呼吸が聞き取れるようにするためです。配置についてははじめにで扱っています。
- 感度を上げてください。背景ノイズの向こうにある小さめの音もアプリが拾えるようになります。