문제 해결
일반적인 질문
Q. 음성 인식 정확도가 원하는 대로 나오지 않는데 어떻게 해야 하나요?
다음 사항을 확인해 주십시오. 결과 처리의 클라이언트 오류도 참조하십시오. 개선되지 않는 경우 문의해 주십시오.
-
음성 데이터의 채널 수 확인
스테레오 녹음의 경우 첫 번째 채널의 음성만 인식합니다. 양쪽 채널의 음성을 인식하려면 분리된 음성 파일을 각각 전송해 주십시오.
-
음성 데이터의 샘플링 레이트 확인
통화 음성의 경우 주로 8kHz로 녹음되며, 그 외에 널리 사용되는 음성은 16kHz 이상입니다. 会話_汎用(대화 범용) 엔진의 경우 각 샘플링 레이트에 대응하고 있지만, 연결되는 엔진이 다르기 때문에 요청 시 올바른 샘플링 레이트를 명시해야 합니다. ※ 샘플링 레이트 지정이 잘못되면 거의 인식되지 않습니다(인식 결과가 비어 있게 됩니다).
-
음성 포맷 지정의 엔디안 확인
헤더 없는 음성 데이터(RAW 데이터)를 전송하는 경우 샘플링 레이트 외에도 엔디안을 지정해야 합니다. 리틀 엔디안 데이터는 lsb, 빅 엔디안 데이터는 msb를 붙입니다(
lsb8K
,msb16K
등).※ lsb나 msb 지정이 반대로 되어 있으면 거의 인식되지 않습니다(인식 결과가 비어 있게 됩니다).
-
인식 대상 음성이 녹음되어 있는지 확인
주변 환경이나 녹음에 사용되는 마이크 장치 등의 영향을 받으므로 발화자의 음성이 확실히 들리는 수준으로 녹음되어 있는지 들어보고 확인하십시오.
-
발화 내용이 사용하는 엔진과 일치하는지 확인
전문 용어가 자주 사용되는 음성은 인식 정확도가 떨어집니다. 의료, 금융, 보험 업계용 영 역 특화 엔진을 준비하고 있습니다. 발화 내용이 일치할 것 같은 경우 해당 엔진을 사용해 보십시오. 자세한 내용은 음성 인식 엔진을 참조하십시오. 사내에서만 사용되는 고유 용어나 약어 등을 인식하고 싶은 경우 단어 등록 기능을 활용해 주십시오.
Q. 동영상 파일, HLS 등의 스트리밍 형식의 동영상・음성의 음성 인식은 할 수 없나요?
스트리밍 배포 동영상이나 음성을 음성 인식하기 위한 API나 샘플 프로그램은 제공하지 않습니다. 지원하지 않는 데이터 포맷의 경우, 지원하는 음성 포맷으로 변환해야 합니다.
음성 포맷을 변환하는 소프트웨어로는 프리웨어인 FFmpeg 등이 있습니다. 단, 동영상・음성 포맷에 따라 포맷 자체에 라이선스로 사용법의 제한이나 로열티 발생 여부 등이 있을 수 있습니다. 고객님의 책임 하에 확인하고 사용해 주시기 바랍니다.
동영상이나 음성을 재생하면서 음성 인식을 하고 싶은 경우, JavaScript 샘플 프로그램의 getUserMedia()
를 getDisplayMedia()
로 변경하면 마이크 입력 소리 대신 브라우저나 시스템 소리를 인식할 수 있으므로 이 방법도 검토해 보시기 바랍니다.
(예) wrp.js
변경 전
navigator.mediaDevices.getUserMedia(
{audio: true, video: false}
변경 후
navigator.mediaDevices.getDisplayMedia(
{audio: true, video: true}
※ getDisplayMedia()
의 audio는 모든 브라우저가 지원하는 것은 아닙니다. Chrome과 Edge에서 동작하는 것을 확인했습니다.
마이페이지 관련 질문
Q. 클라이언트 애플리케이션별 사용량을 알 수 있나요?
클라이언트 애플리케이션별 사용량을 알려면 클라이언트 애플리케이션별로 계정을 분리해야 합니다. 계정을 분리해야 하는 경우 "서비스 제공자용 고객 관리 기능" 사용도 검토해 보십시오.
"서비스 제공자용 고객 관리 기능"을 검토하시는 경우, 자세한 내용은 문의 양식을 통해 문의해 주십시오.
Q. 단어 등록 페이지에서 파일로 단어를 등록했는데 페이지에 표시되지 않는 이유는 무엇인가요?
파일의 문자 코드가 UTF-8이 아니거나 파일 형식이 올바르지 않아 등록되지 않았을 가 능성이 있습니다. 파일의 문자 코드와 형식을 확인해 주십시오.
클라이언트 라이브러리 관련 질문
Q. 음성 인식 서버에 연결 중 인터넷이 끊겼다가 복구된 후에는 어떻게 재개 처리를 해야 하나요?
새로 소켓을 생성해도 문제는 없지만, 종료 처리를 하고 재연결하는 것을 권장합니다.
클라이언트 라이브러리의 경우 wrp.disconnect()
후 다시 wrp.connect()
부터 시작하면 재연결할 수 있습니다.
(예)
wrp.construct();
wrp.connect();
wrp.feedDataResume();
wrp.feedData();
wrp.feedData();
wrp.feedData();
--> 오류 발생
wrp.disconnect();
wrp.connect();
wrp.feedDataResume();
wrp.feedData();
wrp.feedData();
wrp.feedData();
wrp.feedDataPuse();
Q. Android 애플리케이션에서 서버 연결에 실패하는 이유는 무엇인가요?
Android에서는 메인 스레드(UI 스레드)에서 서버에 연결할 수 없습니다. 별도의 스레드에서 수행해 주십시오. 또한 네트워크 작업을 수행하기 위한 권한 설정(android.permission.INTERNET)이 필요합니다.