원음 그대로,
0.125초마다.
휴대폰이 알아서 다듬은 소리 말고, OS 보정(AGC)을 거치지 않은 진짜 원음으로 잰다. 층간소음 피해를 감정이 아닌 숫자로 남기는 안드로이드 계측 앱.
UI는 Flutter,
측정은 네이티브로.
Flutter 한 겹에서 화면과 데시벨 연산을 함께 돌리면 가비지 컬렉션 지연과 부동소수점 오차가 측정값을 흔든다. 그래서 오디오 캡처와 dBFS 연산을 C/C++ 네이티브(NDK)로 내렸다. UI가 멈춰도 계측은 멈추지 않는다.
기준을 넘는 순간,
전후까지 통째로 남긴다.
임계값을 직접 정해두면, 그 선을 넘는 소음의 앞뒤 구간까지 순환버퍼에 미리 담아둔 원음으로 자동 저장한다. "쿵" 소리만 잘리지 않고, 맥락이 들어간 한 덩어리로 남는다.
- [01]전후 구간 보존 — 소리가 시작되기 전부터 끝까지, 끊김 없이 한 클립으로.
- [02]원음 그대로 — 압축·가공 없는 WAV. 들리는 그대로가 기록이다.
- [03]그 자리에서 재생 — 앱에서 바로 눌러 확인. 따로 옮길 필요 없음.
무슨 소리였는지,
기기 안에서 추정한다.
발걸음·문 두드림·유리 깨짐 같은 소음의 종류를 인터넷 연결 없이 기기에서 추정한다. 녹음 파일이 서버로 나가지 않으니, 측정 데이터는 내 폰 안에 머문다.
분류 결과는 공개 음향 데이터(ESC-50) 기준의 참고용 추정입니다. 실제 층간소음 환경의 정확도를 보장하지 않으며, 측정값(dBFS)과 저장된 원음이 1차 근거입니다.
틀리면 고친다.
고칠수록 내 환경에 맞는다.
AI가 잘못 분류했다면, 올바른 종류를 직접 골라준다. 그 정정은 기기 안의 학습 데이터가 되어, 우리 집 소리에 점점 가까워진다.
측정 중에 폰을 건드리면,
경고한다.
측정하는 동안 단말을 들거나 옮기면 마이크에 닿는 소리가 통째로 바뀐다. 가속도·자이로 센서로 그 움직임을 잡아내 오염된 구간을 표시한다. 책상에 전해지는 미세 진동은 무시한다.
고정된 상태
단말이 제자리에 있는 동안의 측정값은 그대로 신뢰 가능한 기록으로 남는다.
들거나 옮긴 순간
움직임이 감지된 구간은 부정 측정으로 표시. 자리만 지키면 책상 진동은 통과시킨다.
오늘 밤부터,
숫자로 기록하자.
설치하고 임계값만 정하면 끝. 기준을 넘는 소음은 알아서 원음으로 쌓인다.
앱 다운로드설치 안내 — 다운로드 시 “이 출처 허용”을 켜고, Play Protect 경고가 뜨면 “무시하고 설치”. 첫 실행에서 마이크 권한을 허용하세요.