음성 API를 이용한 어플을 개발하는 학생 개발자입니다.
고립어(단어)의 인식을 위해 API의 서비스타입을 ServiceRecognizerClient.SERVICE_TYPE_WORD 로 설정을 하였는데,
이 타입으로 서비스를 설정할 경우, 사용자정의사전(userdic)에 있는 단어만 출력이 된다고 알고 있습니다.
그러나, 실제 구현 결과(onResult()에서 출력하는 결과)는 그 외의 단어들을 인식하고 출력합니다.
혹시 사용자정의사전에 대한 설정이 잘 못 된 것인지, 아니면 결과를 출력하는 부분이 잘못 된 것인지 알고싶습니다.
또한 제가 추가적으로 설정을 해주어야 할 부분에 대해서도 알고싶습니다.
아래는 제 코드 입니다.
public SpeechRecognizerClient.Builder startUsingSpeechSDK() {
// SDK 초기화
SpeechRecognizerManager.getInstance().initializeLibrary(this);
// 클라이언트 생성
return new SpeechRecognizerClient.Builder().
setServiceType(SpeechRecognizerClient.SERVICE_TYPE_WORD).
setUserDictionary("다음\n카카오\n음성인식"); // optional
}
@Override
public void onResults(Bundle results) {
ArrayList<String> result = results.getStringArrayList(SpeechRecognizerClient.KEY_RECOGNITION_RESULTS);
Log.d("SPEECH", "onResult : " + result.get(0));
}