2012-06-12 7 views
1

내 음성을 인식하고 텍스트로 변환 한 안드로이드 응용 프로그램을 만들고 싶습니다. 방금 토스트에서 말한 것을 보여줄 것입니다. 나는 나를 위해 음성 인식기를 시작할 버튼을 사용하여 이것을 할 수있다. 하지만 지금은 내 목소리의 기지에서만 작동하도록하고 싶습니다.음성 (잡음) 강도에 따른 음성 인식?

응용 프로그램은 음성 인식기를 트리거하고 말하기 시작하면 나만 듣기 시작해야하며 소리가 들리지 않으면 듣기를 멈춰야합니다. 마치 톰 응용 프로그램을 말하는 것처럼 작동합니다. 거기에 음성을 녹음하지만 음성 인식기를 사용하여 음성을 인식하고 싶습니다. 이 같은 일부 것은 :

if(no silense) 
    Launch Recognizer 
else if(silence) 
    Stop Recognizer 
Show toast 

주요 문제는 사용자가 음성 인식을 실행하기 전에 뭔가를 말하거나하지 않은 경우 내가 감지 할 수있는 방법이. 노이즈 강도를 감지 할 수있는 방법이 있습니까?

두 번째로 음성 인식기를 백그라운드에서 시작할 수있는 방법은 무엇입니까? ??

배경 서비스에서 오디오 신호 (누군가 말하기 시작)를 감지하면 바로 음성 인식기를 시작하여 음성을 인식 할 수 있습니까?

+0

Talking Tom은 음성뿐 아니라 다른 소리도 변경하므로 오디오 녹음, 필터 적용 및 사운드 연속 재생을 계속 유지할 수 있습니다. –

+0

@nininho 나는 그것이 소리를 녹음한다는 것을 알고있다. 그게 내가 질문에서 언급 한 것. 나는 단지 그것이 어떤 침묵의 틈이있을 때에 만 어떻게 말을하는지 알고 싶다. 다시 말하면 침묵을 느꼈을 것입니다. 주요 아이디어는, 나는 그 간격들에서 어떤 의도들을 발사 할 수 있도록 침묵의 틈을 감지하는 법을 알고 싶다. – Pargat

+0

음, 당신의 목소리는 Voice Band라고 불리는 특정 주파수 범위를 가지고 있습니다. 이 범위는 300 Hz에서 3400 Hz입니다. 디지털 필터를 사용하여 해당 범위 내의 내용을들을 수 있습니다. 그것 이외에, 나는 정말로 모른다. –

답변

1

좋아요. 알아 냈습니다. 나는 이것을 위해 mediaRecorder 클래스를 사용했다. 응용 프로그램이 시작되면 mediaRecoder을 사용하여 오디오 녹음을 시작합니다 (또는 전체 프로세스를 시작하고 중지 할 수있는 버튼을 제공 할 수 있음). mediaRecorder에서 녹음되는 오디오의 진폭을 확인합니다. 진폭이 미리 정의 된 임계 값을 초과하면 녹음을 일시 중지하고 Voice Recognition activity을 시작합니다. OnActivityResult에서 나는 다시 레코더를 다시 시작합니다.

if(mRecorder != null){ 
     int i= mRecorder.getMaxAmplitude(); // Getting amplitude 
     Log.d("AMPL : ", String.valueOf(i)); 

     if(i>20000){  // If amplitude is more than 20000 
      onRecord(false); //Stop recording before launching recognizer 
      Intent intent=new Intent(this,VoiceRecognizer.class); //Launch recognizer activity 
      startActivityForResult(intent, 12112); 
     } 

또는 : SO 게시 this에 언급 또한 RecognitionListener 인터페이스를 사용할 수 있습니다.

2

대부분의 음성 인식기에는 이미 시작 음성 및 종료 음성을 감지하는 엔드 폰이 있습니다. 엔드 포인터는 일반적으로 주변 잡음 레벨을 읽음으로써 무음에 대한 기준을 결정하고 신호 대 잡음비를 조정하려고합니다. 그러나 입력 노이즈 레벨이 변경되면 최종 포인터의 시작 음이 트리거 될 수 있습니다. 민감한 마이크를 항상 들으면, 엔드 폰은 또한 당신 대신에 당신 옆에있는 누군가를 픽업 할 수 있습니다.

이와 같이 말하기를 원하면 음성 단추를 사용하는 것이 좋습니다. 인식기가 항상 듣기를 시도하는 것은 아마도 당신이 원하는 것이 아니거나 연구자에게 맡겨야합니다.