«   2019/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
Tags
more
Archives
Today
27
Total
1,681,324
관리 메뉴

올해는 머신러닝이다.

녹음시 소리 인식해서 자동 켜고 끌수 있는 기능 본문

Android

녹음시 소리 인식해서 자동 켜고 끌수 있는 기능

리엑티브한 행복한 수지아빠 2017. 8. 4. 19:14

출처 : 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 를 빼면 원본 소리가 나옵니다


2 Comments
  • 프로필사진 신규개발자 2018.10.30 11:56 혹시 저기 링크에있는 소스로해서 해보셧나요??? voiceReconize= true일때 끝나게되어있는데 저는
    버튼을 눌렀을대 끝나게하고싶어서 저부분을 클릭한뒤로 바꾸니 cnt와 endIndex가 제대로오지않더라고요.ㅠㅠ
    혹시 저와같은 방법을 구현하셧다면 조금의 도움을 청해도될까요??ㅠㅠ
  • 프로필사진 비밀 2018.10.31 14:47 추가적으로 녹음버튼과 녹음중지 그리고 재생은 똑같이하려고합니다 어느부분을 수정 해야할나요??
댓글쓰기 폼