Snore Timeline ロゴ Snore Timeline サポート アプリを開く
録音

音声検出の仕組み

アプリが何を聴き、どのように判断し、数値が何を意味するか。

このページの内容

Snore Timeline は一晩分の生音声をラベル付きのイベントに変えます。そのラベルは、どこから来たのかが分かると信頼しやすくなります。そこでこのページでは処理の流れをひととおり見ていきます。アプリがどんな音を聴いているのか、何をタイムラインに残すと判断するのか、デシベルの数値とオレンジ色の波形は何を表すのか、そして騒がしい部屋だと結果がどう変わるのか。

アプリが分類する音の種類

アプリはあらゆる音をいびきとして扱うわけではありません。聴き取った音を6つの主要カテゴリに分けます。

  • いびき: メインのイベント。ひとつひとつが音量とともにタイムラインに載ります。
  • あえぎ(ガスプ): 呼吸停止の直後によく現れる、鋭い息の吸い込み。
  • : いびきに紛れ込まないよう、独立して数えます。
  • 寝言: 話し声、ささやき、つぶやきを含みます。
  • 笑い。人は寝ていても笑います。
  • 大きな音: 部屋の背景ノイズ、または自分で決めた値を超えるすべての音。詳しくはこの後で説明します。

いびき、あえぎ、咳が呼吸グループを構成します。アプリは一晩を通じて呼吸も追いかけています。約10秒以上静かな状態が続いた後、その静けさより明らかに大きな回復音が現れると、呼吸の乱れとしてフラグが立ちます。詳しくは呼吸の乱れできちんと扱っています。

では、いびきと咳をどう見分けているのでしょうか。音の種類ごとに固有の音響的な指紋があります。いびきはエネルギーの大部分が低音域と中音域、おおむね50 Hz〜3 kHzに集中しており、それが話し声や咳、部屋の物音との違いになります。分類器はラベルを決める前に、音の形と周波数の構成の両方を見ます。背景ノイズの大半にはラベルが付きません。

間違えることもあります。2つの音が重なったり、布団が片方を覆ってしまったりすると、イベントが違うカテゴリに入ります。ラベルがおかしいと感じたら、その瞬間を再生して自分の耳で確かめてください。念のためお伝えすると、これはすべてご自身の把握のための音声解析です。アプリは睡眠時無呼吸症候群もそれ以外も診断しません。

リアルタイム解析、サンプリングなし

PRIVATE TO YOUR DEVICE マイク 一晩中聴き続ける デバイス内AI リアルタイム Snore Gasp Cough Sleep talk Breathing 検出イベント
音声はスマートフォンの中で、発生したその瞬間に分類されます。どの音もリアルタイムでラベル付けされ、そのどれもがどこにも送られません。

一部のアプリはサンプリングでバッテリーを節約します。ときどき起動して少しだけ聴き、また休止するので、その間に起きたことは失われます。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)で測ります。低い音はゆっくり、高い音は速く振動します。再生を押してスライダーをドラッグし、音が高くなるにつれて波が詰まっていく様子を見てください。

160 Hz
スライダーをドラッグ — 音が高いほど速く振動します
下の帯域も同じスケールです。ゆっくりした振動が低音域、速い振動が高音域。いびきはずっと下のほうに住んでいます。呼気のかすかな摩擦音はずっと上のほうです。聞くにはヘッドフォンかスピーカーが必要です。

波形を目一杯ズームインすると、バーが積み重なったオレンジの階調に分かれ、その音のエネルギーが周波数帯のどこにあるかが見えてきます。

  • 濃いオレンジ: 低音域、約50〜250 Hz。いびき特有の深い唸り音。
  • 中間のオレンジ: 中音域、約250〜1500 Hz。倍音や母音の音。
  • 明るいオレンジ: 高音域、約1500〜8000 Hz。「スス」という音のような摩擦音。
0:00 高音域 中音域 低音域
実際の録音を2つ、アプリが波形を描くのと同じ色で、各バーを低音・中音・高音のエネルギーに分けて表示しています。再生を押して線を追ってください。呼吸のクリップでは、音そのものは小さいままなのに、呼気のたびに明るい高音域がぴくっと跳ね上がります。いびきのクリップでは濃い低音域が主役になります。その高音域のリズムが止まったとき、それが呼吸の乱れの可能性を示すサインです。

呼吸で効いてくるのは明るい高音域です。呼気のたびにかすかな摩擦音、やわらかい「スス」という音が出て、それが高音域の上のほうに現れます。Snore Timeline はそれを追って一晩中の呼吸をたどり、呼吸の乱れ検出睡眠ステージの推定はその追跡の上に成り立っています。スマートフォンが遠すぎたり部屋が騒がしかったりすると、この両方が弱くなるのもそのためです。摩擦音は小さいので、真っ先に消えてしまいます。

周波数の詳細が見えるのは1秒バーだけで、リアルタイム表示の1段階外側にあたります。それより広いズームではバーは単色です。波形全体の読み方はタイムラインと再生で扱っています。

試してみる

夜の静かな区間を目一杯ズームインして、下にほとんど何もない明るいオレンジの短い山を探してみてください。それがあなたの呼吸です。

アプリの全画面表示
ズームイン いびきエピソード中に積み重なったオレンジ色の周波数帯域を示すズームイン波形
1秒バーでの周波数カラー。

大きな音の検出

いびきと寝言は分類器が自分で処理します。大きな音の検出は、それ以外のすべてのためにあります。音が音量のしきい値を超えれば、その音が何であれエピソードを作ります。これで分類器に名前を付けられない音、たとえば声として数えられないほど小さなささやきの寝言、歯ぎしり、寝返りを打つときの衣擦れ、そのほか部屋で起きた何かを拾えます。

しきい値には2つのモードがあり、設定のしきい値モードで選びます。

  • 自動(既定)。録音中にアプリが部屋の背景ノイズを測り、しきい値をそのすぐ上に保ちます。1分ごとに測り直すので、扇風機が回り始めたり窓が開いたりすればしきい値は上がり、静かな部屋では下がります。それぞれの夜は、最後に測定した夜の値から始まります。設定画面には、測定された音量、それがどの夜のものか、そしてそこから決まる dB が表示されます。
  • 固定。毎晩同じ線で見たいときのために、自分で決める dB のスライダーです。自動が登場する前に値を設定していた場合は、その値の固定のままになっています。

部屋が静かなほどしきい値は下がり、それだけ多くの音を捉えられます。

いびきだと思っていた音が大きな音のカテゴリに入っていることがあります。これは背景ノイズが、いびき分類器の頼りにしている呼吸パターンを覆い隠すときに起こります。何かをいびきと呼ぶにはきれいな信号が必要で、静かなときの部屋が約45 dBを超えると、いびきではなく大きな音のシグナルとして記録される音が増えます。対処法は次のセクションで扱います。

背景ノイズが検出に与える影響

エアコン、扇風機、交通騒音、音楽、雨、波の音のような定常的な背景ノイズは別に追跡され、タイムラインにいびきイベントを作りません。アプリはそれを連続した環境ノイズとして認識するので、うなるエアコンだけで一晩が偽のいびきで埋まることはありません。

定常的なノイズが奪うのはマスキングの分です。ノイズフロアが高いと静かな呼吸音やかすかないびきがかき消され、分類器の手元に残る材料が減ります。起きることは2つです。

  • 小さな音はそもそも検出されにくくなります。
  • 静かなときでも約45 dBを超える部屋では、普通ならいびきと数えられる音が大きな音のカテゴリに移ります。

分類をきれいにするには、できる範囲で部屋を静かにしてください。よくある犯人は扇風機やホワイトノイズマシン、空調や空気清浄機、交通に面した開けっぱなしの窓、つけっぱなしのテレビやスピーカーです。部屋が静かなほど、全体として検出は正確になります。

ホテルの部屋などでノイズをどうにもできないときは、あるもので工夫してください。

  • スマートフォンを頭の近くに置いてください。うなり音の中でも呼吸が聞き取れるようにするためです。配置についてははじめにで扱っています。
  • 感度を上げてください。背景ノイズの向こうにある小さめの音もアプリが拾えるようになります。
アプリの全画面表示
ズームイン ピーク・平均デシベルと大きな音シグナルバッジを表示した大きな音の検出エピソード
45 dBのノイズフロアを超える部屋での録音例。