마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 소리인식관련..

0 추천
안녕하세요 지금 현재 제가 구현하고 싶은거는.. 공장에서 특정소리가 나는데 이것을 인식해서 사용자에게 알려주는

기능을 구현해야 합니다.. 앱이 아니라 안드로이드 보드에 포팅시켜서 개발하고 있는데요..이런 기능을 구현할라면

어떤식으로 접근해야할지.. ㅠㅠ 검색해도.. 음성인식이 대부분이라 ㅠㅠ 힘드네요.. 조언 좀 부탁드리겠습니다.!!!
스틸쳅라 (170 포인트) 님이 2015년 12월 16일 질문

2개의 답변

0 추천
 
채택된 답변

구글 마켓에서 'Noise Meter, FFT, 주파수 분석'등으로 검색하면

가로는 시간축, 세로는 주파수로 2D그래프를 그려주는 앱이 몇 개 있습니다.

문제의 소리를 위 앱으로 그래프를 그려보면 특정 패턴이 나올 겁니다.

FFT 소스는 인터넷에서 구하기 쉽기 때문에(이해하기는 어렵지만 ^^;) 가져다 쓰시면 될 겁니다.

드르륵~ 하는 시간 간격이 50ms 라고 한다면,

위 2D 그래프를 50ms 마다 중첩해서 그려보세요. 그러면 확실한 패턴 하나가 생길 겁니다.

그걸 참고해서, 코드로 대~충 패턴매칭을 하면 해결할 수 있을 것 같습니다.

 

JINASYS (5,630 포인트) 님이 2015년 12월 16일 답변
스틸쳅라님이 2015년 12월 17일 채택됨
0 추천

삐~ 하는 소리인지, 삐용삐용? 또는 고양이 야옹 소리인지.. ^^;

특정 소리.. 가 어떤 것인지 없으니까 답변이 어렵습니다.

생각 나는 방법은, 소리입력을 받아서 FFT 처리를 하면 주파수 정보를 얻을 수 있습니다.

원하는 주파수가 일정 시간 발생한다면 알림을 하면 되지 않을까 합니다.

 

JINASYS (5,630 포인트) 님이 2015년 12월 16일 답변
공장에서 기계가 물체를 깎는데 ~ 문제가 없으면 찌이잉~ 찌이잉 부드럽게 깍는소리가 나는데 문제가 있으면 드르륵 ~드르륵 마치 뭐가 걸린 것 같이 소리를 낸다고 하더라고요.. ㅠㅠ
문제가 생길때 소리가 보통때 보다도 크다면, Audiorecord로 MIC로 들어오는 PCM 구한 후 그 PCM 숫자가 클 경우 알림을 보내는 방식은 가능할 듯 합니다.

그게 아니라면 파형 분석해서 해야하는데.. 파형 쉽지는 않을 듯 하네요..
문제가 생길때 소리가 보통때 보다도 크다면, Audiorecord로 MIC로 들어오는 PCM 구한 후 그 PCM 숫자가 클 경우 알림을 보내는 방식은 가능할 듯 합니다.

그게 아니라면 파형 분석해서 해야하는데.. 쉽지는 않을 듯 하네요..
...