배경 : 나는 잠자는 동안 코골이 / 호흡을 "듣고"수면 무호흡 징후 ( "수면 실험실"의 사전 화면으로 표시)를 결정 하는 iPhone 응용 프로그램 ( 여러 다른 게시물 에서 언급)에서 작업 하고 있습니다. 테스트). 이 응용 프로그램은 주로 코골이 / 호흡을 탐지하기 위해 "스펙트럼 차이"를 사용하며 수면 실험실 기록 (실제로는 시끄러운 소음)에 대해 테스트 할 때 상당히 효과적입니다 (약 0.85--0.90 상관 관계).
문제점 : 대부분의 "침실"소음 (팬 등) 여러 기술을 통해 걸러 낼 수 있으며 종종 사람의 귀가 감지 할 수없는 S / N 수준에서 호흡을 안정적으로 감지합니다. 문제는 음성 잡음입니다. 텔레비전이나 라디오가 백그라운드에서 실행되는 것 (또는 단순히 누군가가 멀리서 말하는 것)이 드문 일이 아니며, 목소리의 리듬이 호흡 / 코골음과 밀접하게 일치합니다. 사실, 필자는 필자 저자 인 빌 홀름 (Bill Holm)을 앱을 통해 녹음했으며, 리듬, 레벨 변동성 및 기타 여러 가지 방법으로 코골이하는 것과 본질적으로 구별 할 수 없었습니다. (물론 적어도 깨어있는 동안에는 수면 무호흡증이 없었습니다.)
그래서 이것은 약간 긴 샷 (그리고 아마도 포럼 규칙의 연장)이지만 음성을 구별하는 방법에 대한 아이디어를 찾고 있습니다. 우리는 어떻게 든 코골이를 걸러 낼 필요는 없지만 (좋은 것으로 생각 될 수도 있음) 오히려 지나치게 지나치게 오염 된 "너무 시끄러운"소리를 거부하는 방법이 필요합니다.
어떤 아이디어?
게시 된 파일 : dropbox.com에 일부 파일을 배치했습니다.
첫 번째는 다소 무작위적인 록 음악이고, 두 번째는 빌 홀름 말의 녹음입니다. 둘 다 (소음의 샘플로 사용되는 코골이와 구별됨) 두 가지 신호를 혼동시키기 위해 노이즈와 혼합되었습니다. (이것으로 파일을 식별하는 작업이 훨씬 더 어려워집니다.) 세 번째 파일은 첫 번째 1/3이 대부분 호흡하고 중간 3 분의 1이 혼합 호흡 / 코골이이고 마지막 3 분의 1이 상당히 안정적인 코골이를 기록하는 10 분 분량의 기록입니다. (여러분은 기침을합니다.)
많은 브라우저에서 wav 파일을 다운로드하기가 어렵 기 때문에 세 파일 모두 ".wav"에서 "_wav.dat"로 이름이 바뀌 었습니다. 다운로드 후 ".wav"로 다시 이름을 바꾸십시오.
업데이트 : 엔트로피가 나를 위해 "트릭을하는 것"이라고 생각했지만, 내가 사용하고있는 테스트 사례의 특성과 너무 잘 설계되지 않은 알고리즘으로 밝혀졌습니다. 일반적으로 엔트로피는 나를 위해 거의하지 않습니다.
그런 다음 초당 약 8 번 샘플링 된 전체 신호 크기 (전력, 스펙트럼 플럭스 및 기타 여러 측정 값)의 FFT (여러 다른 창 기능 사용)를 계산하는 기술을 시도했습니다 (주 FFT 사이클에서 통계 가져 오기) 1024/8000 초마다). 1024 개 샘플의 경우 약 2 분의 시간 범위가 포함됩니다. 나는 코골이 / 호흡 대 음성 / 음악의 느린 리듬으로 인해 이것에서 패턴을 볼 수 있기를 바 랐고 (또한 " 변이성 "문제 를 해결하는 더 좋은 방법 일 수 있음 ) 힌트가 있지만 여기저기서 패턴을 만들 수 있습니다.
( 추가 정보 : 경우에 따라 신호 크기의 FFT는 약 0.2Hz에서 강한 피크와 계단 형 고조파를 갖는 매우 뚜렷한 패턴을 생성하지만 패턴은 대부분 거의 구별되지 않으며 음성과 음악은 덜 뚜렷하게 생성 될 수 있습니다. 성능 지수에 대한 상관 관계 값을 계산할 수있는 방법이있을 수 있지만 약 4 차 다항식에 대한 곡선 맞춤이 필요하고 전화기에서 1 초에 한 번 수행하는 것은 실용적이지 않은 것으로 보입니다.)
또한 스펙트럼을 나눈 5 개의 개별 "대역"에 대해 동일한 평균 진폭의 FFT를 시도했습니다. 밴드는 4000-2000, 2000-1000, 1000-500 및 500-0입니다. 처음 4 개의 대역에 대한 패턴은 일반적으로 전체 패턴과 유사하지만 (실제 "스탠드 아웃"대역이없고 종종 고주파 대역에서 소멸하는 작은 신호가 있지만) 500-0 대역은 일반적으로 임의입니다.
바운티 : 나단에게 지금까지 가장 생산적인 제안 이었기 때문에 새로운 것을 제공하지는 않았지만 나단에게 바운티 를 줄 것입니다. 그래도 좋은 아이디어를 얻었 으면 다른 사람에게 기꺼이 수여 할 몇 가지 요점이 있습니다.