출처 : http://blog.naver.com/PostView.nhn?blogId=sukjun40&logNo=100171180154


AudioTrack, AudioRecord 클래스를 활용하여 목소리 자동 감지 프로그램을 만들어 보았습니다.

 

이 소스는 code.google.com 의 sounddemodulation 

 

 

원본소스 링크

http://code.google.com/p/sounddemodulation/downloads/detail?name=AudioDemodulator.zip&can=2&q=

 

 

 

예제를 그대로 가져와 약간만 변형한 것입니다.

 

녹음 플레이 코드는 대부분 같고 자동으로 녹음저장과 끝을 맺는것만 다릅니다.

 

따로 녹음 버튼과 녹음 중지 버튼이 있는것이 아니라

 

목소리가 커지는 시점을 잡아서 저장하고 목소리가 없어지는 시점을 잡아 자동으로 녹음이

 

끝나도록 구현했습니다.(말하는 고양이처럼)

 

사실 목소리를 감지한다기 보다 볼륨을 감지한다고 할 수 있습니다.

 

관련소스 작성하시는 분들에게 많은 도움되기를 바랍니다.

 

실행해 보시면 녹음한 소리가 그대로 나오는것이 아니라 말하는 고양이 처럼 약간

 

목소리 변조된것 처럼 플레이 됩니다. 중간에 주석 처리한 부분을 해제하시고 기존 소스를 지우시면

 

원본 소리가 나옵니다.

 

 

AudioTrack audioTrack = new AudioTrack(

AudioManager.STREAM_MUSIC, (int) (outfrequency * 1.5),

channelConfigurationaudioEncoding, bufferSize,

AudioTrack.MODE_STREAM);

 

(int) (outfrequency * 1.5) 에서 ... * 1.5 를 빼면 원본 소리가 나옵니다


+ Recent posts