개요
가끔 일정한 소리가 몇번이나 반복되었는지 세어야 할 경우가 있었습니다. 문득 특정한 소리의 개수를 세어주는 앱이 있으면 좋겠다는 생각이 들어 만들게 되었습니다. 이름은 사운드 카운터로 정했고 소리가 나면 +1 을 해서 그 숫자가 나타납니다.
구상
측정하려는 소리의 크기가 다양해서 숫자를 더하는 소리의 크기를 조절할 수 있도록 해야할 것 같았습니다. 그리고 그 설정값을 보여주고 실제 소리가 났다는 것을 보여주는 부분이 필요할 것 같았습니다. 마지막으로 세어진 소리의 개수를 보여주는 부분이 있어야 할 것 같았습니다.
개발
작업을 진행하다 보니 잠깐 멈출 수 있는 기능이 있어야 할 것 같았습니다. 구상한 것을 다음 화면과 같이 작업 했습니다.
소리 입력은 마이크로 받았고 별도로 저장되지 않도록 작업했습니다. 문제가 없다고 생각했는데 특정버전 이상에서 테스트 해보니 녹음을 시작하는 부분에서 오류가 발생했습니다. 출력 방향을 /dev/null 로 지정했는데 Android Q 이상에서는 오류가 발생했습니다. OS 버전을 판단해서 동작하도록 수정했습니다.
입력된 소리를 시각적으로 표현하는 부분은 세기에 따라 위쪽으로 Peak가 올라가는 형태로 구현했습니다.
박수 소리로 테스트 해 보았는데 문제없이 동작했습니다. 좀더 크거나 작은 소리는 감도를 조절해서 개수를 셀 수 있도록 사용하면 될 것 같습니다.
다음 주소에서 확인하실 수 있습니다(광고포함).
https://play.google.com/store/apps/details?id=jaeyoung.kim.soundcounter