앱이 무엇을 듣는지, 어떻게 판단하는지, 숫자가 무엇을 의미하는지 설명합니다.
Snore Timeline은 하룻밤의 원시 오디오를 라벨이 붙은 이벤트로 바꿉니다. 그 라벨이 어디서 나온 건지 알면 믿기가 훨씬 쉬워지므로, 이 페이지에서는 처리 과정을 하나씩 짚어봅니다. 앱이 어떤 소리를 듣는지, 무엇이 타임라인에 남을지 어떻게 판단하는지, 데시벨 수치와 주황색 파형 색상이 무엇을 뜻하는지, 그리고 시끄러운 방이 왜 결과를 바꾸는지 다룹니다.
앱은 모든 소음을 코골이로 취급하지 않습니다. 들은 소리를 여섯 가지 주요 카테고리로 나눕니다:
코골이, 헐떡임, 기침이 호흡기 그룹을 이룹니다. 앱은 밤새 호흡도 따라갑니다. 약 10초 이상 조용한 상태가 이어진 뒤 그 침묵보다 확실히 큰 회복 소리가 나오면 호흡 방해로 표시됩니다. 자세한 내용은 호흡 방해에서 제대로 다룹니다.
그렇다면 코골이와 기침은 어떻게 구별할까요? 소리마다 고유한 음향 지문이 있습니다. 코골이는 에너지의 대부분이 대략 50Hz에서 3kHz 사이의 저주파와 중주파 대역에 몰려 있고, 그 점이 말소리나 기침, 방 안의 잡음과 구분해 줍니다. 분류기는 라벨을 정하기 전에 소리의 형태와 주파수 구성을 함께 봅니다. 배경 소음은 대부분 아무 라벨도 받지 못합니다.
가끔은 틀립니다. 두 소리가 겹치거나 이불이 한쪽을 덮어버리면 이벤트가 엉뚱한 카테고리로 들어갑니다. 라벨이 이상해 보이면 그 순간을 재생해 직접 들어보세요. 그리고 이 모든 것은 본인이 참고하기 위한 오디오 분석입니다. 앱은 수면 무호흡증도, 다른 어떤 질환도 진단하지 않습니다.
일부 앱은 샘플링으로 배터리를 아낍니다. 이따금 깨어나 잠깐 듣고 다시 잠들기 때문에 그 사이에 일어난 일은 사라집니다. Snore Timeline은 폰 자체에서 돌아가는 Apple의 Sound Analysis 프레임워크로 내내 듣습니다. 모든 소리가 발생하는 대로 처리되고, 업로드되는 것은 없습니다.
그 결과 두 가지가 눈에 띌 겁니다:
모두 기기 안에서 돌아갑니다. 오디오는 폰 밖으로 나가지 않습니다. 그것이 실제로 무슨 뜻인지는 개인정보 처리방침에서 설명합니다.
실시간 감지는 코골이가 벌어지는 동안 앱이 무언가 할 수 있다는 뜻이기도 합니다. 코골이 넛지는 코골이가 확인되면 iPhone에서 짧은 소리를 내거나 Apple Watch로 손목을 두드리는데, 보통 그것만으로도 몸을 돌리게 됩니다. 대부분의 추적 앱은 아침에 알려주는 것이 전부입니다.
모든 소리가 남지는 않습니다. 앱은 소리가 카테고리 중 하나와 충분히 강하게 맞아떨어질 때만 이벤트로 기록합니다. 삐걱거리는 라디에이터가 밤새 유령 코골이를 만들어내지 않는 이유가 그것입니다.
그 기준을 얼마나 엄격하게 둘지는 민감도 설정으로 정합니다. 최소, 낮음, 균형, 높음, 최대의 다섯 단계가 있고 기본값은 균형입니다.
어느 쪽으로 갈지는 타임라인이 알려줍니다. 재생해보면 아무것도 없는 엉뚱한 이벤트가 많나요? 민감도를 낮추세요. 녹음에서는 들리는데 앱이 놓친 코골이가 있나요? 올리세요. 균형은 대부분의 사람에게 좋은 출발점입니다.
음량은 앱 전반에서 dB SPL로 표시되며, 약 28dB(거의 무음)에서 105dB(귀가 아플 정도)까지의 범위입니다. 볼륨 미터처럼 읽으세요. 코골이의 대략적인 기준은 다음과 같습니다:
에피소드마다 최고 수준과 평균 수준이 함께 기록됩니다. 이 수치는 개인적인 참고용으로 보세요. 머리맡의 폰은 교정된 측정기가 아닙니다.
앱은 어떤 마이크를 쓰고 있는지 알고 있고, 폰이 음악이나 팟캐스트 같은 오디오를 재생하는 동안에는 수치를 보정합니다.
모든 소리는 여러 주파수가 섞인 것입니다. 주파수는 공기가 얼마나 빠르게 진동하는지를 헤르츠(Hz)로 나타낸 값입니다. 낮은 소리는 천천히, 높은 소리는 빠르게 진동합니다. 재생을 누르고 슬라이더를 끌면서 음이 올라갈수록 파형이 촘촘해지는 것을 지켜보세요:
파형을 끝까지 확대하면 각 막대가 여러 주황색 음영으로 갈라지면서, 그 소리의 에너지가 주파수 범위 어디에 있는지 보여줍니다:
호흡에서 중요한 것은 밝은 고주파 대역입니다. 날숨마다 부드러운 “스스” 같은 희미한 치찰음이 나고, 그 소리가 고주파 대역 위쪽에 자리합니다. Snore Timeline은 그것을 따라가며 밤새 호흡을 추적하고, 호흡 방해 감지와 수면 단계 추정은 그 추적 위에 세워져 있습니다. 폰이 너무 멀거나 방이 시끄러우면 두 기능이 함께 약해지는 이유도 그 때문입니다. 치찰음은 작아서 가장 먼저 사라집니다.
주파수 세부 정보는 실시간 보기에서 한 단계 바깥인 1초 막대에서만 볼 수 있습니다. 더 넓은 확대 수준에서는 막대가 단색입니다. 파형 전체를 읽는 방법은 타임라인 및 재생에서 다룹니다.
밤 중 조용한 구간을 끝까지 확대하고, 아래에 거의 아무것도 없는 짧고 밝은 주황색 덩어리를 찾아보세요. 그것이 당신의 호흡입니다.
코골이와 잠꼬대는 분류기가 알아서 처리합니다. 큰 소리 감지는 그 외의 모든 것을 위한 기능입니다. 소리가 음량 임계값을 넘으면, 그 소리가 무엇으로 밝혀지든 에피소드를 만듭니다. 그래서 분류기가 이름 붙이지 못하는 소음, 이를테면 말소리로 치기에는 너무 작은 속삭임 잠꼬대, 이갈이, 몸을 뒤척일 때 나는 부스럭 소리, 그 밖에 방에서 일어난 무엇이든 잡아낼 수 있습니다.
임계값에는 두 가지 방식이 있고, 설정의 임계값 모드에서 고릅니다:
방이 조용할수록 임계값이 더 낮아지고, 그만큼 더 많이 잡힙니다.
분명히 코골이였다고 생각한 것이 큰 소리 항목에 들어가 있을 때가 있습니다. 배경 소음이 코골이 분류기가 의지하는 호흡 패턴을 덮어버릴 때 그렇습니다. 무언가를 코골이라고 부르려면 깨끗한 신호가 필요한데, 조용할 때의 방이 약 45dB를 넘어가면 코골이 대신 큰 소리 신호로 기록되는 소리가 많아집니다. 어떻게 대응할지는 다음 섹션에서 다룹니다.
에어컨, 선풍기, 교통 소음, 음악, 빗소리, 파도 소리 같은 일정한 배경 소음은 따로 추적되며 타임라인에 코골이 이벤트를 만들지 않습니다. 앱이 그것을 연속적인 주변 소음으로 인식하기 때문에, 웅웅거리는 에어컨만으로 밤이 가짜 코골이로 채워지지는 않습니다.
일정한 소음이 실제로 앗아가는 것은 마스킹입니다. 소음 바닥이 높으면 조용한 호흡과 작은 코골이가 묻히고, 분류기가 쓸 수 있는 재료가 줄어듭니다. 두 가지가 일어납니다:
분류를 더 깔끔하게 하려면 가능한 선에서 방을 조용하게 만드세요. 흔한 범인은 선풍기와 백색소음 기계, 공조기와 공기청정기, 교통 소음이 들어오는 열린 창문, 켜둔 채 놔둔 TV나 스피커입니다. 방이 조용할수록 전반적으로 감지가 정확해집니다.
호텔 방처럼 소음을 어쩔 수 없을 때는 있는 조건에서 맞춰가세요: