아들이 밤마다 게임하면서 소리를 질러대길래, 개발자답게 과하게 엔지니어링된 해결책을 만들어버렸다
My son screams while gaming at midnight. I'm a developer, so I did what developers do - I over-engineered a solution
핵심 요약
밤마다 게임 중 고함치는 아들을 위해 개발자가 직접 마이크 소음을 감지해 게임을 강제 종료하는 앱을 개발함.
- 소음 제어 앱 — 마이크로 고함을 감지해 게임을 최소화하고 경고 메시지를 띄우는 윈도우용 유틸리티임.
- 부자간 합의 — 아들이 개발 과정에 참여하고 규칙에 동의하여 훈육의 일환으로 활용됨.
- 기술적 구현 — 20ms마다 소음 수치를 계산하며 오디오 데이터는 저장하지 않는 오픈소스 프로젝트임.
- 훈육 방식 — 강압적인 처벌 대신 기술적 피드백을 통해 스스로 소리 크기를 조절하도록 유도함.
우리 아들이 밤늦게 헤드셋 끼고 게임을 하는데, 평소엔 조용하다가 게임에서 뭔 일만 터지면 목청 터져라 소리를 질러대서 온 집안 식구를 다 깨워.
말해봐야 딱 20분 가고, 헤드셋 뺏으면 또 다른 문제가 생기길래 그냥 앱을 하나 만들었어.
S.T.F.U(Sound Trigger Focus Utility)는 마이크 소리를 듣고 있다가 애가 소리 지르면 바로 방해하는 윈도우 트레이 앱이야. 처음 실행할 때 조용히 하기, 말하기, 소리 지르기 과정을 거쳐서 평소 목소리랑 진짜 고함치는 걸 구분하도록 학습시켜.
소리 지르는 게 감지되면:
- 그 세션에서 처음 걸렸을 때: 게임 창을 최소화하고 효과음을 튼 다음, 전체 화면 메시지를 띄워. 이걸 4번 클릭해야 넘어가는데, 클릭할 때마다 닫기 버튼 위치가 바뀌어서 그냥 한 곳만 연타하는 건 안 통함.
- 그 이후부터: 바로 바탕화면으로 튕기고 10초 동안 메시지 띄움. 게임은 이미 사라진 뒤지.
설정은 PIN 번호로 잠가놔서 애가 임계값을 바꾸거나 앱을 끄는 건 불가능해. 언제 소리 질렀는지 그래프로 보여주는 리포트 기능도 있어서, 다음 날 아침에 내가 언제 애가 빡쳤는지 정확히 확인할 수 있지.
중요한 건, 애도 이 앱이 깔려 있다는 걸 알고 있다는 거야. 몰래 설치한 스파이웨어가 아니라고. 앱 켜자마자 이게 무슨 짓을 하는지 대문짝만하게 나오거든. 애랑 합의한 결과물이라서 효과가 있는 거지, 몰래 깔아놓은 함정이 아니야. README에도 몰래 설치하는 함정이 아니라 서로 합의하에 쓰는 게 제일 좋다고 명시해 놨어.
오디오 녹음이나 저장은 전혀 안 해. 20ms마다 소리 크기만 계산하고 바로 데이터를 버려버리거든. 외부로 나가는 정보는 하나도 없어.
근본적인 문제가 해결되는 건 아니야(애가 소리를 안 지르는 게 아니라, 안 들키게 작게 지르는 법을 배우겠지). 그래도 최소한 집안 식구들은 발 뻗고 잘 수 있게 됐어.
필요한 사람 있으면 무료로 가져다 써. 오픈 소스야: https://github.com/omricn/stfu/releases/latest

